File Coverage

lib/Java/Javap/Grammar.pm
Criterion Covered Total %
statement 270 4617 5.8
branch 0 2636 0.0
condition 0 967 0.0
subroutine 90 200 45.0
pod 0 1 0.0
total 360 8421 4.2


line stmt bran cond sub pod time code
1             package Java::Javap::Grammar;
2 4     4   22707 use Parse::RecDescent;
  4         246143  
  4         45  
3              
4             { my $ERRORS;
5              
6              
7             package Parse::RecDescent::Java::Javap::Grammar;
8 4     4   290 use strict;
  4         9  
  4         120  
9 4     4   18 use vars qw($skip $AUTOLOAD );
  4         9  
  4         375  
10             @Parse::RecDescent::Java::Javap::Grammar::ISA = ();
11             $skip = '\s*';
12              
13             my %methods;
14             my $constructors;
15             ;
16              
17              
18             {
19             local $SIG{__WARN__} = sub {0};
20             # PRETEND TO BE IN Parse::RecDescent NAMESPACE
21             *Parse::RecDescent::Java::Javap::Grammar::AUTOLOAD = sub
22             {
23 4     4   21 no strict 'refs';
  4         9  
  4         372  
24 0     0     $AUTOLOAD =~ s/^Parse::RecDescent::Java::Javap::Grammar/Parse::RecDescent/;
25 0           goto &{$AUTOLOAD};
  0            
26             }
27             }
28              
29             push @Parse::RecDescent::Java::Javap::Grammar::ISA, 'Parse::RecDescent';
30             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
31             sub Parse::RecDescent::Java::Javap::Grammar::arg
32             {
33 0     0     my $thisparser = $_[0];
34 4     4   17 use vars q{$tracelevel};
  4         5  
  4         1374  
35 0   0       local $tracelevel = ($tracelevel||0)+1;
36 0           $ERRORS = 0;
37 0           my $thisrule = $thisparser->{"rules"}{"arg"};
38            
39 0 0         Parse::RecDescent::_trace(q{Trying rule: [arg]},
40             Parse::RecDescent::_tracefirst($_[1]),
41             q{arg},
42             $tracelevel)
43             if defined $::RD_TRACE;
44              
45            
46 0           my $err_at = @{$thisparser->{errors}};
  0            
47              
48 0           my $score;
49             my $score_return;
50 0           my $_tok;
51 0           my $return = undef;
52 0           my $_matched=0;
53 0           my $commit=0;
54 0           my @item = ();
55 0           my %item = ();
56 0   0       my $repeating = defined($_[2]) && $_[2];
57 0   0       my $_noactions = defined($_[3]) && $_[3];
58 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
59 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
60 0           my $text;
61 0           my $lastsep="";
62 0           my $current_match;
63 0           my $expectation = new Parse::RecDescent::Expectation(q{qualified_name});
64 0           $expectation->at($_[1]);
65            
66 0           my $thisline;
67 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
68              
69            
70              
71 0   0       while (!$_matched && !$commit)
72             {
73            
74 0 0         Parse::RecDescent::_trace(q{Trying production: [qualified_name array_depth]},
75             Parse::RecDescent::_tracefirst($_[1]),
76             q{arg},
77             $tracelevel)
78             if defined $::RD_TRACE;
79 0           my $thisprod = $thisrule->{"prods"}[0];
80 0           $text = $_[1];
81 0           my $_savetext;
82 0           @item = (q{arg});
83 0           %item = (__RULE__ => q{arg});
84 0           my $repcount = 0;
85              
86              
87 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
88             Parse::RecDescent::_tracefirst($text),
89             q{arg},
90             $tracelevel)
91             if defined $::RD_TRACE;
92 4     4   20 if (1) { no strict qw{refs};
  4         6  
  4         857  
  0            
93 0           $expectation->is(q{})->at($text);
94 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
95             {
96            
97 0 0         Parse::RecDescent::_trace(q{<>},
98             Parse::RecDescent::_tracefirst($text),
99             q{arg},
100             $tracelevel)
101             if defined $::RD_TRACE;
102 0           $expectation->failed();
103 0           last;
104             }
105 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
106             . $_tok . q{]},
107            
108             Parse::RecDescent::_tracefirst($text),
109             q{arg},
110             $tracelevel)
111             if defined $::RD_TRACE;
112 0           $item{q{qualified_name}} = $_tok;
113 0           push @item, $_tok;
114            
115             }
116              
117 0 0         Parse::RecDescent::_trace(q{Trying subrule: [array_depth]},
118             Parse::RecDescent::_tracefirst($text),
119             q{arg},
120             $tracelevel)
121             if defined $::RD_TRACE;
122 4     4   19 if (1) { no strict qw{refs};
  4         5  
  4         2489  
  0            
123 0           $expectation->is(q{array_depth})->at($text);
124 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::array_depth($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
125             {
126            
127 0 0         Parse::RecDescent::_trace(q{<>},
128             Parse::RecDescent::_tracefirst($text),
129             q{arg},
130             $tracelevel)
131             if defined $::RD_TRACE;
132 0           $expectation->failed();
133 0           last;
134             }
135 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [array_depth]<< (return value: [}
136             . $_tok . q{]},
137            
138             Parse::RecDescent::_tracefirst($text),
139             q{arg},
140             $tracelevel)
141             if defined $::RD_TRACE;
142 0           $item{q{array_depth}} = $_tok;
143 0           push @item, $_tok;
144            
145             }
146              
147 0 0         Parse::RecDescent::_trace(q{Trying action},
148             Parse::RecDescent::_tracefirst($text),
149             q{arg},
150             $tracelevel)
151             if defined $::RD_TRACE;
152            
153              
154 0 0         $_tok = ($_noactions) ? 0 : do {
155 0           my $array_text = '';
156 0           foreach my $i ( 1 .. $item[2] ) {
157 0           $array_text .= 'Array of ';
158             }
159             [
160             {
161 0           name => $item[1],
162             array_depth => $item[2],
163             array_text => $array_text,
164             }
165             ]
166             };
167 0 0         unless (defined $_tok)
168             {
169 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
170             if defined $::RD_TRACE;
171 0           last;
172             }
173 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
174             . $_tok . q{])},
175             Parse::RecDescent::_tracefirst($text))
176             if defined $::RD_TRACE;
177 0           push @item, $_tok;
178 0           $item{__ACTION1__}=$_tok;
179            
180              
181              
182 0 0         Parse::RecDescent::_trace(q{>>Matched production: [qualified_name array_depth]<<},
183             Parse::RecDescent::_tracefirst($text),
184             q{arg},
185             $tracelevel)
186             if defined $::RD_TRACE;
187 0           $_matched = 1;
188 0           last;
189             }
190              
191              
192 0 0 0       unless ( $_matched || defined($score) )
193             {
194            
195              
196 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
197 0 0         Parse::RecDescent::_trace(q{<>},
198             Parse::RecDescent::_tracefirst($_[1]),
199             q{arg},
200             $tracelevel)
201             if defined $::RD_TRACE;
202 0           return undef;
203             }
204 0 0 0       if (!defined($return) && defined($score))
205             {
206 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
207             q{arg},
208             $tracelevel)
209             if defined $::RD_TRACE;
210 0           $return = $score_return;
211             }
212 0           splice @{$thisparser->{errors}}, $err_at;
  0            
213 0 0         $return = $item[$#item] unless defined $return;
214 0 0         if (defined $::RD_TRACE)
215             {
216 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
217             $return . q{])}, "",
218             q{arg},
219             $tracelevel);
220 0           Parse::RecDescent::_trace(q{(consumed: [} .
221             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
222             Parse::RecDescent::_tracefirst($text),
223             , q{arg},
224             $tracelevel)
225             }
226 0           $_[1] = $text;
227 0           return $return;
228             }
229              
230             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
231             sub Parse::RecDescent::Java::Javap::Grammar::verbose_method_code
232             {
233 0     0     my $thisparser = $_[0];
234 4     4   39 use vars q{$tracelevel};
  4         7  
  4         5066  
235 0   0       local $tracelevel = ($tracelevel||0)+1;
236 0           $ERRORS = 0;
237 0           my $thisrule = $thisparser->{"rules"}{"verbose_method_code"};
238            
239 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_method_code]},
240             Parse::RecDescent::_tracefirst($_[1]),
241             q{verbose_method_code},
242             $tracelevel)
243             if defined $::RD_TRACE;
244              
245            
246 0           my $err_at = @{$thisparser->{errors}};
  0            
247              
248 0           my $score;
249             my $score_return;
250 0           my $_tok;
251 0           my $return = undef;
252 0           my $_matched=0;
253 0           my $commit=0;
254 0           my @item = ();
255 0           my %item = ();
256 0   0       my $repeating = defined($_[2]) && $_[2];
257 0   0       my $_noactions = defined($_[3]) && $_[3];
258 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
259 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
260 0           my $text;
261 0           my $lastsep="";
262 0           my $current_match;
263 0           my $expectation = new Parse::RecDescent::Expectation(q{'Code:'});
264 0           $expectation->at($_[1]);
265            
266 0           my $thisline;
267 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
268              
269            
270              
271 0   0       while (!$_matched && !$commit)
272             {
273            
274 0 0         Parse::RecDescent::_trace(q{Trying production: ['Code:' /Stack.*=\\d+/ byte_code_line]},
275             Parse::RecDescent::_tracefirst($_[1]),
276             q{verbose_method_code},
277             $tracelevel)
278             if defined $::RD_TRACE;
279 0           my $thisprod = $thisrule->{"prods"}[0];
280 0           $text = $_[1];
281 0           my $_savetext;
282 0           @item = (q{verbose_method_code});
283 0           %item = (__RULE__ => q{verbose_method_code});
284 0           my $repcount = 0;
285              
286              
287 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['Code:']},
288             Parse::RecDescent::_tracefirst($text),
289             q{verbose_method_code},
290             $tracelevel)
291             if defined $::RD_TRACE;
292 0           $lastsep = "";
293 0           $expectation->is(q{})->at($text);
294            
295              
296 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\ACode\:/)
  0 0          
297             {
298            
299 0           $expectation->failed();
300 0 0         Parse::RecDescent::_trace(qq{<>},
301             Parse::RecDescent::_tracefirst($text))
302             if defined $::RD_TRACE;
303 0           last;
304             }
305 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
306 0           substr($text,0,length($current_match),q{});
307 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
308             . $current_match . q{])},
309             Parse::RecDescent::_tracefirst($text))
310             if defined $::RD_TRACE;
311 0           push @item, $item{__STRING1__}=$current_match;
312            
313              
314 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/Stack.*=\\d+/]}, Parse::RecDescent::_tracefirst($text),
315             q{verbose_method_code},
316             $tracelevel)
317             if defined $::RD_TRACE;
318 0           $lastsep = "";
319 0           $expectation->is(q{/Stack.*=\\d+/})->at($text);
320            
321              
322 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:Stack.*=\d+)/)
  0 0          
323             {
324            
325 0           $expectation->failed();
326 0 0         Parse::RecDescent::_trace(q{<>},
327             Parse::RecDescent::_tracefirst($text))
328             if defined $::RD_TRACE;
329              
330 0           last;
331             }
332 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
333 0           substr($text,0,length($current_match),q{});
334 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
335             . $current_match . q{])},
336             Parse::RecDescent::_tracefirst($text))
337             if defined $::RD_TRACE;
338 0           push @item, $item{__PATTERN1__}=$current_match;
339            
340              
341 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [byte_code_line]},
342             Parse::RecDescent::_tracefirst($text),
343             q{verbose_method_code},
344             $tracelevel)
345             if defined $::RD_TRACE;
346 0           $expectation->is(q{byte_code_line})->at($text);
347            
348 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::byte_code_line, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
349             {
350 0 0         Parse::RecDescent::_trace(q{<>},
351             Parse::RecDescent::_tracefirst($text),
352             q{verbose_method_code},
353             $tracelevel)
354             if defined $::RD_TRACE;
355 0           last;
356             }
357 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [byte_code_line]<< (}
358             . @$_tok . q{ times)},
359            
360             Parse::RecDescent::_tracefirst($text),
361             q{verbose_method_code},
362             $tracelevel)
363             if defined $::RD_TRACE;
364 0           $item{q{byte_code_line(s?)}} = $_tok;
365 0           push @item, $_tok;
366            
367              
368              
369              
370 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['Code:' /Stack.*=\\d+/ byte_code_line]<<},
371             Parse::RecDescent::_tracefirst($text),
372             q{verbose_method_code},
373             $tracelevel)
374             if defined $::RD_TRACE;
375 0           $_matched = 1;
376 0           last;
377             }
378              
379              
380 0 0 0       unless ( $_matched || defined($score) )
381             {
382            
383              
384 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
385 0 0         Parse::RecDescent::_trace(q{<>},
386             Parse::RecDescent::_tracefirst($_[1]),
387             q{verbose_method_code},
388             $tracelevel)
389             if defined $::RD_TRACE;
390 0           return undef;
391             }
392 0 0 0       if (!defined($return) && defined($score))
393             {
394 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
395             q{verbose_method_code},
396             $tracelevel)
397             if defined $::RD_TRACE;
398 0           $return = $score_return;
399             }
400 0           splice @{$thisparser->{errors}}, $err_at;
  0            
401 0 0         $return = $item[$#item] unless defined $return;
402 0 0         if (defined $::RD_TRACE)
403             {
404 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
405             $return . q{])}, "",
406             q{verbose_method_code},
407             $tracelevel);
408 0           Parse::RecDescent::_trace(q{(consumed: [} .
409             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
410             Parse::RecDescent::_tracefirst($text),
411             , q{verbose_method_code},
412             $tracelevel)
413             }
414 0           $_[1] = $text;
415 0           return $return;
416             }
417              
418             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
419             sub Parse::RecDescent::Java::Javap::Grammar::var_modifier
420             {
421 0     0     my $thisparser = $_[0];
422 4     4   26 use vars q{$tracelevel};
  4         7  
  4         6085  
423 0   0       local $tracelevel = ($tracelevel||0)+1;
424 0           $ERRORS = 0;
425 0           my $thisrule = $thisparser->{"rules"}{"var_modifier"};
426            
427 0 0         Parse::RecDescent::_trace(q{Trying rule: [var_modifier]},
428             Parse::RecDescent::_tracefirst($_[1]),
429             q{var_modifier},
430             $tracelevel)
431             if defined $::RD_TRACE;
432              
433            
434 0           my $err_at = @{$thisparser->{errors}};
  0            
435              
436 0           my $score;
437             my $score_return;
438 0           my $_tok;
439 0           my $return = undef;
440 0           my $_matched=0;
441 0           my $commit=0;
442 0           my @item = ();
443 0           my %item = ();
444 0   0       my $repeating = defined($_[2]) && $_[2];
445 0   0       my $_noactions = defined($_[3]) && $_[3];
446 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
447 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
448 0           my $text;
449 0           my $lastsep="";
450 0           my $current_match;
451 0           my $expectation = new Parse::RecDescent::Expectation(q{'volatile', or 'final', or 'transient'});
452 0           $expectation->at($_[1]);
453            
454 0           my $thisline;
455 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
456              
457            
458              
459 0   0       while (!$_matched && !$commit)
460             {
461            
462 0 0         Parse::RecDescent::_trace(q{Trying production: ['volatile']},
463             Parse::RecDescent::_tracefirst($_[1]),
464             q{var_modifier},
465             $tracelevel)
466             if defined $::RD_TRACE;
467 0           my $thisprod = $thisrule->{"prods"}[0];
468 0           $text = $_[1];
469 0           my $_savetext;
470 0           @item = (q{var_modifier});
471 0           %item = (__RULE__ => q{var_modifier});
472 0           my $repcount = 0;
473              
474              
475 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['volatile']},
476             Parse::RecDescent::_tracefirst($text),
477             q{var_modifier},
478             $tracelevel)
479             if defined $::RD_TRACE;
480 0           $lastsep = "";
481 0           $expectation->is(q{})->at($text);
482            
483              
484 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Avolatile/)
  0 0          
485             {
486            
487 0           $expectation->failed();
488 0 0         Parse::RecDescent::_trace(qq{<>},
489             Parse::RecDescent::_tracefirst($text))
490             if defined $::RD_TRACE;
491 0           last;
492             }
493 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
494 0           substr($text,0,length($current_match),q{});
495 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
496             . $current_match . q{])},
497             Parse::RecDescent::_tracefirst($text))
498             if defined $::RD_TRACE;
499 0           push @item, $item{__STRING1__}=$current_match;
500            
501              
502              
503 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['volatile']<<},
504             Parse::RecDescent::_tracefirst($text),
505             q{var_modifier},
506             $tracelevel)
507             if defined $::RD_TRACE;
508 0           $_matched = 1;
509 0           last;
510             }
511              
512              
513 0   0       while (!$_matched && !$commit)
514             {
515            
516 0 0         Parse::RecDescent::_trace(q{Trying production: ['final']},
517             Parse::RecDescent::_tracefirst($_[1]),
518             q{var_modifier},
519             $tracelevel)
520             if defined $::RD_TRACE;
521 0           my $thisprod = $thisrule->{"prods"}[1];
522 0           $text = $_[1];
523 0           my $_savetext;
524 0           @item = (q{var_modifier});
525 0           %item = (__RULE__ => q{var_modifier});
526 0           my $repcount = 0;
527              
528              
529 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['final']},
530             Parse::RecDescent::_tracefirst($text),
531             q{var_modifier},
532             $tracelevel)
533             if defined $::RD_TRACE;
534 0           $lastsep = "";
535 0           $expectation->is(q{})->at($text);
536            
537              
538 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Afinal/)
  0 0          
539             {
540            
541 0           $expectation->failed();
542 0 0         Parse::RecDescent::_trace(qq{<>},
543             Parse::RecDescent::_tracefirst($text))
544             if defined $::RD_TRACE;
545 0           last;
546             }
547 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
548 0           substr($text,0,length($current_match),q{});
549 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
550             . $current_match . q{])},
551             Parse::RecDescent::_tracefirst($text))
552             if defined $::RD_TRACE;
553 0           push @item, $item{__STRING1__}=$current_match;
554            
555              
556              
557 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['final']<<},
558             Parse::RecDescent::_tracefirst($text),
559             q{var_modifier},
560             $tracelevel)
561             if defined $::RD_TRACE;
562 0           $_matched = 1;
563 0           last;
564             }
565              
566              
567 0   0       while (!$_matched && !$commit)
568             {
569            
570 0 0         Parse::RecDescent::_trace(q{Trying production: ['transient']},
571             Parse::RecDescent::_tracefirst($_[1]),
572             q{var_modifier},
573             $tracelevel)
574             if defined $::RD_TRACE;
575 0           my $thisprod = $thisrule->{"prods"}[2];
576 0           $text = $_[1];
577 0           my $_savetext;
578 0           @item = (q{var_modifier});
579 0           %item = (__RULE__ => q{var_modifier});
580 0           my $repcount = 0;
581              
582              
583 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['transient']},
584             Parse::RecDescent::_tracefirst($text),
585             q{var_modifier},
586             $tracelevel)
587             if defined $::RD_TRACE;
588 0           $lastsep = "";
589 0           $expectation->is(q{})->at($text);
590            
591              
592 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atransient/)
  0 0          
593             {
594            
595 0           $expectation->failed();
596 0 0         Parse::RecDescent::_trace(qq{<>},
597             Parse::RecDescent::_tracefirst($text))
598             if defined $::RD_TRACE;
599 0           last;
600             }
601 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
602 0           substr($text,0,length($current_match),q{});
603 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
604             . $current_match . q{])},
605             Parse::RecDescent::_tracefirst($text))
606             if defined $::RD_TRACE;
607 0           push @item, $item{__STRING1__}=$current_match;
608            
609              
610              
611 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['transient']<<},
612             Parse::RecDescent::_tracefirst($text),
613             q{var_modifier},
614             $tracelevel)
615             if defined $::RD_TRACE;
616 0           $_matched = 1;
617 0           last;
618             }
619              
620              
621 0 0 0       unless ( $_matched || defined($score) )
622             {
623            
624              
625 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
626 0 0         Parse::RecDescent::_trace(q{<>},
627             Parse::RecDescent::_tracefirst($_[1]),
628             q{var_modifier},
629             $tracelevel)
630             if defined $::RD_TRACE;
631 0           return undef;
632             }
633 0 0 0       if (!defined($return) && defined($score))
634             {
635 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
636             q{var_modifier},
637             $tracelevel)
638             if defined $::RD_TRACE;
639 0           $return = $score_return;
640             }
641 0           splice @{$thisparser->{errors}}, $err_at;
  0            
642 0 0         $return = $item[$#item] unless defined $return;
643 0 0         if (defined $::RD_TRACE)
644             {
645 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
646             $return . q{])}, "",
647             q{var_modifier},
648             $tracelevel);
649 0           Parse::RecDescent::_trace(q{(consumed: [} .
650             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
651             Parse::RecDescent::_tracefirst($text),
652             , q{var_modifier},
653             $tracelevel)
654             }
655 0           $_[1] = $text;
656 0           return $return;
657             }
658              
659             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
660             sub Parse::RecDescent::Java::Javap::Grammar::comp_unit_decl
661             {
662 0     0     my $thisparser = $_[0];
663 4     4   27 use vars q{$tracelevel};
  4         8  
  4         1528  
664 0   0       local $tracelevel = ($tracelevel||0)+1;
665 0           $ERRORS = 0;
666 0           my $thisrule = $thisparser->{"rules"}{"comp_unit_decl"};
667            
668 0 0         Parse::RecDescent::_trace(q{Trying rule: [comp_unit_decl]},
669             Parse::RecDescent::_tracefirst($_[1]),
670             q{comp_unit_decl},
671             $tracelevel)
672             if defined $::RD_TRACE;
673              
674            
675 0           my $err_at = @{$thisparser->{errors}};
  0            
676              
677 0           my $score;
678             my $score_return;
679 0           my $_tok;
680 0           my $return = undef;
681 0           my $_matched=0;
682 0           my $commit=0;
683 0           my @item = ();
684 0           my %item = ();
685 0   0       my $repeating = defined($_[2]) && $_[2];
686 0   0       my $_noactions = defined($_[3]) && $_[3];
687 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
688 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
689 0           my $text;
690 0           my $lastsep="";
691 0           my $current_match;
692 0           my $expectation = new Parse::RecDescent::Expectation(q{ACCESS});
693 0           $expectation->at($_[1]);
694            
695 0           my $thisline;
696 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
697              
698            
699              
700 0   0       while (!$_matched && !$commit)
701             {
702            
703 0 0         Parse::RecDescent::_trace(q{Trying production: [ACCESS class_qualifier CLASS_OR_INTERFACE qualified_name extends_clause implements_clause verbose_class_details]},
704             Parse::RecDescent::_tracefirst($_[1]),
705             q{comp_unit_decl},
706             $tracelevel)
707             if defined $::RD_TRACE;
708 0           my $thisprod = $thisrule->{"prods"}[0];
709 0           $text = $_[1];
710 0           my $_savetext;
711 0           @item = (q{comp_unit_decl});
712 0           %item = (__RULE__ => q{comp_unit_decl});
713 0           my $repcount = 0;
714              
715              
716 0 0         Parse::RecDescent::_trace(q{Trying subrule: [ACCESS]},
717             Parse::RecDescent::_tracefirst($text),
718             q{comp_unit_decl},
719             $tracelevel)
720             if defined $::RD_TRACE;
721 4     4   22 if (1) { no strict qw{refs};
  4         9  
  4         1463  
  0            
722 0           $expectation->is(q{})->at($text);
723 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::ACCESS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
724             {
725            
726 0 0         Parse::RecDescent::_trace(q{<>},
727             Parse::RecDescent::_tracefirst($text),
728             q{comp_unit_decl},
729             $tracelevel)
730             if defined $::RD_TRACE;
731 0           $expectation->failed();
732 0           last;
733             }
734 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [ACCESS]<< (return value: [}
735             . $_tok . q{]},
736            
737             Parse::RecDescent::_tracefirst($text),
738             q{comp_unit_decl},
739             $tracelevel)
740             if defined $::RD_TRACE;
741 0           $item{q{ACCESS}} = $_tok;
742 0           push @item, $_tok;
743            
744             }
745              
746 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [class_qualifier]},
747             Parse::RecDescent::_tracefirst($text),
748             q{comp_unit_decl},
749             $tracelevel)
750             if defined $::RD_TRACE;
751 0           $expectation->is(q{class_qualifier})->at($text);
752            
753 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::class_qualifier, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
754             {
755 0 0         Parse::RecDescent::_trace(q{<>},
756             Parse::RecDescent::_tracefirst($text),
757             q{comp_unit_decl},
758             $tracelevel)
759             if defined $::RD_TRACE;
760 0           last;
761             }
762 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [class_qualifier]<< (}
763             . @$_tok . q{ times)},
764            
765             Parse::RecDescent::_tracefirst($text),
766             q{comp_unit_decl},
767             $tracelevel)
768             if defined $::RD_TRACE;
769 0           $item{q{class_qualifier(s?)}} = $_tok;
770 0           push @item, $_tok;
771            
772              
773              
774 0 0         Parse::RecDescent::_trace(q{Trying subrule: [CLASS_OR_INTERFACE]},
775             Parse::RecDescent::_tracefirst($text),
776             q{comp_unit_decl},
777             $tracelevel)
778             if defined $::RD_TRACE;
779 4     4   19 if (1) { no strict qw{refs};
  4         9  
  4         789  
  0            
780 0           $expectation->is(q{CLASS_OR_INTERFACE})->at($text);
781 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::CLASS_OR_INTERFACE($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
782             {
783            
784 0 0         Parse::RecDescent::_trace(q{<>},
785             Parse::RecDescent::_tracefirst($text),
786             q{comp_unit_decl},
787             $tracelevel)
788             if defined $::RD_TRACE;
789 0           $expectation->failed();
790 0           last;
791             }
792 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [CLASS_OR_INTERFACE]<< (return value: [}
793             . $_tok . q{]},
794            
795             Parse::RecDescent::_tracefirst($text),
796             q{comp_unit_decl},
797             $tracelevel)
798             if defined $::RD_TRACE;
799 0           $item{q{CLASS_OR_INTERFACE}} = $_tok;
800 0           push @item, $_tok;
801            
802             }
803              
804 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
805             Parse::RecDescent::_tracefirst($text),
806             q{comp_unit_decl},
807             $tracelevel)
808             if defined $::RD_TRACE;
809 4     4   21 if (1) { no strict qw{refs};
  4         14  
  4         5523  
  0            
810 0           $expectation->is(q{qualified_name})->at($text);
811 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
812             {
813            
814 0 0         Parse::RecDescent::_trace(q{<>},
815             Parse::RecDescent::_tracefirst($text),
816             q{comp_unit_decl},
817             $tracelevel)
818             if defined $::RD_TRACE;
819 0           $expectation->failed();
820 0           last;
821             }
822 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
823             . $_tok . q{]},
824            
825             Parse::RecDescent::_tracefirst($text),
826             q{comp_unit_decl},
827             $tracelevel)
828             if defined $::RD_TRACE;
829 0           $item{q{qualified_name}} = $_tok;
830 0           push @item, $_tok;
831            
832             }
833              
834 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [extends_clause]},
835             Parse::RecDescent::_tracefirst($text),
836             q{comp_unit_decl},
837             $tracelevel)
838             if defined $::RD_TRACE;
839 0           $expectation->is(q{extends_clause})->at($text);
840            
841 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::extends_clause, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
842             {
843 0 0         Parse::RecDescent::_trace(q{<>},
844             Parse::RecDescent::_tracefirst($text),
845             q{comp_unit_decl},
846             $tracelevel)
847             if defined $::RD_TRACE;
848 0           last;
849             }
850 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [extends_clause]<< (}
851             . @$_tok . q{ times)},
852            
853             Parse::RecDescent::_tracefirst($text),
854             q{comp_unit_decl},
855             $tracelevel)
856             if defined $::RD_TRACE;
857 0           $item{q{extends_clause(?)}} = $_tok;
858 0           push @item, $_tok;
859            
860              
861              
862 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [implements_clause]},
863             Parse::RecDescent::_tracefirst($text),
864             q{comp_unit_decl},
865             $tracelevel)
866             if defined $::RD_TRACE;
867 0           $expectation->is(q{implements_clause})->at($text);
868            
869 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::implements_clause, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
870             {
871 0 0         Parse::RecDescent::_trace(q{<>},
872             Parse::RecDescent::_tracefirst($text),
873             q{comp_unit_decl},
874             $tracelevel)
875             if defined $::RD_TRACE;
876 0           last;
877             }
878 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [implements_clause]<< (}
879             . @$_tok . q{ times)},
880            
881             Parse::RecDescent::_tracefirst($text),
882             q{comp_unit_decl},
883             $tracelevel)
884             if defined $::RD_TRACE;
885 0           $item{q{implements_clause(?)}} = $_tok;
886 0           push @item, $_tok;
887            
888              
889              
890 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [verbose_class_details]},
891             Parse::RecDescent::_tracefirst($text),
892             q{comp_unit_decl},
893             $tracelevel)
894             if defined $::RD_TRACE;
895 0           $expectation->is(q{verbose_class_details})->at($text);
896            
897 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::verbose_class_details, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
898             {
899 0 0         Parse::RecDescent::_trace(q{<>},
900             Parse::RecDescent::_tracefirst($text),
901             q{comp_unit_decl},
902             $tracelevel)
903             if defined $::RD_TRACE;
904 0           last;
905             }
906 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [verbose_class_details]<< (}
907             . @$_tok . q{ times)},
908            
909             Parse::RecDescent::_tracefirst($text),
910             q{comp_unit_decl},
911             $tracelevel)
912             if defined $::RD_TRACE;
913 0           $item{q{verbose_class_details(?)}} = $_tok;
914 0           push @item, $_tok;
915            
916              
917              
918 0 0         Parse::RecDescent::_trace(q{Trying action},
919             Parse::RecDescent::_tracefirst($text),
920             q{comp_unit_decl},
921             $tracelevel)
922             if defined $::RD_TRACE;
923            
924              
925 0 0         $_tok = ($_noactions) ? 0 : do {
926 0           my $perl_qualified_name = $item{ qualified_name };
927 0           $perl_qualified_name =~ s/\./::/g;
928             {
929             access => $item{ ACCESS },
930             qualifiers => $item{ 'class_qualifier(s?)' },
931             class_or_interface => $item{ CLASS_OR_INTERFACE },
932             implements => $item{ 'implements_clause(?)' }[0],
933             parent => $item{ 'extends_clause(?)' }[0],
934             java_qualified_name => $item{ qualified_name },
935 0           perl_qualified_name => $perl_qualified_name,
936             }
937             };
938 0 0         unless (defined $_tok)
939             {
940 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
941             if defined $::RD_TRACE;
942 0           last;
943             }
944 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
945             . $_tok . q{])},
946             Parse::RecDescent::_tracefirst($text))
947             if defined $::RD_TRACE;
948 0           push @item, $_tok;
949 0           $item{__ACTION1__}=$_tok;
950            
951              
952              
953 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ACCESS class_qualifier CLASS_OR_INTERFACE qualified_name extends_clause implements_clause verbose_class_details]<<},
954             Parse::RecDescent::_tracefirst($text),
955             q{comp_unit_decl},
956             $tracelevel)
957             if defined $::RD_TRACE;
958 0           $_matched = 1;
959 0           last;
960             }
961              
962              
963 0 0 0       unless ( $_matched || defined($score) )
964             {
965            
966              
967 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
968 0 0         Parse::RecDescent::_trace(q{<>},
969             Parse::RecDescent::_tracefirst($_[1]),
970             q{comp_unit_decl},
971             $tracelevel)
972             if defined $::RD_TRACE;
973 0           return undef;
974             }
975 0 0 0       if (!defined($return) && defined($score))
976             {
977 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
978             q{comp_unit_decl},
979             $tracelevel)
980             if defined $::RD_TRACE;
981 0           $return = $score_return;
982             }
983 0           splice @{$thisparser->{errors}}, $err_at;
  0            
984 0 0         $return = $item[$#item] unless defined $return;
985 0 0         if (defined $::RD_TRACE)
986             {
987 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
988             $return . q{])}, "",
989             q{comp_unit_decl},
990             $tracelevel);
991 0           Parse::RecDescent::_trace(q{(consumed: [} .
992             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
993             Parse::RecDescent::_tracefirst($text),
994             , q{comp_unit_decl},
995             $tracelevel)
996             }
997 0           $_[1] = $text;
998 0           return $return;
999             }
1000              
1001             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1002             sub Parse::RecDescent::Java::Javap::Grammar::ACCESS
1003             {
1004 0     0     my $thisparser = $_[0];
1005 4     4   29 use vars q{$tracelevel};
  4         15  
  4         9299  
1006 0   0       local $tracelevel = ($tracelevel||0)+1;
1007 0           $ERRORS = 0;
1008 0           my $thisrule = $thisparser->{"rules"}{"ACCESS"};
1009            
1010 0 0         Parse::RecDescent::_trace(q{Trying rule: [ACCESS]},
1011             Parse::RecDescent::_tracefirst($_[1]),
1012             q{ACCESS},
1013             $tracelevel)
1014             if defined $::RD_TRACE;
1015              
1016            
1017 0           my $err_at = @{$thisparser->{errors}};
  0            
1018              
1019 0           my $score;
1020             my $score_return;
1021 0           my $_tok;
1022 0           my $return = undef;
1023 0           my $_matched=0;
1024 0           my $commit=0;
1025 0           my @item = ();
1026 0           my %item = ();
1027 0   0       my $repeating = defined($_[2]) && $_[2];
1028 0   0       my $_noactions = defined($_[3]) && $_[3];
1029 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1030 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1031 0           my $text;
1032 0           my $lastsep="";
1033 0           my $current_match;
1034 0           my $expectation = new Parse::RecDescent::Expectation(q{'public', or 'protected', or 'private'});
1035 0           $expectation->at($_[1]);
1036            
1037 0           my $thisline;
1038 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1039              
1040            
1041              
1042 0   0       while (!$_matched && !$commit)
1043             {
1044            
1045 0 0         Parse::RecDescent::_trace(q{Trying production: ['public']},
1046             Parse::RecDescent::_tracefirst($_[1]),
1047             q{ACCESS},
1048             $tracelevel)
1049             if defined $::RD_TRACE;
1050 0           my $thisprod = $thisrule->{"prods"}[0];
1051 0           $text = $_[1];
1052 0           my $_savetext;
1053 0           @item = (q{ACCESS});
1054 0           %item = (__RULE__ => q{ACCESS});
1055 0           my $repcount = 0;
1056              
1057              
1058 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['public']},
1059             Parse::RecDescent::_tracefirst($text),
1060             q{ACCESS},
1061             $tracelevel)
1062             if defined $::RD_TRACE;
1063 0           $lastsep = "";
1064 0           $expectation->is(q{})->at($text);
1065            
1066              
1067 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Apublic/)
  0 0          
1068             {
1069            
1070 0           $expectation->failed();
1071 0 0         Parse::RecDescent::_trace(qq{<>},
1072             Parse::RecDescent::_tracefirst($text))
1073             if defined $::RD_TRACE;
1074 0           last;
1075             }
1076 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1077 0           substr($text,0,length($current_match),q{});
1078 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1079             . $current_match . q{])},
1080             Parse::RecDescent::_tracefirst($text))
1081             if defined $::RD_TRACE;
1082 0           push @item, $item{__STRING1__}=$current_match;
1083            
1084              
1085 0 0         Parse::RecDescent::_trace(q{Trying action},
1086             Parse::RecDescent::_tracefirst($text),
1087             q{ACCESS},
1088             $tracelevel)
1089             if defined $::RD_TRACE;
1090            
1091              
1092 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
1093 0 0         unless (defined $_tok)
1094             {
1095 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1096             if defined $::RD_TRACE;
1097 0           last;
1098             }
1099 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1100             . $_tok . q{])},
1101             Parse::RecDescent::_tracefirst($text))
1102             if defined $::RD_TRACE;
1103 0           push @item, $_tok;
1104 0           $item{__ACTION1__}=$_tok;
1105            
1106              
1107              
1108 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['public']<<},
1109             Parse::RecDescent::_tracefirst($text),
1110             q{ACCESS},
1111             $tracelevel)
1112             if defined $::RD_TRACE;
1113 0           $_matched = 1;
1114 0           last;
1115             }
1116              
1117              
1118 0   0       while (!$_matched && !$commit)
1119             {
1120            
1121 0 0         Parse::RecDescent::_trace(q{Trying production: ['protected']},
1122             Parse::RecDescent::_tracefirst($_[1]),
1123             q{ACCESS},
1124             $tracelevel)
1125             if defined $::RD_TRACE;
1126 0           my $thisprod = $thisrule->{"prods"}[1];
1127 0           $text = $_[1];
1128 0           my $_savetext;
1129 0           @item = (q{ACCESS});
1130 0           %item = (__RULE__ => q{ACCESS});
1131 0           my $repcount = 0;
1132              
1133              
1134 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['protected']},
1135             Parse::RecDescent::_tracefirst($text),
1136             q{ACCESS},
1137             $tracelevel)
1138             if defined $::RD_TRACE;
1139 0           $lastsep = "";
1140 0           $expectation->is(q{})->at($text);
1141            
1142              
1143 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aprotected/)
  0 0          
1144             {
1145            
1146 0           $expectation->failed();
1147 0 0         Parse::RecDescent::_trace(qq{<>},
1148             Parse::RecDescent::_tracefirst($text))
1149             if defined $::RD_TRACE;
1150 0           last;
1151             }
1152 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1153 0           substr($text,0,length($current_match),q{});
1154 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1155             . $current_match . q{])},
1156             Parse::RecDescent::_tracefirst($text))
1157             if defined $::RD_TRACE;
1158 0           push @item, $item{__STRING1__}=$current_match;
1159            
1160              
1161 0 0         Parse::RecDescent::_trace(q{Trying action},
1162             Parse::RecDescent::_tracefirst($text),
1163             q{ACCESS},
1164             $tracelevel)
1165             if defined $::RD_TRACE;
1166            
1167              
1168 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
1169 0 0         unless (defined $_tok)
1170             {
1171 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1172             if defined $::RD_TRACE;
1173 0           last;
1174             }
1175 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1176             . $_tok . q{])},
1177             Parse::RecDescent::_tracefirst($text))
1178             if defined $::RD_TRACE;
1179 0           push @item, $_tok;
1180 0           $item{__ACTION1__}=$_tok;
1181            
1182              
1183              
1184 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['protected']<<},
1185             Parse::RecDescent::_tracefirst($text),
1186             q{ACCESS},
1187             $tracelevel)
1188             if defined $::RD_TRACE;
1189 0           $_matched = 1;
1190 0           last;
1191             }
1192              
1193              
1194 0   0       while (!$_matched && !$commit)
1195             {
1196            
1197 0 0         Parse::RecDescent::_trace(q{Trying production: ['private']},
1198             Parse::RecDescent::_tracefirst($_[1]),
1199             q{ACCESS},
1200             $tracelevel)
1201             if defined $::RD_TRACE;
1202 0           my $thisprod = $thisrule->{"prods"}[2];
1203 0           $text = $_[1];
1204 0           my $_savetext;
1205 0           @item = (q{ACCESS});
1206 0           %item = (__RULE__ => q{ACCESS});
1207 0           my $repcount = 0;
1208              
1209              
1210 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['private']},
1211             Parse::RecDescent::_tracefirst($text),
1212             q{ACCESS},
1213             $tracelevel)
1214             if defined $::RD_TRACE;
1215 0           $lastsep = "";
1216 0           $expectation->is(q{})->at($text);
1217            
1218              
1219 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aprivate/)
  0 0          
1220             {
1221            
1222 0           $expectation->failed();
1223 0 0         Parse::RecDescent::_trace(qq{<>},
1224             Parse::RecDescent::_tracefirst($text))
1225             if defined $::RD_TRACE;
1226 0           last;
1227             }
1228 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1229 0           substr($text,0,length($current_match),q{});
1230 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1231             . $current_match . q{])},
1232             Parse::RecDescent::_tracefirst($text))
1233             if defined $::RD_TRACE;
1234 0           push @item, $item{__STRING1__}=$current_match;
1235            
1236              
1237 0 0         Parse::RecDescent::_trace(q{Trying action},
1238             Parse::RecDescent::_tracefirst($text),
1239             q{ACCESS},
1240             $tracelevel)
1241             if defined $::RD_TRACE;
1242            
1243              
1244 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
1245 0 0         unless (defined $_tok)
1246             {
1247 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1248             if defined $::RD_TRACE;
1249 0           last;
1250             }
1251 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1252             . $_tok . q{])},
1253             Parse::RecDescent::_tracefirst($text))
1254             if defined $::RD_TRACE;
1255 0           push @item, $_tok;
1256 0           $item{__ACTION1__}=$_tok;
1257            
1258              
1259              
1260 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['private']<<},
1261             Parse::RecDescent::_tracefirst($text),
1262             q{ACCESS},
1263             $tracelevel)
1264             if defined $::RD_TRACE;
1265 0           $_matched = 1;
1266 0           last;
1267             }
1268              
1269              
1270 0   0       while (!$_matched && !$commit)
1271             {
1272            
1273 0 0         Parse::RecDescent::_trace(q{Trying production: []},
1274             Parse::RecDescent::_tracefirst($_[1]),
1275             q{ACCESS},
1276             $tracelevel)
1277             if defined $::RD_TRACE;
1278 0           my $thisprod = $thisrule->{"prods"}[3];
1279 0           $text = $_[1];
1280 0           my $_savetext;
1281 0           @item = (q{ACCESS});
1282 0           %item = (__RULE__ => q{ACCESS});
1283 0           my $repcount = 0;
1284              
1285              
1286 0 0         Parse::RecDescent::_trace(q{Trying action},
1287             Parse::RecDescent::_tracefirst($text),
1288             q{ACCESS},
1289             $tracelevel)
1290             if defined $::RD_TRACE;
1291            
1292              
1293 0 0         $_tok = ($_noactions) ? 0 : do { '' };
  0            
1294 0 0         unless (defined $_tok)
1295             {
1296 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1297             if defined $::RD_TRACE;
1298 0           last;
1299             }
1300 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1301             . $_tok . q{])},
1302             Parse::RecDescent::_tracefirst($text))
1303             if defined $::RD_TRACE;
1304 0           push @item, $_tok;
1305 0           $item{__ACTION1__}=$_tok;
1306            
1307              
1308              
1309 0 0         Parse::RecDescent::_trace(q{>>Matched production: []<<},
1310             Parse::RecDescent::_tracefirst($text),
1311             q{ACCESS},
1312             $tracelevel)
1313             if defined $::RD_TRACE;
1314 0           $_matched = 1;
1315 0           last;
1316             }
1317              
1318              
1319 0 0 0       unless ( $_matched || defined($score) )
1320             {
1321            
1322              
1323 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
1324 0 0         Parse::RecDescent::_trace(q{<>},
1325             Parse::RecDescent::_tracefirst($_[1]),
1326             q{ACCESS},
1327             $tracelevel)
1328             if defined $::RD_TRACE;
1329 0           return undef;
1330             }
1331 0 0 0       if (!defined($return) && defined($score))
1332             {
1333 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1334             q{ACCESS},
1335             $tracelevel)
1336             if defined $::RD_TRACE;
1337 0           $return = $score_return;
1338             }
1339 0           splice @{$thisparser->{errors}}, $err_at;
  0            
1340 0 0         $return = $item[$#item] unless defined $return;
1341 0 0         if (defined $::RD_TRACE)
1342             {
1343 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1344             $return . q{])}, "",
1345             q{ACCESS},
1346             $tracelevel);
1347 0           Parse::RecDescent::_trace(q{(consumed: [} .
1348             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1349             Parse::RecDescent::_tracefirst($text),
1350             , q{ACCESS},
1351             $tracelevel)
1352             }
1353 0           $_[1] = $text;
1354 0           return $return;
1355             }
1356              
1357             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1358             sub Parse::RecDescent::Java::Javap::Grammar::ARRAY_LEVEL
1359             {
1360 0     0     my $thisparser = $_[0];
1361 4     4   32 use vars q{$tracelevel};
  4         10  
  4         4296  
1362 0   0       local $tracelevel = ($tracelevel||0)+1;
1363 0           $ERRORS = 0;
1364 0           my $thisrule = $thisparser->{"rules"}{"ARRAY_LEVEL"};
1365            
1366 0 0         Parse::RecDescent::_trace(q{Trying rule: [ARRAY_LEVEL]},
1367             Parse::RecDescent::_tracefirst($_[1]),
1368             q{ARRAY_LEVEL},
1369             $tracelevel)
1370             if defined $::RD_TRACE;
1371              
1372            
1373 0           my $err_at = @{$thisparser->{errors}};
  0            
1374              
1375 0           my $score;
1376             my $score_return;
1377 0           my $_tok;
1378 0           my $return = undef;
1379 0           my $_matched=0;
1380 0           my $commit=0;
1381 0           my @item = ();
1382 0           my %item = ();
1383 0   0       my $repeating = defined($_[2]) && $_[2];
1384 0   0       my $_noactions = defined($_[3]) && $_[3];
1385 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1386 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1387 0           my $text;
1388 0           my $lastsep="";
1389 0           my $current_match;
1390 0           my $expectation = new Parse::RecDescent::Expectation(q{'[]'});
1391 0           $expectation->at($_[1]);
1392            
1393 0           my $thisline;
1394 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1395              
1396            
1397              
1398 0   0       while (!$_matched && !$commit)
1399             {
1400            
1401 0 0         Parse::RecDescent::_trace(q{Trying production: ['[]']},
1402             Parse::RecDescent::_tracefirst($_[1]),
1403             q{ARRAY_LEVEL},
1404             $tracelevel)
1405             if defined $::RD_TRACE;
1406 0           my $thisprod = $thisrule->{"prods"}[0];
1407 0           $text = $_[1];
1408 0           my $_savetext;
1409 0           @item = (q{ARRAY_LEVEL});
1410 0           %item = (__RULE__ => q{ARRAY_LEVEL});
1411 0           my $repcount = 0;
1412              
1413              
1414 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['[]']},
1415             Parse::RecDescent::_tracefirst($text),
1416             q{ARRAY_LEVEL},
1417             $tracelevel)
1418             if defined $::RD_TRACE;
1419 0           $lastsep = "";
1420 0           $expectation->is(q{})->at($text);
1421            
1422              
1423 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\]/)
  0 0          
1424             {
1425            
1426 0           $expectation->failed();
1427 0 0         Parse::RecDescent::_trace(qq{<>},
1428             Parse::RecDescent::_tracefirst($text))
1429             if defined $::RD_TRACE;
1430 0           last;
1431             }
1432 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1433 0           substr($text,0,length($current_match),q{});
1434 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1435             . $current_match . q{])},
1436             Parse::RecDescent::_tracefirst($text))
1437             if defined $::RD_TRACE;
1438 0           push @item, $item{__STRING1__}=$current_match;
1439            
1440              
1441 0 0         Parse::RecDescent::_trace(q{Trying action},
1442             Parse::RecDescent::_tracefirst($text),
1443             q{ARRAY_LEVEL},
1444             $tracelevel)
1445             if defined $::RD_TRACE;
1446            
1447              
1448 0 0         $_tok = ($_noactions) ? 0 : do { 1 };
  0            
1449 0 0         unless (defined $_tok)
1450             {
1451 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1452             if defined $::RD_TRACE;
1453 0           last;
1454             }
1455 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1456             . $_tok . q{])},
1457             Parse::RecDescent::_tracefirst($text))
1458             if defined $::RD_TRACE;
1459 0           push @item, $_tok;
1460 0           $item{__ACTION1__}=$_tok;
1461            
1462              
1463              
1464 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['[]']<<},
1465             Parse::RecDescent::_tracefirst($text),
1466             q{ARRAY_LEVEL},
1467             $tracelevel)
1468             if defined $::RD_TRACE;
1469 0           $_matched = 1;
1470 0           last;
1471             }
1472              
1473              
1474 0 0 0       unless ( $_matched || defined($score) )
1475             {
1476            
1477              
1478 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
1479 0 0         Parse::RecDescent::_trace(q{<>},
1480             Parse::RecDescent::_tracefirst($_[1]),
1481             q{ARRAY_LEVEL},
1482             $tracelevel)
1483             if defined $::RD_TRACE;
1484 0           return undef;
1485             }
1486 0 0 0       if (!defined($return) && defined($score))
1487             {
1488 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1489             q{ARRAY_LEVEL},
1490             $tracelevel)
1491             if defined $::RD_TRACE;
1492 0           $return = $score_return;
1493             }
1494 0           splice @{$thisparser->{errors}}, $err_at;
  0            
1495 0 0         $return = $item[$#item] unless defined $return;
1496 0 0         if (defined $::RD_TRACE)
1497             {
1498 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1499             $return . q{])}, "",
1500             q{ARRAY_LEVEL},
1501             $tracelevel);
1502 0           Parse::RecDescent::_trace(q{(consumed: [} .
1503             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1504             Parse::RecDescent::_tracefirst($text),
1505             , q{ARRAY_LEVEL},
1506             $tracelevel)
1507             }
1508 0           $_[1] = $text;
1509 0           return $return;
1510             }
1511              
1512             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1513             sub Parse::RecDescent::Java::Javap::Grammar::number_table_line
1514             {
1515 0     0     my $thisparser = $_[0];
1516 4     4   27 use vars q{$tracelevel};
  4         8  
  4         3881  
1517 0   0       local $tracelevel = ($tracelevel||0)+1;
1518 0           $ERRORS = 0;
1519 0           my $thisrule = $thisparser->{"rules"}{"number_table_line"};
1520            
1521 0 0         Parse::RecDescent::_trace(q{Trying rule: [number_table_line]},
1522             Parse::RecDescent::_tracefirst($_[1]),
1523             q{number_table_line},
1524             $tracelevel)
1525             if defined $::RD_TRACE;
1526              
1527            
1528 0           my $err_at = @{$thisparser->{errors}};
  0            
1529              
1530 0           my $score;
1531             my $score_return;
1532 0           my $_tok;
1533 0           my $return = undef;
1534 0           my $_matched=0;
1535 0           my $commit=0;
1536 0           my @item = ();
1537 0           my %item = ();
1538 0   0       my $repeating = defined($_[2]) && $_[2];
1539 0   0       my $_noactions = defined($_[3]) && $_[3];
1540 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1541 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1542 0           my $text;
1543 0           my $lastsep="";
1544 0           my $current_match;
1545 0           my $expectation = new Parse::RecDescent::Expectation(q{/line \\d+:[^\\n]*/});
1546 0           $expectation->at($_[1]);
1547            
1548 0           my $thisline;
1549 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1550              
1551            
1552              
1553 0   0       while (!$_matched && !$commit)
1554             {
1555            
1556 0 0         Parse::RecDescent::_trace(q{Trying production: [/line \\d+:[^\\n]*/]},
1557             Parse::RecDescent::_tracefirst($_[1]),
1558             q{number_table_line},
1559             $tracelevel)
1560             if defined $::RD_TRACE;
1561 0           my $thisprod = $thisrule->{"prods"}[0];
1562 0           $text = $_[1];
1563 0           my $_savetext;
1564 0           @item = (q{number_table_line});
1565 0           %item = (__RULE__ => q{number_table_line});
1566 0           my $repcount = 0;
1567              
1568              
1569 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/line \\d+:[^\\n]*/]}, Parse::RecDescent::_tracefirst($text),
1570             q{number_table_line},
1571             $tracelevel)
1572             if defined $::RD_TRACE;
1573 0           $lastsep = "";
1574 0           $expectation->is(q{})->at($text);
1575            
1576              
1577 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:line \d+:[^\n]*)/)
  0 0          
1578             {
1579            
1580 0           $expectation->failed();
1581 0 0         Parse::RecDescent::_trace(q{<>},
1582             Parse::RecDescent::_tracefirst($text))
1583             if defined $::RD_TRACE;
1584              
1585 0           last;
1586             }
1587 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1588 0           substr($text,0,length($current_match),q{});
1589 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1590             . $current_match . q{])},
1591             Parse::RecDescent::_tracefirst($text))
1592             if defined $::RD_TRACE;
1593 0           push @item, $item{__PATTERN1__}=$current_match;
1594            
1595              
1596              
1597 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/line \\d+:[^\\n]*/]<<},
1598             Parse::RecDescent::_tracefirst($text),
1599             q{number_table_line},
1600             $tracelevel)
1601             if defined $::RD_TRACE;
1602 0           $_matched = 1;
1603 0           last;
1604             }
1605              
1606              
1607 0 0 0       unless ( $_matched || defined($score) )
1608             {
1609            
1610              
1611 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
1612 0 0         Parse::RecDescent::_trace(q{<>},
1613             Parse::RecDescent::_tracefirst($_[1]),
1614             q{number_table_line},
1615             $tracelevel)
1616             if defined $::RD_TRACE;
1617 0           return undef;
1618             }
1619 0 0 0       if (!defined($return) && defined($score))
1620             {
1621 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1622             q{number_table_line},
1623             $tracelevel)
1624             if defined $::RD_TRACE;
1625 0           $return = $score_return;
1626             }
1627 0           splice @{$thisparser->{errors}}, $err_at;
  0            
1628 0 0         $return = $item[$#item] unless defined $return;
1629 0 0         if (defined $::RD_TRACE)
1630             {
1631 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1632             $return . q{])}, "",
1633             q{number_table_line},
1634             $tracelevel);
1635 0           Parse::RecDescent::_trace(q{(consumed: [} .
1636             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1637             Parse::RecDescent::_tracefirst($text),
1638             , q{number_table_line},
1639             $tracelevel)
1640             }
1641 0           $_[1] = $text;
1642 0           return $return;
1643             }
1644              
1645             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1646             sub Parse::RecDescent::Java::Javap::Grammar::signature_line
1647             {
1648 0     0     my $thisparser = $_[0];
1649 4     4   30 use vars q{$tracelevel};
  4         11  
  4         3637  
1650 0   0       local $tracelevel = ($tracelevel||0)+1;
1651 0           $ERRORS = 0;
1652 0           my $thisrule = $thisparser->{"rules"}{"signature_line"};
1653            
1654 0 0         Parse::RecDescent::_trace(q{Trying rule: [signature_line]},
1655             Parse::RecDescent::_tracefirst($_[1]),
1656             q{signature_line},
1657             $tracelevel)
1658             if defined $::RD_TRACE;
1659              
1660            
1661 0           my $err_at = @{$thisparser->{errors}};
  0            
1662              
1663 0           my $score;
1664             my $score_return;
1665 0           my $_tok;
1666 0           my $return = undef;
1667 0           my $_matched=0;
1668 0           my $commit=0;
1669 0           my @item = ();
1670 0           my %item = ();
1671 0   0       my $repeating = defined($_[2]) && $_[2];
1672 0   0       my $_noactions = defined($_[3]) && $_[3];
1673 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1674 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1675 0           my $text;
1676 0           my $lastsep="";
1677 0           my $current_match;
1678 0           my $expectation = new Parse::RecDescent::Expectation(q{/\\d\\d\\s+[A-F0-9 ]+/});
1679 0           $expectation->at($_[1]);
1680            
1681 0           my $thisline;
1682 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1683              
1684            
1685              
1686 0   0       while (!$_matched && !$commit)
1687             {
1688            
1689 0 0         Parse::RecDescent::_trace(q{Trying production: [/\\d\\d\\s+[A-F0-9 ]+/]},
1690             Parse::RecDescent::_tracefirst($_[1]),
1691             q{signature_line},
1692             $tracelevel)
1693             if defined $::RD_TRACE;
1694 0           my $thisprod = $thisrule->{"prods"}[0];
1695 0           $text = $_[1];
1696 0           my $_savetext;
1697 0           @item = (q{signature_line});
1698 0           %item = (__RULE__ => q{signature_line});
1699 0           my $repcount = 0;
1700              
1701              
1702 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/\\d\\d\\s+[A-F0-9 ]+/]}, Parse::RecDescent::_tracefirst($text),
1703             q{signature_line},
1704             $tracelevel)
1705             if defined $::RD_TRACE;
1706 0           $lastsep = "";
1707 0           $expectation->is(q{})->at($text);
1708            
1709              
1710 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\d\d\s+[A-F0-9 ]+)/)
  0 0          
1711             {
1712            
1713 0           $expectation->failed();
1714 0 0         Parse::RecDescent::_trace(q{<>},
1715             Parse::RecDescent::_tracefirst($text))
1716             if defined $::RD_TRACE;
1717              
1718 0           last;
1719             }
1720 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1721 0           substr($text,0,length($current_match),q{});
1722 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1723             . $current_match . q{])},
1724             Parse::RecDescent::_tracefirst($text))
1725             if defined $::RD_TRACE;
1726 0           push @item, $item{__PATTERN1__}=$current_match;
1727            
1728              
1729              
1730 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/\\d\\d\\s+[A-F0-9 ]+/]<<},
1731             Parse::RecDescent::_tracefirst($text),
1732             q{signature_line},
1733             $tracelevel)
1734             if defined $::RD_TRACE;
1735 0           $_matched = 1;
1736 0           last;
1737             }
1738              
1739              
1740 0 0 0       unless ( $_matched || defined($score) )
1741             {
1742            
1743              
1744 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
1745 0 0         Parse::RecDescent::_trace(q{<>},
1746             Parse::RecDescent::_tracefirst($_[1]),
1747             q{signature_line},
1748             $tracelevel)
1749             if defined $::RD_TRACE;
1750 0           return undef;
1751             }
1752 0 0 0       if (!defined($return) && defined($score))
1753             {
1754 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1755             q{signature_line},
1756             $tracelevel)
1757             if defined $::RD_TRACE;
1758 0           $return = $score_return;
1759             }
1760 0           splice @{$thisparser->{errors}}, $err_at;
  0            
1761 0 0         $return = $item[$#item] unless defined $return;
1762 0 0         if (defined $::RD_TRACE)
1763             {
1764 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1765             $return . q{])}, "",
1766             q{signature_line},
1767             $tracelevel);
1768 0           Parse::RecDescent::_trace(q{(consumed: [} .
1769             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1770             Parse::RecDescent::_tracefirst($text),
1771             , q{signature_line},
1772             $tracelevel)
1773             }
1774 0           $_[1] = $text;
1775 0           return $return;
1776             }
1777              
1778             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1779             sub Parse::RecDescent::Java::Javap::Grammar::throws_clause
1780             {
1781 0     0     my $thisparser = $_[0];
1782 4     4   27 use vars q{$tracelevel};
  4         8  
  4         2104  
1783 0   0       local $tracelevel = ($tracelevel||0)+1;
1784 0           $ERRORS = 0;
1785 0           my $thisrule = $thisparser->{"rules"}{"throws_clause"};
1786            
1787 0 0         Parse::RecDescent::_trace(q{Trying rule: [throws_clause]},
1788             Parse::RecDescent::_tracefirst($_[1]),
1789             q{throws_clause},
1790             $tracelevel)
1791             if defined $::RD_TRACE;
1792              
1793            
1794 0           my $err_at = @{$thisparser->{errors}};
  0            
1795              
1796 0           my $score;
1797             my $score_return;
1798 0           my $_tok;
1799 0           my $return = undef;
1800 0           my $_matched=0;
1801 0           my $commit=0;
1802 0           my @item = ();
1803 0           my %item = ();
1804 0   0       my $repeating = defined($_[2]) && $_[2];
1805 0   0       my $_noactions = defined($_[3]) && $_[3];
1806 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1807 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1808 0           my $text;
1809 0           my $lastsep="";
1810 0           my $current_match;
1811 0           my $expectation = new Parse::RecDescent::Expectation(q{'throws'});
1812 0           $expectation->at($_[1]);
1813            
1814 0           my $thisline;
1815 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1816              
1817            
1818              
1819 0   0       while (!$_matched && !$commit)
1820             {
1821            
1822 0 0         Parse::RecDescent::_trace(q{Trying production: ['throws' comma_list]},
1823             Parse::RecDescent::_tracefirst($_[1]),
1824             q{throws_clause},
1825             $tracelevel)
1826             if defined $::RD_TRACE;
1827 0           my $thisprod = $thisrule->{"prods"}[0];
1828 0           $text = $_[1];
1829 0           my $_savetext;
1830 0           @item = (q{throws_clause});
1831 0           %item = (__RULE__ => q{throws_clause});
1832 0           my $repcount = 0;
1833              
1834              
1835 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['throws']},
1836             Parse::RecDescent::_tracefirst($text),
1837             q{throws_clause},
1838             $tracelevel)
1839             if defined $::RD_TRACE;
1840 0           $lastsep = "";
1841 0           $expectation->is(q{})->at($text);
1842            
1843              
1844 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Athrows/)
  0 0          
1845             {
1846            
1847 0           $expectation->failed();
1848 0 0         Parse::RecDescent::_trace(qq{<>},
1849             Parse::RecDescent::_tracefirst($text))
1850             if defined $::RD_TRACE;
1851 0           last;
1852             }
1853 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
1854 0           substr($text,0,length($current_match),q{});
1855 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1856             . $current_match . q{])},
1857             Parse::RecDescent::_tracefirst($text))
1858             if defined $::RD_TRACE;
1859 0           push @item, $item{__STRING1__}=$current_match;
1860            
1861              
1862 0 0         Parse::RecDescent::_trace(q{Trying subrule: [comma_list]},
1863             Parse::RecDescent::_tracefirst($text),
1864             q{throws_clause},
1865             $tracelevel)
1866             if defined $::RD_TRACE;
1867 4     4   22 if (1) { no strict qw{refs};
  4         7  
  4         2727  
  0            
1868 0           $expectation->is(q{comma_list})->at($text);
1869 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::comma_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
1870             {
1871            
1872 0 0         Parse::RecDescent::_trace(q{<>},
1873             Parse::RecDescent::_tracefirst($text),
1874             q{throws_clause},
1875             $tracelevel)
1876             if defined $::RD_TRACE;
1877 0           $expectation->failed();
1878 0           last;
1879             }
1880 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [comma_list]<< (return value: [}
1881             . $_tok . q{]},
1882            
1883             Parse::RecDescent::_tracefirst($text),
1884             q{throws_clause},
1885             $tracelevel)
1886             if defined $::RD_TRACE;
1887 0           $item{q{comma_list}} = $_tok;
1888 0           push @item, $_tok;
1889            
1890             }
1891              
1892 0 0         Parse::RecDescent::_trace(q{Trying action},
1893             Parse::RecDescent::_tracefirst($text),
1894             q{throws_clause},
1895             $tracelevel)
1896             if defined $::RD_TRACE;
1897            
1898              
1899 0 0         $_tok = ($_noactions) ? 0 : do { $item{comma_list} };
  0            
1900 0 0         unless (defined $_tok)
1901             {
1902 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
1903             if defined $::RD_TRACE;
1904 0           last;
1905             }
1906 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1907             . $_tok . q{])},
1908             Parse::RecDescent::_tracefirst($text))
1909             if defined $::RD_TRACE;
1910 0           push @item, $_tok;
1911 0           $item{__ACTION1__}=$_tok;
1912            
1913              
1914              
1915 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['throws' comma_list]<<},
1916             Parse::RecDescent::_tracefirst($text),
1917             q{throws_clause},
1918             $tracelevel)
1919             if defined $::RD_TRACE;
1920 0           $_matched = 1;
1921 0           last;
1922             }
1923              
1924              
1925 0 0 0       unless ( $_matched || defined($score) )
1926             {
1927            
1928              
1929 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
1930 0 0         Parse::RecDescent::_trace(q{<>},
1931             Parse::RecDescent::_tracefirst($_[1]),
1932             q{throws_clause},
1933             $tracelevel)
1934             if defined $::RD_TRACE;
1935 0           return undef;
1936             }
1937 0 0 0       if (!defined($return) && defined($score))
1938             {
1939 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1940             q{throws_clause},
1941             $tracelevel)
1942             if defined $::RD_TRACE;
1943 0           $return = $score_return;
1944             }
1945 0           splice @{$thisparser->{errors}}, $err_at;
  0            
1946 0 0         $return = $item[$#item] unless defined $return;
1947 0 0         if (defined $::RD_TRACE)
1948             {
1949 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1950             $return . q{])}, "",
1951             q{throws_clause},
1952             $tracelevel);
1953 0           Parse::RecDescent::_trace(q{(consumed: [} .
1954             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1955             Parse::RecDescent::_tracefirst($text),
1956             , q{throws_clause},
1957             $tracelevel)
1958             }
1959 0           $_[1] = $text;
1960 0           return $return;
1961             }
1962              
1963             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1964             sub Parse::RecDescent::Java::Javap::Grammar::verbose_annotations
1965             {
1966 0     0     my $thisparser = $_[0];
1967 4     4   26 use vars q{$tracelevel};
  4         7  
  4         4426  
1968 0   0       local $tracelevel = ($tracelevel||0)+1;
1969 0           $ERRORS = 0;
1970 0           my $thisrule = $thisparser->{"rules"}{"verbose_annotations"};
1971            
1972 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_annotations]},
1973             Parse::RecDescent::_tracefirst($_[1]),
1974             q{verbose_annotations},
1975             $tracelevel)
1976             if defined $::RD_TRACE;
1977              
1978            
1979 0           my $err_at = @{$thisparser->{errors}};
  0            
1980              
1981 0           my $score;
1982             my $score_return;
1983 0           my $_tok;
1984 0           my $return = undef;
1985 0           my $_matched=0;
1986 0           my $commit=0;
1987 0           my @item = ();
1988 0           my %item = ();
1989 0   0       my $repeating = defined($_[2]) && $_[2];
1990 0   0       my $_noactions = defined($_[3]) && $_[3];
1991 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
1992 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1993 0           my $text;
1994 0           my $lastsep="";
1995 0           my $current_match;
1996 0           my $expectation = new Parse::RecDescent::Expectation(q{/RuntimeVisibleAnnotations: .*/});
1997 0           $expectation->at($_[1]);
1998            
1999 0           my $thisline;
2000 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2001              
2002            
2003              
2004 0   0       while (!$_matched && !$commit)
2005             {
2006            
2007 0 0         Parse::RecDescent::_trace(q{Trying production: [/RuntimeVisibleAnnotations: .*/ annotations_line]},
2008             Parse::RecDescent::_tracefirst($_[1]),
2009             q{verbose_annotations},
2010             $tracelevel)
2011             if defined $::RD_TRACE;
2012 0           my $thisprod = $thisrule->{"prods"}[0];
2013 0           $text = $_[1];
2014 0           my $_savetext;
2015 0           @item = (q{verbose_annotations});
2016 0           %item = (__RULE__ => q{verbose_annotations});
2017 0           my $repcount = 0;
2018              
2019              
2020 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/RuntimeVisibleAnnotations: .*/]}, Parse::RecDescent::_tracefirst($text),
2021             q{verbose_annotations},
2022             $tracelevel)
2023             if defined $::RD_TRACE;
2024 0           $lastsep = "";
2025 0           $expectation->is(q{})->at($text);
2026            
2027              
2028 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:RuntimeVisibleAnnotations: .*)/)
  0 0          
2029             {
2030            
2031 0           $expectation->failed();
2032 0 0         Parse::RecDescent::_trace(q{<>},
2033             Parse::RecDescent::_tracefirst($text))
2034             if defined $::RD_TRACE;
2035              
2036 0           last;
2037             }
2038 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2039 0           substr($text,0,length($current_match),q{});
2040 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2041             . $current_match . q{])},
2042             Parse::RecDescent::_tracefirst($text))
2043             if defined $::RD_TRACE;
2044 0           push @item, $item{__PATTERN1__}=$current_match;
2045            
2046              
2047 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [annotations_line]},
2048             Parse::RecDescent::_tracefirst($text),
2049             q{verbose_annotations},
2050             $tracelevel)
2051             if defined $::RD_TRACE;
2052 0           $expectation->is(q{annotations_line})->at($text);
2053            
2054 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::annotations_line, 1, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
2055             {
2056 0 0         Parse::RecDescent::_trace(q{<>},
2057             Parse::RecDescent::_tracefirst($text),
2058             q{verbose_annotations},
2059             $tracelevel)
2060             if defined $::RD_TRACE;
2061 0           last;
2062             }
2063 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [annotations_line]<< (}
2064             . @$_tok . q{ times)},
2065            
2066             Parse::RecDescent::_tracefirst($text),
2067             q{verbose_annotations},
2068             $tracelevel)
2069             if defined $::RD_TRACE;
2070 0           $item{q{annotations_line(s)}} = $_tok;
2071 0           push @item, $_tok;
2072            
2073              
2074              
2075              
2076 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/RuntimeVisibleAnnotations: .*/ annotations_line]<<},
2077             Parse::RecDescent::_tracefirst($text),
2078             q{verbose_annotations},
2079             $tracelevel)
2080             if defined $::RD_TRACE;
2081 0           $_matched = 1;
2082 0           last;
2083             }
2084              
2085              
2086 0 0 0       unless ( $_matched || defined($score) )
2087             {
2088            
2089              
2090 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2091 0 0         Parse::RecDescent::_trace(q{<>},
2092             Parse::RecDescent::_tracefirst($_[1]),
2093             q{verbose_annotations},
2094             $tracelevel)
2095             if defined $::RD_TRACE;
2096 0           return undef;
2097             }
2098 0 0 0       if (!defined($return) && defined($score))
2099             {
2100 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2101             q{verbose_annotations},
2102             $tracelevel)
2103             if defined $::RD_TRACE;
2104 0           $return = $score_return;
2105             }
2106 0           splice @{$thisparser->{errors}}, $err_at;
  0            
2107 0 0         $return = $item[$#item] unless defined $return;
2108 0 0         if (defined $::RD_TRACE)
2109             {
2110 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2111             $return . q{])}, "",
2112             q{verbose_annotations},
2113             $tracelevel);
2114 0           Parse::RecDescent::_trace(q{(consumed: [} .
2115             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2116             Parse::RecDescent::_tracefirst($text),
2117             , q{verbose_annotations},
2118             $tracelevel)
2119             }
2120 0           $_[1] = $text;
2121 0           return $return;
2122             }
2123              
2124             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2125             sub Parse::RecDescent::Java::Javap::Grammar::class_qualifier
2126             {
2127 0     0     my $thisparser = $_[0];
2128 4     4   30 use vars q{$tracelevel};
  4         5  
  4         5939  
2129 0   0       local $tracelevel = ($tracelevel||0)+1;
2130 0           $ERRORS = 0;
2131 0           my $thisrule = $thisparser->{"rules"}{"class_qualifier"};
2132            
2133 0 0         Parse::RecDescent::_trace(q{Trying rule: [class_qualifier]},
2134             Parse::RecDescent::_tracefirst($_[1]),
2135             q{class_qualifier},
2136             $tracelevel)
2137             if defined $::RD_TRACE;
2138              
2139            
2140 0           my $err_at = @{$thisparser->{errors}};
  0            
2141              
2142 0           my $score;
2143             my $score_return;
2144 0           my $_tok;
2145 0           my $return = undef;
2146 0           my $_matched=0;
2147 0           my $commit=0;
2148 0           my @item = ();
2149 0           my %item = ();
2150 0   0       my $repeating = defined($_[2]) && $_[2];
2151 0   0       my $_noactions = defined($_[3]) && $_[3];
2152 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
2153 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2154 0           my $text;
2155 0           my $lastsep="";
2156 0           my $current_match;
2157 0           my $expectation = new Parse::RecDescent::Expectation(q{'final', or 'abstract'});
2158 0           $expectation->at($_[1]);
2159            
2160 0           my $thisline;
2161 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2162              
2163            
2164              
2165 0   0       while (!$_matched && !$commit)
2166             {
2167            
2168 0 0         Parse::RecDescent::_trace(q{Trying production: ['final']},
2169             Parse::RecDescent::_tracefirst($_[1]),
2170             q{class_qualifier},
2171             $tracelevel)
2172             if defined $::RD_TRACE;
2173 0           my $thisprod = $thisrule->{"prods"}[0];
2174 0           $text = $_[1];
2175 0           my $_savetext;
2176 0           @item = (q{class_qualifier});
2177 0           %item = (__RULE__ => q{class_qualifier});
2178 0           my $repcount = 0;
2179              
2180              
2181 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['final']},
2182             Parse::RecDescent::_tracefirst($text),
2183             q{class_qualifier},
2184             $tracelevel)
2185             if defined $::RD_TRACE;
2186 0           $lastsep = "";
2187 0           $expectation->is(q{})->at($text);
2188            
2189              
2190 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Afinal/)
  0 0          
2191             {
2192            
2193 0           $expectation->failed();
2194 0 0         Parse::RecDescent::_trace(qq{<>},
2195             Parse::RecDescent::_tracefirst($text))
2196             if defined $::RD_TRACE;
2197 0           last;
2198             }
2199 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2200 0           substr($text,0,length($current_match),q{});
2201 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2202             . $current_match . q{])},
2203             Parse::RecDescent::_tracefirst($text))
2204             if defined $::RD_TRACE;
2205 0           push @item, $item{__STRING1__}=$current_match;
2206            
2207              
2208 0 0         Parse::RecDescent::_trace(q{Trying action},
2209             Parse::RecDescent::_tracefirst($text),
2210             q{class_qualifier},
2211             $tracelevel)
2212             if defined $::RD_TRACE;
2213            
2214              
2215 0 0         $_tok = ($_noactions) ? 0 : do { 'final' };
  0            
2216 0 0         unless (defined $_tok)
2217             {
2218 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
2219             if defined $::RD_TRACE;
2220 0           last;
2221             }
2222 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2223             . $_tok . q{])},
2224             Parse::RecDescent::_tracefirst($text))
2225             if defined $::RD_TRACE;
2226 0           push @item, $_tok;
2227 0           $item{__ACTION1__}=$_tok;
2228            
2229              
2230              
2231 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['final']<<},
2232             Parse::RecDescent::_tracefirst($text),
2233             q{class_qualifier},
2234             $tracelevel)
2235             if defined $::RD_TRACE;
2236 0           $_matched = 1;
2237 0           last;
2238             }
2239              
2240              
2241 0   0       while (!$_matched && !$commit)
2242             {
2243            
2244 0 0         Parse::RecDescent::_trace(q{Trying production: ['abstract']},
2245             Parse::RecDescent::_tracefirst($_[1]),
2246             q{class_qualifier},
2247             $tracelevel)
2248             if defined $::RD_TRACE;
2249 0           my $thisprod = $thisrule->{"prods"}[1];
2250 0           $text = $_[1];
2251 0           my $_savetext;
2252 0           @item = (q{class_qualifier});
2253 0           %item = (__RULE__ => q{class_qualifier});
2254 0           my $repcount = 0;
2255              
2256              
2257 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['abstract']},
2258             Parse::RecDescent::_tracefirst($text),
2259             q{class_qualifier},
2260             $tracelevel)
2261             if defined $::RD_TRACE;
2262 0           $lastsep = "";
2263 0           $expectation->is(q{})->at($text);
2264            
2265              
2266 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aabstract/)
  0 0          
2267             {
2268            
2269 0           $expectation->failed();
2270 0 0         Parse::RecDescent::_trace(qq{<>},
2271             Parse::RecDescent::_tracefirst($text))
2272             if defined $::RD_TRACE;
2273 0           last;
2274             }
2275 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2276 0           substr($text,0,length($current_match),q{});
2277 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2278             . $current_match . q{])},
2279             Parse::RecDescent::_tracefirst($text))
2280             if defined $::RD_TRACE;
2281 0           push @item, $item{__STRING1__}=$current_match;
2282            
2283              
2284 0 0         Parse::RecDescent::_trace(q{Trying action},
2285             Parse::RecDescent::_tracefirst($text),
2286             q{class_qualifier},
2287             $tracelevel)
2288             if defined $::RD_TRACE;
2289            
2290              
2291 0 0         $_tok = ($_noactions) ? 0 : do { 'status' };
  0            
2292 0 0         unless (defined $_tok)
2293             {
2294 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
2295             if defined $::RD_TRACE;
2296 0           last;
2297             }
2298 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2299             . $_tok . q{])},
2300             Parse::RecDescent::_tracefirst($text))
2301             if defined $::RD_TRACE;
2302 0           push @item, $_tok;
2303 0           $item{__ACTION1__}=$_tok;
2304            
2305              
2306              
2307 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['abstract']<<},
2308             Parse::RecDescent::_tracefirst($text),
2309             q{class_qualifier},
2310             $tracelevel)
2311             if defined $::RD_TRACE;
2312 0           $_matched = 1;
2313 0           last;
2314             }
2315              
2316              
2317 0 0 0       unless ( $_matched || defined($score) )
2318             {
2319            
2320              
2321 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2322 0 0         Parse::RecDescent::_trace(q{<>},
2323             Parse::RecDescent::_tracefirst($_[1]),
2324             q{class_qualifier},
2325             $tracelevel)
2326             if defined $::RD_TRACE;
2327 0           return undef;
2328             }
2329 0 0 0       if (!defined($return) && defined($score))
2330             {
2331 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2332             q{class_qualifier},
2333             $tracelevel)
2334             if defined $::RD_TRACE;
2335 0           $return = $score_return;
2336             }
2337 0           splice @{$thisparser->{errors}}, $err_at;
  0            
2338 0 0         $return = $item[$#item] unless defined $return;
2339 0 0         if (defined $::RD_TRACE)
2340             {
2341 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2342             $return . q{])}, "",
2343             q{class_qualifier},
2344             $tracelevel);
2345 0           Parse::RecDescent::_trace(q{(consumed: [} .
2346             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2347             Parse::RecDescent::_tracefirst($text),
2348             , q{class_qualifier},
2349             $tracelevel)
2350             }
2351 0           $_[1] = $text;
2352 0           return $return;
2353             }
2354              
2355             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2356             sub Parse::RecDescent::Java::Javap::Grammar::comp_stmt
2357             {
2358 0     0     my $thisparser = $_[0];
2359 4     4   26 use vars q{$tracelevel};
  4         6  
  4         2496  
2360 0   0       local $tracelevel = ($tracelevel||0)+1;
2361 0           $ERRORS = 0;
2362 0           my $thisrule = $thisparser->{"rules"}{"comp_stmt"};
2363            
2364 0 0         Parse::RecDescent::_trace(q{Trying rule: [comp_stmt]},
2365             Parse::RecDescent::_tracefirst($_[1]),
2366             q{comp_stmt},
2367             $tracelevel)
2368             if defined $::RD_TRACE;
2369              
2370            
2371 0           my $err_at = @{$thisparser->{errors}};
  0            
2372              
2373 0           my $score;
2374             my $score_return;
2375 0           my $_tok;
2376 0           my $return = undef;
2377 0           my $_matched=0;
2378 0           my $commit=0;
2379 0           my @item = ();
2380 0           my %item = ();
2381 0   0       my $repeating = defined($_[2]) && $_[2];
2382 0   0       my $_noactions = defined($_[3]) && $_[3];
2383 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
2384 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2385 0           my $text;
2386 0           my $lastsep="";
2387 0           my $current_match;
2388 0           my $expectation = new Parse::RecDescent::Expectation(q{'Compiled from "'});
2389 0           $expectation->at($_[1]);
2390            
2391 0           my $thisline;
2392 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2393              
2394            
2395              
2396 0   0       while (!$_matched && !$commit)
2397             {
2398            
2399 0 0         Parse::RecDescent::_trace(q{Trying production: ['Compiled from "' NAME '.java"']},
2400             Parse::RecDescent::_tracefirst($_[1]),
2401             q{comp_stmt},
2402             $tracelevel)
2403             if defined $::RD_TRACE;
2404 0           my $thisprod = $thisrule->{"prods"}[0];
2405 0           $text = $_[1];
2406 0           my $_savetext;
2407 0           @item = (q{comp_stmt});
2408 0           %item = (__RULE__ => q{comp_stmt});
2409 0           my $repcount = 0;
2410              
2411              
2412 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['Compiled from "']},
2413             Parse::RecDescent::_tracefirst($text),
2414             q{comp_stmt},
2415             $tracelevel)
2416             if defined $::RD_TRACE;
2417 0           $lastsep = "";
2418 0           $expectation->is(q{})->at($text);
2419            
2420              
2421 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\ACompiled\ from\ \"/)
  0 0          
2422             {
2423            
2424 0           $expectation->failed();
2425 0 0         Parse::RecDescent::_trace(qq{<>},
2426             Parse::RecDescent::_tracefirst($text))
2427             if defined $::RD_TRACE;
2428 0           last;
2429             }
2430 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2431 0           substr($text,0,length($current_match),q{});
2432 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2433             . $current_match . q{])},
2434             Parse::RecDescent::_tracefirst($text))
2435             if defined $::RD_TRACE;
2436 0           push @item, $item{__STRING1__}=$current_match;
2437            
2438              
2439 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
2440             Parse::RecDescent::_tracefirst($text),
2441             q{comp_stmt},
2442             $tracelevel)
2443             if defined $::RD_TRACE;
2444 4     4   49 if (1) { no strict qw{refs};
  4         8  
  4         3575  
  0            
2445 0           $expectation->is(q{NAME})->at($text);
2446 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
2447             {
2448            
2449 0 0         Parse::RecDescent::_trace(q{<>},
2450             Parse::RecDescent::_tracefirst($text),
2451             q{comp_stmt},
2452             $tracelevel)
2453             if defined $::RD_TRACE;
2454 0           $expectation->failed();
2455 0           last;
2456             }
2457 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
2458             . $_tok . q{]},
2459            
2460             Parse::RecDescent::_tracefirst($text),
2461             q{comp_stmt},
2462             $tracelevel)
2463             if defined $::RD_TRACE;
2464 0           $item{q{NAME}} = $_tok;
2465 0           push @item, $_tok;
2466            
2467             }
2468              
2469 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['.java"']},
2470             Parse::RecDescent::_tracefirst($text),
2471             q{comp_stmt},
2472             $tracelevel)
2473             if defined $::RD_TRACE;
2474 0           $lastsep = "";
2475 0           $expectation->is(q{'.java"'})->at($text);
2476            
2477              
2478 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\.java\"/)
  0 0          
2479             {
2480            
2481 0           $expectation->failed();
2482 0 0         Parse::RecDescent::_trace(qq{<>},
2483             Parse::RecDescent::_tracefirst($text))
2484             if defined $::RD_TRACE;
2485 0           last;
2486             }
2487 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2488 0           substr($text,0,length($current_match),q{});
2489 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2490             . $current_match . q{])},
2491             Parse::RecDescent::_tracefirst($text))
2492             if defined $::RD_TRACE;
2493 0           push @item, $item{__STRING2__}=$current_match;
2494            
2495              
2496 0 0         Parse::RecDescent::_trace(q{Trying action},
2497             Parse::RecDescent::_tracefirst($text),
2498             q{comp_stmt},
2499             $tracelevel)
2500             if defined $::RD_TRACE;
2501            
2502              
2503 0 0         $_tok = ($_noactions) ? 0 : do { $item{NAME} };
  0            
2504 0 0         unless (defined $_tok)
2505             {
2506 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
2507             if defined $::RD_TRACE;
2508 0           last;
2509             }
2510 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2511             . $_tok . q{])},
2512             Parse::RecDescent::_tracefirst($text))
2513             if defined $::RD_TRACE;
2514 0           push @item, $_tok;
2515 0           $item{__ACTION1__}=$_tok;
2516            
2517              
2518              
2519 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['Compiled from "' NAME '.java"']<<},
2520             Parse::RecDescent::_tracefirst($text),
2521             q{comp_stmt},
2522             $tracelevel)
2523             if defined $::RD_TRACE;
2524 0           $_matched = 1;
2525 0           last;
2526             }
2527              
2528              
2529 0 0 0       unless ( $_matched || defined($score) )
2530             {
2531            
2532              
2533 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2534 0 0         Parse::RecDescent::_trace(q{<>},
2535             Parse::RecDescent::_tracefirst($_[1]),
2536             q{comp_stmt},
2537             $tracelevel)
2538             if defined $::RD_TRACE;
2539 0           return undef;
2540             }
2541 0 0 0       if (!defined($return) && defined($score))
2542             {
2543 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2544             q{comp_stmt},
2545             $tracelevel)
2546             if defined $::RD_TRACE;
2547 0           $return = $score_return;
2548             }
2549 0           splice @{$thisparser->{errors}}, $err_at;
  0            
2550 0 0         $return = $item[$#item] unless defined $return;
2551 0 0         if (defined $::RD_TRACE)
2552             {
2553 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2554             $return . q{])}, "",
2555             q{comp_stmt},
2556             $tracelevel);
2557 0           Parse::RecDescent::_trace(q{(consumed: [} .
2558             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2559             Parse::RecDescent::_tracefirst($text),
2560             , q{comp_stmt},
2561             $tracelevel)
2562             }
2563 0           $_[1] = $text;
2564 0           return $return;
2565             }
2566              
2567             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2568             sub Parse::RecDescent::Java::Javap::Grammar::verbose_method_deprecated
2569             {
2570 0     0     my $thisparser = $_[0];
2571 4     4   25 use vars q{$tracelevel};
  4         6  
  4         4471  
2572 0   0       local $tracelevel = ($tracelevel||0)+1;
2573 0           $ERRORS = 0;
2574 0           my $thisrule = $thisparser->{"rules"}{"verbose_method_deprecated"};
2575            
2576 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_method_deprecated]},
2577             Parse::RecDescent::_tracefirst($_[1]),
2578             q{verbose_method_deprecated},
2579             $tracelevel)
2580             if defined $::RD_TRACE;
2581              
2582            
2583 0           my $err_at = @{$thisparser->{errors}};
  0            
2584              
2585 0           my $score;
2586             my $score_return;
2587 0           my $_tok;
2588 0           my $return = undef;
2589 0           my $_matched=0;
2590 0           my $commit=0;
2591 0           my @item = ();
2592 0           my %item = ();
2593 0   0       my $repeating = defined($_[2]) && $_[2];
2594 0   0       my $_noactions = defined($_[3]) && $_[3];
2595 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
2596 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2597 0           my $text;
2598 0           my $lastsep="";
2599 0           my $current_match;
2600 0           my $expectation = new Parse::RecDescent::Expectation(q{'Deprecated:'});
2601 0           $expectation->at($_[1]);
2602            
2603 0           my $thisline;
2604 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2605              
2606            
2607              
2608 0   0       while (!$_matched && !$commit)
2609             {
2610            
2611 0 0         Parse::RecDescent::_trace(q{Trying production: ['Deprecated:' 'true']},
2612             Parse::RecDescent::_tracefirst($_[1]),
2613             q{verbose_method_deprecated},
2614             $tracelevel)
2615             if defined $::RD_TRACE;
2616 0           my $thisprod = $thisrule->{"prods"}[0];
2617 0           $text = $_[1];
2618 0           my $_savetext;
2619 0           @item = (q{verbose_method_deprecated});
2620 0           %item = (__RULE__ => q{verbose_method_deprecated});
2621 0           my $repcount = 0;
2622              
2623              
2624 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['Deprecated:']},
2625             Parse::RecDescent::_tracefirst($text),
2626             q{verbose_method_deprecated},
2627             $tracelevel)
2628             if defined $::RD_TRACE;
2629 0           $lastsep = "";
2630 0           $expectation->is(q{})->at($text);
2631            
2632              
2633 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\ADeprecated\:/)
  0 0          
2634             {
2635            
2636 0           $expectation->failed();
2637 0 0         Parse::RecDescent::_trace(qq{<>},
2638             Parse::RecDescent::_tracefirst($text))
2639             if defined $::RD_TRACE;
2640 0           last;
2641             }
2642 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2643 0           substr($text,0,length($current_match),q{});
2644 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2645             . $current_match . q{])},
2646             Parse::RecDescent::_tracefirst($text))
2647             if defined $::RD_TRACE;
2648 0           push @item, $item{__STRING1__}=$current_match;
2649            
2650              
2651 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['true']},
2652             Parse::RecDescent::_tracefirst($text),
2653             q{verbose_method_deprecated},
2654             $tracelevel)
2655             if defined $::RD_TRACE;
2656 0           $lastsep = "";
2657 0           $expectation->is(q{'true'})->at($text);
2658            
2659              
2660 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atrue/)
  0 0          
2661             {
2662            
2663 0           $expectation->failed();
2664 0 0         Parse::RecDescent::_trace(qq{<>},
2665             Parse::RecDescent::_tracefirst($text))
2666             if defined $::RD_TRACE;
2667 0           last;
2668             }
2669 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2670 0           substr($text,0,length($current_match),q{});
2671 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2672             . $current_match . q{])},
2673             Parse::RecDescent::_tracefirst($text))
2674             if defined $::RD_TRACE;
2675 0           push @item, $item{__STRING2__}=$current_match;
2676            
2677              
2678              
2679 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['Deprecated:' 'true']<<},
2680             Parse::RecDescent::_tracefirst($text),
2681             q{verbose_method_deprecated},
2682             $tracelevel)
2683             if defined $::RD_TRACE;
2684 0           $_matched = 1;
2685 0           last;
2686             }
2687              
2688              
2689 0 0 0       unless ( $_matched || defined($score) )
2690             {
2691            
2692              
2693 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2694 0 0         Parse::RecDescent::_trace(q{<>},
2695             Parse::RecDescent::_tracefirst($_[1]),
2696             q{verbose_method_deprecated},
2697             $tracelevel)
2698             if defined $::RD_TRACE;
2699 0           return undef;
2700             }
2701 0 0 0       if (!defined($return) && defined($score))
2702             {
2703 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2704             q{verbose_method_deprecated},
2705             $tracelevel)
2706             if defined $::RD_TRACE;
2707 0           $return = $score_return;
2708             }
2709 0           splice @{$thisparser->{errors}}, $err_at;
  0            
2710 0 0         $return = $item[$#item] unless defined $return;
2711 0 0         if (defined $::RD_TRACE)
2712             {
2713 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2714             $return . q{])}, "",
2715             q{verbose_method_deprecated},
2716             $tracelevel);
2717 0           Parse::RecDescent::_trace(q{(consumed: [} .
2718             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2719             Parse::RecDescent::_tracefirst($text),
2720             , q{verbose_method_deprecated},
2721             $tracelevel)
2722             }
2723 0           $_[1] = $text;
2724 0           return $return;
2725             }
2726              
2727             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2728             sub Parse::RecDescent::Java::Javap::Grammar::annotations_line
2729             {
2730 0     0     my $thisparser = $_[0];
2731 4     4   25 use vars q{$tracelevel};
  4         16  
  4         3677  
2732 0   0       local $tracelevel = ($tracelevel||0)+1;
2733 0           $ERRORS = 0;
2734 0           my $thisrule = $thisparser->{"rules"}{"annotations_line"};
2735            
2736 0 0         Parse::RecDescent::_trace(q{Trying rule: [annotations_line]},
2737             Parse::RecDescent::_tracefirst($_[1]),
2738             q{annotations_line},
2739             $tracelevel)
2740             if defined $::RD_TRACE;
2741              
2742            
2743 0           my $err_at = @{$thisparser->{errors}};
  0            
2744              
2745 0           my $score;
2746             my $score_return;
2747 0           my $_tok;
2748 0           my $return = undef;
2749 0           my $_matched=0;
2750 0           my $commit=0;
2751 0           my @item = ();
2752 0           my %item = ();
2753 0   0       my $repeating = defined($_[2]) && $_[2];
2754 0   0       my $_noactions = defined($_[3]) && $_[3];
2755 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
2756 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2757 0           my $text;
2758 0           my $lastsep="";
2759 0           my $current_match;
2760 0           my $expectation = new Parse::RecDescent::Expectation(q{/[A-F0-9][A-F0-9]/});
2761 0           $expectation->at($_[1]);
2762            
2763 0           my $thisline;
2764 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2765              
2766            
2767              
2768 0   0       while (!$_matched && !$commit)
2769             {
2770            
2771 0 0         Parse::RecDescent::_trace(q{Trying production: [/[A-F0-9][A-F0-9]/]},
2772             Parse::RecDescent::_tracefirst($_[1]),
2773             q{annotations_line},
2774             $tracelevel)
2775             if defined $::RD_TRACE;
2776 0           my $thisprod = $thisrule->{"prods"}[0];
2777 0           $text = $_[1];
2778 0           my $_savetext;
2779 0           @item = (q{annotations_line});
2780 0           %item = (__RULE__ => q{annotations_line});
2781 0           my $repcount = 0;
2782              
2783              
2784 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/[A-F0-9][A-F0-9]/]}, Parse::RecDescent::_tracefirst($text),
2785             q{annotations_line},
2786             $tracelevel)
2787             if defined $::RD_TRACE;
2788 0           $lastsep = "";
2789 0           $expectation->is(q{})->at($text);
2790            
2791              
2792 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[A-F0-9][A-F0-9])/)
  0 0          
2793             {
2794            
2795 0           $expectation->failed();
2796 0 0         Parse::RecDescent::_trace(q{<>},
2797             Parse::RecDescent::_tracefirst($text))
2798             if defined $::RD_TRACE;
2799              
2800 0           last;
2801             }
2802 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2803 0           substr($text,0,length($current_match),q{});
2804 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2805             . $current_match . q{])},
2806             Parse::RecDescent::_tracefirst($text))
2807             if defined $::RD_TRACE;
2808 0           push @item, $item{__PATTERN1__}=$current_match;
2809            
2810              
2811              
2812 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/[A-F0-9][A-F0-9]/]<<},
2813             Parse::RecDescent::_tracefirst($text),
2814             q{annotations_line},
2815             $tracelevel)
2816             if defined $::RD_TRACE;
2817 0           $_matched = 1;
2818 0           last;
2819             }
2820              
2821              
2822 0 0 0       unless ( $_matched || defined($score) )
2823             {
2824            
2825              
2826 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2827 0 0         Parse::RecDescent::_trace(q{<>},
2828             Parse::RecDescent::_tracefirst($_[1]),
2829             q{annotations_line},
2830             $tracelevel)
2831             if defined $::RD_TRACE;
2832 0           return undef;
2833             }
2834 0 0 0       if (!defined($return) && defined($score))
2835             {
2836 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2837             q{annotations_line},
2838             $tracelevel)
2839             if defined $::RD_TRACE;
2840 0           $return = $score_return;
2841             }
2842 0           splice @{$thisparser->{errors}}, $err_at;
  0            
2843 0 0         $return = $item[$#item] unless defined $return;
2844 0 0         if (defined $::RD_TRACE)
2845             {
2846 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2847             $return . q{])}, "",
2848             q{annotations_line},
2849             $tracelevel);
2850 0           Parse::RecDescent::_trace(q{(consumed: [} .
2851             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2852             Parse::RecDescent::_tracefirst($text),
2853             , q{annotations_line},
2854             $tracelevel)
2855             }
2856 0           $_[1] = $text;
2857 0           return $return;
2858             }
2859              
2860             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2861             sub Parse::RecDescent::Java::Javap::Grammar::verbose_signature
2862             {
2863 0     0     my $thisparser = $_[0];
2864 4     4   24 use vars q{$tracelevel};
  4         9  
  4         4185  
2865 0   0       local $tracelevel = ($tracelevel||0)+1;
2866 0           $ERRORS = 0;
2867 0           my $thisrule = $thisparser->{"rules"}{"verbose_signature"};
2868            
2869 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_signature]},
2870             Parse::RecDescent::_tracefirst($_[1]),
2871             q{verbose_signature},
2872             $tracelevel)
2873             if defined $::RD_TRACE;
2874              
2875            
2876 0           my $err_at = @{$thisparser->{errors}};
  0            
2877              
2878 0           my $score;
2879             my $score_return;
2880 0           my $_tok;
2881 0           my $return = undef;
2882 0           my $_matched=0;
2883 0           my $commit=0;
2884 0           my @item = ();
2885 0           my %item = ();
2886 0   0       my $repeating = defined($_[2]) && $_[2];
2887 0   0       my $_noactions = defined($_[3]) && $_[3];
2888 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
2889 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2890 0           my $text;
2891 0           my $lastsep="";
2892 0           my $current_match;
2893 0           my $expectation = new Parse::RecDescent::Expectation(q{/Signature: .*/});
2894 0           $expectation->at($_[1]);
2895            
2896 0           my $thisline;
2897 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2898              
2899            
2900              
2901 0   0       while (!$_matched && !$commit)
2902             {
2903            
2904 0 0         Parse::RecDescent::_trace(q{Trying production: [/Signature: .*/ signature_line]},
2905             Parse::RecDescent::_tracefirst($_[1]),
2906             q{verbose_signature},
2907             $tracelevel)
2908             if defined $::RD_TRACE;
2909 0           my $thisprod = $thisrule->{"prods"}[0];
2910 0           $text = $_[1];
2911 0           my $_savetext;
2912 0           @item = (q{verbose_signature});
2913 0           %item = (__RULE__ => q{verbose_signature});
2914 0           my $repcount = 0;
2915              
2916              
2917 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/Signature: .*/]}, Parse::RecDescent::_tracefirst($text),
2918             q{verbose_signature},
2919             $tracelevel)
2920             if defined $::RD_TRACE;
2921 0           $lastsep = "";
2922 0           $expectation->is(q{})->at($text);
2923            
2924              
2925 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:Signature: .*)/)
  0 0          
2926             {
2927            
2928 0           $expectation->failed();
2929 0 0         Parse::RecDescent::_trace(q{<>},
2930             Parse::RecDescent::_tracefirst($text))
2931             if defined $::RD_TRACE;
2932              
2933 0           last;
2934             }
2935 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
2936 0           substr($text,0,length($current_match),q{});
2937 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2938             . $current_match . q{])},
2939             Parse::RecDescent::_tracefirst($text))
2940             if defined $::RD_TRACE;
2941 0           push @item, $item{__PATTERN1__}=$current_match;
2942            
2943              
2944 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [signature_line]},
2945             Parse::RecDescent::_tracefirst($text),
2946             q{verbose_signature},
2947             $tracelevel)
2948             if defined $::RD_TRACE;
2949 0           $expectation->is(q{signature_line})->at($text);
2950            
2951 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::signature_line, 1, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
2952             {
2953 0 0         Parse::RecDescent::_trace(q{<>},
2954             Parse::RecDescent::_tracefirst($text),
2955             q{verbose_signature},
2956             $tracelevel)
2957             if defined $::RD_TRACE;
2958 0           last;
2959             }
2960 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [signature_line]<< (}
2961             . @$_tok . q{ times)},
2962            
2963             Parse::RecDescent::_tracefirst($text),
2964             q{verbose_signature},
2965             $tracelevel)
2966             if defined $::RD_TRACE;
2967 0           $item{q{signature_line(s)}} = $_tok;
2968 0           push @item, $_tok;
2969            
2970              
2971              
2972              
2973 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/Signature: .*/ signature_line]<<},
2974             Parse::RecDescent::_tracefirst($text),
2975             q{verbose_signature},
2976             $tracelevel)
2977             if defined $::RD_TRACE;
2978 0           $_matched = 1;
2979 0           last;
2980             }
2981              
2982              
2983 0 0 0       unless ( $_matched || defined($score) )
2984             {
2985            
2986              
2987 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
2988 0 0         Parse::RecDescent::_trace(q{<>},
2989             Parse::RecDescent::_tracefirst($_[1]),
2990             q{verbose_signature},
2991             $tracelevel)
2992             if defined $::RD_TRACE;
2993 0           return undef;
2994             }
2995 0 0 0       if (!defined($return) && defined($score))
2996             {
2997 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2998             q{verbose_signature},
2999             $tracelevel)
3000             if defined $::RD_TRACE;
3001 0           $return = $score_return;
3002             }
3003 0           splice @{$thisparser->{errors}}, $err_at;
  0            
3004 0 0         $return = $item[$#item] unless defined $return;
3005 0 0         if (defined $::RD_TRACE)
3006             {
3007 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3008             $return . q{])}, "",
3009             q{verbose_signature},
3010             $tracelevel);
3011 0           Parse::RecDescent::_trace(q{(consumed: [} .
3012             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3013             Parse::RecDescent::_tracefirst($text),
3014             , q{verbose_signature},
3015             $tracelevel)
3016             }
3017 0           $_[1] = $text;
3018 0           return $return;
3019             }
3020              
3021             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3022             sub Parse::RecDescent::Java::Javap::Grammar::variable
3023             {
3024 0     0     my $thisparser = $_[0];
3025 4     4   24 use vars q{$tracelevel};
  4         5  
  4         1519  
3026 0   0       local $tracelevel = ($tracelevel||0)+1;
3027 0           $ERRORS = 0;
3028 0           my $thisrule = $thisparser->{"rules"}{"variable"};
3029            
3030 0 0         Parse::RecDescent::_trace(q{Trying rule: [variable]},
3031             Parse::RecDescent::_tracefirst($_[1]),
3032             q{variable},
3033             $tracelevel)
3034             if defined $::RD_TRACE;
3035              
3036            
3037 0           my $err_at = @{$thisparser->{errors}};
  0            
3038              
3039 0           my $score;
3040             my $score_return;
3041 0           my $_tok;
3042 0           my $return = undef;
3043 0           my $_matched=0;
3044 0           my $commit=0;
3045 0           my @item = ();
3046 0           my %item = ();
3047 0   0       my $repeating = defined($_[2]) && $_[2];
3048 0   0       my $_noactions = defined($_[3]) && $_[3];
3049 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
3050 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3051 0           my $text;
3052 0           my $lastsep="";
3053 0           my $current_match;
3054 0           my $expectation = new Parse::RecDescent::Expectation(q{ACCESS});
3055 0           $expectation->at($_[1]);
3056            
3057 0           my $thisline;
3058 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3059              
3060            
3061              
3062 0   0       while (!$_matched && !$commit)
3063             {
3064            
3065 0 0         Parse::RecDescent::_trace(q{Trying production: [ACCESS var_modifier arg NAME ';']},
3066             Parse::RecDescent::_tracefirst($_[1]),
3067             q{variable},
3068             $tracelevel)
3069             if defined $::RD_TRACE;
3070 0           my $thisprod = $thisrule->{"prods"}[0];
3071 0           $text = $_[1];
3072 0           my $_savetext;
3073 0           @item = (q{variable});
3074 0           %item = (__RULE__ => q{variable});
3075 0           my $repcount = 0;
3076              
3077              
3078 0 0         Parse::RecDescent::_trace(q{Trying subrule: [ACCESS]},
3079             Parse::RecDescent::_tracefirst($text),
3080             q{variable},
3081             $tracelevel)
3082             if defined $::RD_TRACE;
3083 4     4   22 if (1) { no strict qw{refs};
  4         6  
  4         1536  
  0            
3084 0           $expectation->is(q{})->at($text);
3085 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::ACCESS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3086             {
3087            
3088 0 0         Parse::RecDescent::_trace(q{<>},
3089             Parse::RecDescent::_tracefirst($text),
3090             q{variable},
3091             $tracelevel)
3092             if defined $::RD_TRACE;
3093 0           $expectation->failed();
3094 0           last;
3095             }
3096 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [ACCESS]<< (return value: [}
3097             . $_tok . q{]},
3098            
3099             Parse::RecDescent::_tracefirst($text),
3100             q{variable},
3101             $tracelevel)
3102             if defined $::RD_TRACE;
3103 0           $item{q{ACCESS}} = $_tok;
3104 0           push @item, $_tok;
3105            
3106             }
3107              
3108 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [var_modifier]},
3109             Parse::RecDescent::_tracefirst($text),
3110             q{variable},
3111             $tracelevel)
3112             if defined $::RD_TRACE;
3113 0           $expectation->is(q{var_modifier})->at($text);
3114            
3115 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::var_modifier, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
3116             {
3117 0 0         Parse::RecDescent::_trace(q{<>},
3118             Parse::RecDescent::_tracefirst($text),
3119             q{variable},
3120             $tracelevel)
3121             if defined $::RD_TRACE;
3122 0           last;
3123             }
3124 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [var_modifier]<< (}
3125             . @$_tok . q{ times)},
3126            
3127             Parse::RecDescent::_tracefirst($text),
3128             q{variable},
3129             $tracelevel)
3130             if defined $::RD_TRACE;
3131 0           $item{q{var_modifier(s?)}} = $_tok;
3132 0           push @item, $_tok;
3133            
3134              
3135              
3136 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
3137             Parse::RecDescent::_tracefirst($text),
3138             q{variable},
3139             $tracelevel)
3140             if defined $::RD_TRACE;
3141 4     4   25 if (1) { no strict qw{refs};
  4         5  
  4         864  
  0            
3142 0           $expectation->is(q{arg})->at($text);
3143 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3144             {
3145            
3146 0 0         Parse::RecDescent::_trace(q{<>},
3147             Parse::RecDescent::_tracefirst($text),
3148             q{variable},
3149             $tracelevel)
3150             if defined $::RD_TRACE;
3151 0           $expectation->failed();
3152 0           last;
3153             }
3154 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
3155             . $_tok . q{]},
3156            
3157             Parse::RecDescent::_tracefirst($text),
3158             q{variable},
3159             $tracelevel)
3160             if defined $::RD_TRACE;
3161 0           $item{q{arg}} = $_tok;
3162 0           push @item, $_tok;
3163            
3164             }
3165              
3166 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
3167             Parse::RecDescent::_tracefirst($text),
3168             q{variable},
3169             $tracelevel)
3170             if defined $::RD_TRACE;
3171 4     4   22 if (1) { no strict qw{refs};
  4         12  
  4         3836  
  0            
3172 0           $expectation->is(q{NAME})->at($text);
3173 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3174             {
3175            
3176 0 0         Parse::RecDescent::_trace(q{<>},
3177             Parse::RecDescent::_tracefirst($text),
3178             q{variable},
3179             $tracelevel)
3180             if defined $::RD_TRACE;
3181 0           $expectation->failed();
3182 0           last;
3183             }
3184 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
3185             . $_tok . q{]},
3186            
3187             Parse::RecDescent::_tracefirst($text),
3188             q{variable},
3189             $tracelevel)
3190             if defined $::RD_TRACE;
3191 0           $item{q{NAME}} = $_tok;
3192 0           push @item, $_tok;
3193            
3194             }
3195              
3196 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
3197             Parse::RecDescent::_tracefirst($text),
3198             q{variable},
3199             $tracelevel)
3200             if defined $::RD_TRACE;
3201 0           $lastsep = "";
3202 0           $expectation->is(q{';'})->at($text);
3203            
3204              
3205 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
3206             {
3207            
3208 0           $expectation->failed();
3209 0 0         Parse::RecDescent::_trace(qq{<>},
3210             Parse::RecDescent::_tracefirst($text))
3211             if defined $::RD_TRACE;
3212 0           last;
3213             }
3214 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
3215 0           substr($text,0,length($current_match),q{});
3216 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3217             . $current_match . q{])},
3218             Parse::RecDescent::_tracefirst($text))
3219             if defined $::RD_TRACE;
3220 0           push @item, $item{__STRING1__}=$current_match;
3221            
3222              
3223 0 0         Parse::RecDescent::_trace(q{Trying action},
3224             Parse::RecDescent::_tracefirst($text),
3225             q{variable},
3226             $tracelevel)
3227             if defined $::RD_TRACE;
3228            
3229              
3230 0 0         $_tok = ($_noactions) ? 0 : do {
3231             {
3232             body_element => 'variable',
3233             access => $item{ ACCESS },
3234             name => $item{ NAME },
3235 0           type => $item{ arg }[0],
3236             }
3237             };
3238 0 0         unless (defined $_tok)
3239             {
3240 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
3241             if defined $::RD_TRACE;
3242 0           last;
3243             }
3244 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3245             . $_tok . q{])},
3246             Parse::RecDescent::_tracefirst($text))
3247             if defined $::RD_TRACE;
3248 0           push @item, $_tok;
3249 0           $item{__ACTION1__}=$_tok;
3250            
3251              
3252              
3253 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ACCESS var_modifier arg NAME ';']<<},
3254             Parse::RecDescent::_tracefirst($text),
3255             q{variable},
3256             $tracelevel)
3257             if defined $::RD_TRACE;
3258 0           $_matched = 1;
3259 0           last;
3260             }
3261              
3262              
3263 0 0 0       unless ( $_matched || defined($score) )
3264             {
3265            
3266              
3267 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
3268 0 0         Parse::RecDescent::_trace(q{<>},
3269             Parse::RecDescent::_tracefirst($_[1]),
3270             q{variable},
3271             $tracelevel)
3272             if defined $::RD_TRACE;
3273 0           return undef;
3274             }
3275 0 0 0       if (!defined($return) && defined($score))
3276             {
3277 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3278             q{variable},
3279             $tracelevel)
3280             if defined $::RD_TRACE;
3281 0           $return = $score_return;
3282             }
3283 0           splice @{$thisparser->{errors}}, $err_at;
  0            
3284 0 0         $return = $item[$#item] unless defined $return;
3285 0 0         if (defined $::RD_TRACE)
3286             {
3287 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3288             $return . q{])}, "",
3289             q{variable},
3290             $tracelevel);
3291 0           Parse::RecDescent::_trace(q{(consumed: [} .
3292             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3293             Parse::RecDescent::_tracefirst($text),
3294             , q{variable},
3295             $tracelevel)
3296             }
3297 0           $_[1] = $text;
3298 0           return $return;
3299             }
3300              
3301             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3302             sub Parse::RecDescent::Java::Javap::Grammar::constant_modifier
3303             {
3304 0     0     my $thisparser = $_[0];
3305 4     4   26 use vars q{$tracelevel};
  4         7  
  4         6567  
3306 0   0       local $tracelevel = ($tracelevel||0)+1;
3307 0           $ERRORS = 0;
3308 0           my $thisrule = $thisparser->{"rules"}{"constant_modifier"};
3309            
3310 0 0         Parse::RecDescent::_trace(q{Trying rule: [constant_modifier]},
3311             Parse::RecDescent::_tracefirst($_[1]),
3312             q{constant_modifier},
3313             $tracelevel)
3314             if defined $::RD_TRACE;
3315              
3316            
3317 0           my $err_at = @{$thisparser->{errors}};
  0            
3318              
3319 0           my $score;
3320             my $score_return;
3321 0           my $_tok;
3322 0           my $return = undef;
3323 0           my $_matched=0;
3324 0           my $commit=0;
3325 0           my @item = ();
3326 0           my %item = ();
3327 0   0       my $repeating = defined($_[2]) && $_[2];
3328 0   0       my $_noactions = defined($_[3]) && $_[3];
3329 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
3330 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3331 0           my $text;
3332 0           my $lastsep="";
3333 0           my $current_match;
3334 0           my $expectation = new Parse::RecDescent::Expectation(q{'final', or 'transient', or 'volatile'});
3335 0           $expectation->at($_[1]);
3336            
3337 0           my $thisline;
3338 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3339              
3340            
3341              
3342 0   0       while (!$_matched && !$commit)
3343             {
3344            
3345 0 0         Parse::RecDescent::_trace(q{Trying production: ['final']},
3346             Parse::RecDescent::_tracefirst($_[1]),
3347             q{constant_modifier},
3348             $tracelevel)
3349             if defined $::RD_TRACE;
3350 0           my $thisprod = $thisrule->{"prods"}[0];
3351 0           $text = $_[1];
3352 0           my $_savetext;
3353 0           @item = (q{constant_modifier});
3354 0           %item = (__RULE__ => q{constant_modifier});
3355 0           my $repcount = 0;
3356              
3357              
3358 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['final']},
3359             Parse::RecDescent::_tracefirst($text),
3360             q{constant_modifier},
3361             $tracelevel)
3362             if defined $::RD_TRACE;
3363 0           $lastsep = "";
3364 0           $expectation->is(q{})->at($text);
3365            
3366              
3367 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Afinal/)
  0 0          
3368             {
3369            
3370 0           $expectation->failed();
3371 0 0         Parse::RecDescent::_trace(qq{<>},
3372             Parse::RecDescent::_tracefirst($text))
3373             if defined $::RD_TRACE;
3374 0           last;
3375             }
3376 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
3377 0           substr($text,0,length($current_match),q{});
3378 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3379             . $current_match . q{])},
3380             Parse::RecDescent::_tracefirst($text))
3381             if defined $::RD_TRACE;
3382 0           push @item, $item{__STRING1__}=$current_match;
3383            
3384              
3385              
3386 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['final']<<},
3387             Parse::RecDescent::_tracefirst($text),
3388             q{constant_modifier},
3389             $tracelevel)
3390             if defined $::RD_TRACE;
3391 0           $_matched = 1;
3392 0           last;
3393             }
3394              
3395              
3396 0   0       while (!$_matched && !$commit)
3397             {
3398            
3399 0 0         Parse::RecDescent::_trace(q{Trying production: ['transient']},
3400             Parse::RecDescent::_tracefirst($_[1]),
3401             q{constant_modifier},
3402             $tracelevel)
3403             if defined $::RD_TRACE;
3404 0           my $thisprod = $thisrule->{"prods"}[1];
3405 0           $text = $_[1];
3406 0           my $_savetext;
3407 0           @item = (q{constant_modifier});
3408 0           %item = (__RULE__ => q{constant_modifier});
3409 0           my $repcount = 0;
3410              
3411              
3412 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['transient']},
3413             Parse::RecDescent::_tracefirst($text),
3414             q{constant_modifier},
3415             $tracelevel)
3416             if defined $::RD_TRACE;
3417 0           $lastsep = "";
3418 0           $expectation->is(q{})->at($text);
3419            
3420              
3421 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atransient/)
  0 0          
3422             {
3423            
3424 0           $expectation->failed();
3425 0 0         Parse::RecDescent::_trace(qq{<>},
3426             Parse::RecDescent::_tracefirst($text))
3427             if defined $::RD_TRACE;
3428 0           last;
3429             }
3430 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
3431 0           substr($text,0,length($current_match),q{});
3432 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3433             . $current_match . q{])},
3434             Parse::RecDescent::_tracefirst($text))
3435             if defined $::RD_TRACE;
3436 0           push @item, $item{__STRING1__}=$current_match;
3437            
3438              
3439              
3440 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['transient']<<},
3441             Parse::RecDescent::_tracefirst($text),
3442             q{constant_modifier},
3443             $tracelevel)
3444             if defined $::RD_TRACE;
3445 0           $_matched = 1;
3446 0           last;
3447             }
3448              
3449              
3450 0   0       while (!$_matched && !$commit)
3451             {
3452            
3453 0 0         Parse::RecDescent::_trace(q{Trying production: ['volatile']},
3454             Parse::RecDescent::_tracefirst($_[1]),
3455             q{constant_modifier},
3456             $tracelevel)
3457             if defined $::RD_TRACE;
3458 0           my $thisprod = $thisrule->{"prods"}[2];
3459 0           $text = $_[1];
3460 0           my $_savetext;
3461 0           @item = (q{constant_modifier});
3462 0           %item = (__RULE__ => q{constant_modifier});
3463 0           my $repcount = 0;
3464              
3465              
3466 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['volatile']},
3467             Parse::RecDescent::_tracefirst($text),
3468             q{constant_modifier},
3469             $tracelevel)
3470             if defined $::RD_TRACE;
3471 0           $lastsep = "";
3472 0           $expectation->is(q{})->at($text);
3473            
3474              
3475 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Avolatile/)
  0 0          
3476             {
3477            
3478 0           $expectation->failed();
3479 0 0         Parse::RecDescent::_trace(qq{<>},
3480             Parse::RecDescent::_tracefirst($text))
3481             if defined $::RD_TRACE;
3482 0           last;
3483             }
3484 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
3485 0           substr($text,0,length($current_match),q{});
3486 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3487             . $current_match . q{])},
3488             Parse::RecDescent::_tracefirst($text))
3489             if defined $::RD_TRACE;
3490 0           push @item, $item{__STRING1__}=$current_match;
3491            
3492              
3493              
3494 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['volatile']<<},
3495             Parse::RecDescent::_tracefirst($text),
3496             q{constant_modifier},
3497             $tracelevel)
3498             if defined $::RD_TRACE;
3499 0           $_matched = 1;
3500 0           last;
3501             }
3502              
3503              
3504 0 0 0       unless ( $_matched || defined($score) )
3505             {
3506            
3507              
3508 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
3509 0 0         Parse::RecDescent::_trace(q{<>},
3510             Parse::RecDescent::_tracefirst($_[1]),
3511             q{constant_modifier},
3512             $tracelevel)
3513             if defined $::RD_TRACE;
3514 0           return undef;
3515             }
3516 0 0 0       if (!defined($return) && defined($score))
3517             {
3518 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3519             q{constant_modifier},
3520             $tracelevel)
3521             if defined $::RD_TRACE;
3522 0           $return = $score_return;
3523             }
3524 0           splice @{$thisparser->{errors}}, $err_at;
  0            
3525 0 0         $return = $item[$#item] unless defined $return;
3526 0 0         if (defined $::RD_TRACE)
3527             {
3528 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3529             $return . q{])}, "",
3530             q{constant_modifier},
3531             $tracelevel);
3532 0           Parse::RecDescent::_trace(q{(consumed: [} .
3533             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3534             Parse::RecDescent::_tracefirst($text),
3535             , q{constant_modifier},
3536             $tracelevel)
3537             }
3538 0           $_[1] = $text;
3539 0           return $return;
3540             }
3541              
3542             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3543             sub Parse::RecDescent::Java::Javap::Grammar::arg_list
3544             {
3545 0     0     my $thisparser = $_[0];
3546 4     4   28 use vars q{$tracelevel};
  4         7  
  4         1544  
3547 0   0       local $tracelevel = ($tracelevel||0)+1;
3548 0           $ERRORS = 0;
3549 0           my $thisrule = $thisparser->{"rules"}{"arg_list"};
3550            
3551 0 0         Parse::RecDescent::_trace(q{Trying rule: [arg_list]},
3552             Parse::RecDescent::_tracefirst($_[1]),
3553             q{arg_list},
3554             $tracelevel)
3555             if defined $::RD_TRACE;
3556              
3557            
3558 0           my $err_at = @{$thisparser->{errors}};
  0            
3559              
3560 0           my $score;
3561             my $score_return;
3562 0           my $_tok;
3563 0           my $return = undef;
3564 0           my $_matched=0;
3565 0           my $commit=0;
3566 0           my @item = ();
3567 0           my %item = ();
3568 0   0       my $repeating = defined($_[2]) && $_[2];
3569 0   0       my $_noactions = defined($_[3]) && $_[3];
3570 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
3571 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3572 0           my $text;
3573 0           my $lastsep="";
3574 0           my $current_match;
3575 0           my $expectation = new Parse::RecDescent::Expectation(q{arg});
3576 0           $expectation->at($_[1]);
3577            
3578 0           my $thisline;
3579 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3580              
3581            
3582              
3583 0   0       while (!$_matched && !$commit)
3584             {
3585            
3586 0 0         Parse::RecDescent::_trace(q{Trying production: [arg ',' arg_list]},
3587             Parse::RecDescent::_tracefirst($_[1]),
3588             q{arg_list},
3589             $tracelevel)
3590             if defined $::RD_TRACE;
3591 0           my $thisprod = $thisrule->{"prods"}[0];
3592 0           $text = $_[1];
3593 0           my $_savetext;
3594 0           @item = (q{arg_list});
3595 0           %item = (__RULE__ => q{arg_list});
3596 0           my $repcount = 0;
3597              
3598              
3599 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
3600             Parse::RecDescent::_tracefirst($text),
3601             q{arg_list},
3602             $tracelevel)
3603             if defined $::RD_TRACE;
3604 4     4   25 if (1) { no strict qw{refs};
  4         7  
  4         1745  
  0            
3605 0           $expectation->is(q{})->at($text);
3606 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3607             {
3608            
3609 0 0         Parse::RecDescent::_trace(q{<>},
3610             Parse::RecDescent::_tracefirst($text),
3611             q{arg_list},
3612             $tracelevel)
3613             if defined $::RD_TRACE;
3614 0           $expectation->failed();
3615 0           last;
3616             }
3617 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
3618             . $_tok . q{]},
3619            
3620             Parse::RecDescent::_tracefirst($text),
3621             q{arg_list},
3622             $tracelevel)
3623             if defined $::RD_TRACE;
3624 0           $item{q{arg}} = $_tok;
3625 0           push @item, $_tok;
3626            
3627             }
3628              
3629 0 0         Parse::RecDescent::_trace(q{Trying terminal: [',']},
3630             Parse::RecDescent::_tracefirst($text),
3631             q{arg_list},
3632             $tracelevel)
3633             if defined $::RD_TRACE;
3634 0           $lastsep = "";
3635 0           $expectation->is(q{','})->at($text);
3636            
3637              
3638 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  0 0          
3639             {
3640            
3641 0           $expectation->failed();
3642 0 0         Parse::RecDescent::_trace(qq{<>},
3643             Parse::RecDescent::_tracefirst($text))
3644             if defined $::RD_TRACE;
3645 0           last;
3646             }
3647 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
3648 0           substr($text,0,length($current_match),q{});
3649 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3650             . $current_match . q{])},
3651             Parse::RecDescent::_tracefirst($text))
3652             if defined $::RD_TRACE;
3653 0           push @item, $item{__STRING1__}=$current_match;
3654            
3655              
3656 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg_list]},
3657             Parse::RecDescent::_tracefirst($text),
3658             q{arg_list},
3659             $tracelevel)
3660             if defined $::RD_TRACE;
3661 4     4   24 if (1) { no strict qw{refs};
  4         7  
  4         1970  
  0            
3662 0           $expectation->is(q{arg_list})->at($text);
3663 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3664             {
3665            
3666 0 0         Parse::RecDescent::_trace(q{<>},
3667             Parse::RecDescent::_tracefirst($text),
3668             q{arg_list},
3669             $tracelevel)
3670             if defined $::RD_TRACE;
3671 0           $expectation->failed();
3672 0           last;
3673             }
3674 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg_list]<< (return value: [}
3675             . $_tok . q{]},
3676            
3677             Parse::RecDescent::_tracefirst($text),
3678             q{arg_list},
3679             $tracelevel)
3680             if defined $::RD_TRACE;
3681 0           $item{q{arg_list}} = $_tok;
3682 0           push @item, $_tok;
3683            
3684             }
3685              
3686 0 0         Parse::RecDescent::_trace(q{Trying action},
3687             Parse::RecDescent::_tracefirst($text),
3688             q{arg_list},
3689             $tracelevel)
3690             if defined $::RD_TRACE;
3691            
3692              
3693 0 0         $_tok = ($_noactions) ? 0 : do { [ @{ $item[1] }, @{ $item[3] } ] };
  0            
  0            
  0            
3694 0 0         unless (defined $_tok)
3695             {
3696 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
3697             if defined $::RD_TRACE;
3698 0           last;
3699             }
3700 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3701             . $_tok . q{])},
3702             Parse::RecDescent::_tracefirst($text))
3703             if defined $::RD_TRACE;
3704 0           push @item, $_tok;
3705 0           $item{__ACTION1__}=$_tok;
3706            
3707              
3708              
3709 0 0         Parse::RecDescent::_trace(q{>>Matched production: [arg ',' arg_list]<<},
3710             Parse::RecDescent::_tracefirst($text),
3711             q{arg_list},
3712             $tracelevel)
3713             if defined $::RD_TRACE;
3714 0           $_matched = 1;
3715 0           last;
3716             }
3717              
3718              
3719 0   0       while (!$_matched && !$commit)
3720             {
3721            
3722 0 0         Parse::RecDescent::_trace(q{Trying production: [arg]},
3723             Parse::RecDescent::_tracefirst($_[1]),
3724             q{arg_list},
3725             $tracelevel)
3726             if defined $::RD_TRACE;
3727 0           my $thisprod = $thisrule->{"prods"}[1];
3728 0           $text = $_[1];
3729 0           my $_savetext;
3730 0           @item = (q{arg_list});
3731 0           %item = (__RULE__ => q{arg_list});
3732 0           my $repcount = 0;
3733              
3734              
3735 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
3736             Parse::RecDescent::_tracefirst($text),
3737             q{arg_list},
3738             $tracelevel)
3739             if defined $::RD_TRACE;
3740 4     4   52 if (1) { no strict qw{refs};
  4         23  
  4         3111  
  0            
3741 0           $expectation->is(q{})->at($text);
3742 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
3743             {
3744            
3745 0 0         Parse::RecDescent::_trace(q{<>},
3746             Parse::RecDescent::_tracefirst($text),
3747             q{arg_list},
3748             $tracelevel)
3749             if defined $::RD_TRACE;
3750 0           $expectation->failed();
3751 0           last;
3752             }
3753 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
3754             . $_tok . q{]},
3755            
3756             Parse::RecDescent::_tracefirst($text),
3757             q{arg_list},
3758             $tracelevel)
3759             if defined $::RD_TRACE;
3760 0           $item{q{arg}} = $_tok;
3761 0           push @item, $_tok;
3762            
3763             }
3764              
3765 0 0         Parse::RecDescent::_trace(q{Trying action},
3766             Parse::RecDescent::_tracefirst($text),
3767             q{arg_list},
3768             $tracelevel)
3769             if defined $::RD_TRACE;
3770            
3771              
3772 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
3773 0 0         unless (defined $_tok)
3774             {
3775 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
3776             if defined $::RD_TRACE;
3777 0           last;
3778             }
3779 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3780             . $_tok . q{])},
3781             Parse::RecDescent::_tracefirst($text))
3782             if defined $::RD_TRACE;
3783 0           push @item, $_tok;
3784 0           $item{__ACTION1__}=$_tok;
3785            
3786              
3787              
3788 0 0         Parse::RecDescent::_trace(q{>>Matched production: [arg]<<},
3789             Parse::RecDescent::_tracefirst($text),
3790             q{arg_list},
3791             $tracelevel)
3792             if defined $::RD_TRACE;
3793 0           $_matched = 1;
3794 0           last;
3795             }
3796              
3797              
3798 0 0 0       unless ( $_matched || defined($score) )
3799             {
3800            
3801              
3802 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
3803 0 0         Parse::RecDescent::_trace(q{<>},
3804             Parse::RecDescent::_tracefirst($_[1]),
3805             q{arg_list},
3806             $tracelevel)
3807             if defined $::RD_TRACE;
3808 0           return undef;
3809             }
3810 0 0 0       if (!defined($return) && defined($score))
3811             {
3812 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3813             q{arg_list},
3814             $tracelevel)
3815             if defined $::RD_TRACE;
3816 0           $return = $score_return;
3817             }
3818 0           splice @{$thisparser->{errors}}, $err_at;
  0            
3819 0 0         $return = $item[$#item] unless defined $return;
3820 0 0         if (defined $::RD_TRACE)
3821             {
3822 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3823             $return . q{])}, "",
3824             q{arg_list},
3825             $tracelevel);
3826 0           Parse::RecDescent::_trace(q{(consumed: [} .
3827             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3828             Parse::RecDescent::_tracefirst($text),
3829             , q{arg_list},
3830             $tracelevel)
3831             }
3832 0           $_[1] = $text;
3833 0           return $return;
3834             }
3835              
3836             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3837             sub Parse::RecDescent::Java::Javap::Grammar::body
3838             {
3839 0     0     my $thisparser = $_[0];
3840 4     4   25 use vars q{$tracelevel};
  4         9  
  4         4145  
3841 0   0       local $tracelevel = ($tracelevel||0)+1;
3842 0           $ERRORS = 0;
3843 0           my $thisrule = $thisparser->{"rules"}{"body"};
3844            
3845 0 0         Parse::RecDescent::_trace(q{Trying rule: [body]},
3846             Parse::RecDescent::_tracefirst($_[1]),
3847             q{body},
3848             $tracelevel)
3849             if defined $::RD_TRACE;
3850              
3851            
3852 0           my $err_at = @{$thisparser->{errors}};
  0            
3853              
3854 0           my $score;
3855             my $score_return;
3856 0           my $_tok;
3857 0           my $return = undef;
3858 0           my $_matched=0;
3859 0           my $commit=0;
3860 0           my @item = ();
3861 0           my %item = ();
3862 0   0       my $repeating = defined($_[2]) && $_[2];
3863 0   0       my $_noactions = defined($_[3]) && $_[3];
3864 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
3865 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3866 0           my $text;
3867 0           my $lastsep="";
3868 0           my $current_match;
3869 0           my $expectation = new Parse::RecDescent::Expectation(q{body_element});
3870 0           $expectation->at($_[1]);
3871            
3872 0           my $thisline;
3873 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3874              
3875            
3876              
3877 0   0       while (!$_matched && !$commit)
3878             {
3879            
3880 0 0         Parse::RecDescent::_trace(q{Trying production: [body_element]},
3881             Parse::RecDescent::_tracefirst($_[1]),
3882             q{body},
3883             $tracelevel)
3884             if defined $::RD_TRACE;
3885 0           my $thisprod = $thisrule->{"prods"}[0];
3886 0           $text = $_[1];
3887 0           my $_savetext;
3888 0           @item = (q{body});
3889 0           %item = (__RULE__ => q{body});
3890 0           my $repcount = 0;
3891              
3892              
3893 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [body_element]},
3894             Parse::RecDescent::_tracefirst($text),
3895             q{body},
3896             $tracelevel)
3897             if defined $::RD_TRACE;
3898 0           $expectation->is(q{})->at($text);
3899            
3900 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::body_element, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
3901             {
3902 0 0         Parse::RecDescent::_trace(q{<>},
3903             Parse::RecDescent::_tracefirst($text),
3904             q{body},
3905             $tracelevel)
3906             if defined $::RD_TRACE;
3907 0           last;
3908             }
3909 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [body_element]<< (}
3910             . @$_tok . q{ times)},
3911            
3912             Parse::RecDescent::_tracefirst($text),
3913             q{body},
3914             $tracelevel)
3915             if defined $::RD_TRACE;
3916 0           $item{q{body_element(s?)}} = $_tok;
3917 0           push @item, $_tok;
3918            
3919              
3920              
3921 0 0         Parse::RecDescent::_trace(q{Trying action},
3922             Parse::RecDescent::_tracefirst($text),
3923             q{body},
3924             $tracelevel)
3925             if defined $::RD_TRACE;
3926            
3927              
3928 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
3929 0 0         unless (defined $_tok)
3930             {
3931 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
3932             if defined $::RD_TRACE;
3933 0           last;
3934             }
3935 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3936             . $_tok . q{])},
3937             Parse::RecDescent::_tracefirst($text))
3938             if defined $::RD_TRACE;
3939 0           push @item, $_tok;
3940 0           $item{__ACTION1__}=$_tok;
3941            
3942              
3943              
3944 0 0         Parse::RecDescent::_trace(q{>>Matched production: [body_element]<<},
3945             Parse::RecDescent::_tracefirst($text),
3946             q{body},
3947             $tracelevel)
3948             if defined $::RD_TRACE;
3949 0           $_matched = 1;
3950 0           last;
3951             }
3952              
3953              
3954 0 0 0       unless ( $_matched || defined($score) )
3955             {
3956            
3957              
3958 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
3959 0 0         Parse::RecDescent::_trace(q{<>},
3960             Parse::RecDescent::_tracefirst($_[1]),
3961             q{body},
3962             $tracelevel)
3963             if defined $::RD_TRACE;
3964 0           return undef;
3965             }
3966 0 0 0       if (!defined($return) && defined($score))
3967             {
3968 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3969             q{body},
3970             $tracelevel)
3971             if defined $::RD_TRACE;
3972 0           $return = $score_return;
3973             }
3974 0           splice @{$thisparser->{errors}}, $err_at;
  0            
3975 0 0         $return = $item[$#item] unless defined $return;
3976 0 0         if (defined $::RD_TRACE)
3977             {
3978 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3979             $return . q{])}, "",
3980             q{body},
3981             $tracelevel);
3982 0           Parse::RecDescent::_trace(q{(consumed: [} .
3983             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3984             Parse::RecDescent::_tracefirst($text),
3985             , q{body},
3986             $tracelevel)
3987             }
3988 0           $_[1] = $text;
3989 0           return $return;
3990             }
3991              
3992             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3993             sub Parse::RecDescent::Java::Javap::Grammar::byte_code_line
3994             {
3995 0     0     my $thisparser = $_[0];
3996 4     4   26 use vars q{$tracelevel};
  4         7  
  4         3559  
3997 0   0       local $tracelevel = ($tracelevel||0)+1;
3998 0           $ERRORS = 0;
3999 0           my $thisrule = $thisparser->{"rules"}{"byte_code_line"};
4000            
4001 0 0         Parse::RecDescent::_trace(q{Trying rule: [byte_code_line]},
4002             Parse::RecDescent::_tracefirst($_[1]),
4003             q{byte_code_line},
4004             $tracelevel)
4005             if defined $::RD_TRACE;
4006              
4007            
4008 0           my $err_at = @{$thisparser->{errors}};
  0            
4009              
4010 0           my $score;
4011             my $score_return;
4012 0           my $_tok;
4013 0           my $return = undef;
4014 0           my $_matched=0;
4015 0           my $commit=0;
4016 0           my @item = ();
4017 0           my %item = ();
4018 0   0       my $repeating = defined($_[2]) && $_[2];
4019 0   0       my $_noactions = defined($_[3]) && $_[3];
4020 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
4021 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4022 0           my $text;
4023 0           my $lastsep="";
4024 0           my $current_match;
4025 0           my $expectation = new Parse::RecDescent::Expectation(q{/(?!LineNumberTable)[^\\n]*/});
4026 0           $expectation->at($_[1]);
4027            
4028 0           my $thisline;
4029 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4030              
4031            
4032              
4033 0   0       while (!$_matched && !$commit)
4034             {
4035            
4036 0 0         Parse::RecDescent::_trace(q{Trying production: [/(?!LineNumberTable)[^\\n]*/]},
4037             Parse::RecDescent::_tracefirst($_[1]),
4038             q{byte_code_line},
4039             $tracelevel)
4040             if defined $::RD_TRACE;
4041 0           my $thisprod = $thisrule->{"prods"}[0];
4042 0           $text = $_[1];
4043 0           my $_savetext;
4044 0           @item = (q{byte_code_line});
4045 0           %item = (__RULE__ => q{byte_code_line});
4046 0           my $repcount = 0;
4047              
4048              
4049 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/(?!LineNumberTable)[^\\n]*/]}, Parse::RecDescent::_tracefirst($text),
4050             q{byte_code_line},
4051             $tracelevel)
4052             if defined $::RD_TRACE;
4053 0           $lastsep = "";
4054 0           $expectation->is(q{})->at($text);
4055            
4056              
4057 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:(?!LineNumberTable)[^\n]*)/)
  0 0          
4058             {
4059            
4060 0           $expectation->failed();
4061 0 0         Parse::RecDescent::_trace(q{<>},
4062             Parse::RecDescent::_tracefirst($text))
4063             if defined $::RD_TRACE;
4064              
4065 0           last;
4066             }
4067 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4068 0           substr($text,0,length($current_match),q{});
4069 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4070             . $current_match . q{])},
4071             Parse::RecDescent::_tracefirst($text))
4072             if defined $::RD_TRACE;
4073 0           push @item, $item{__PATTERN1__}=$current_match;
4074            
4075              
4076              
4077 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/(?!LineNumberTable)[^\\n]*/]<<},
4078             Parse::RecDescent::_tracefirst($text),
4079             q{byte_code_line},
4080             $tracelevel)
4081             if defined $::RD_TRACE;
4082 0           $_matched = 1;
4083 0           last;
4084             }
4085              
4086              
4087 0 0 0       unless ( $_matched || defined($score) )
4088             {
4089            
4090              
4091 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
4092 0 0         Parse::RecDescent::_trace(q{<>},
4093             Parse::RecDescent::_tracefirst($_[1]),
4094             q{byte_code_line},
4095             $tracelevel)
4096             if defined $::RD_TRACE;
4097 0           return undef;
4098             }
4099 0 0 0       if (!defined($return) && defined($score))
4100             {
4101 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4102             q{byte_code_line},
4103             $tracelevel)
4104             if defined $::RD_TRACE;
4105 0           $return = $score_return;
4106             }
4107 0           splice @{$thisparser->{errors}}, $err_at;
  0            
4108 0 0         $return = $item[$#item] unless defined $return;
4109 0 0         if (defined $::RD_TRACE)
4110             {
4111 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4112             $return . q{])}, "",
4113             q{byte_code_line},
4114             $tracelevel);
4115 0           Parse::RecDescent::_trace(q{(consumed: [} .
4116             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4117             Parse::RecDescent::_tracefirst($text),
4118             , q{byte_code_line},
4119             $tracelevel)
4120             }
4121 0           $_[1] = $text;
4122 0           return $return;
4123             }
4124              
4125             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4126             sub Parse::RecDescent::Java::Javap::Grammar::array_depth
4127             {
4128 0     0     my $thisparser = $_[0];
4129 4     4   23 use vars q{$tracelevel};
  4         9  
  4         4045  
4130 0   0       local $tracelevel = ($tracelevel||0)+1;
4131 0           $ERRORS = 0;
4132 0           my $thisrule = $thisparser->{"rules"}{"array_depth"};
4133            
4134 0 0         Parse::RecDescent::_trace(q{Trying rule: [array_depth]},
4135             Parse::RecDescent::_tracefirst($_[1]),
4136             q{array_depth},
4137             $tracelevel)
4138             if defined $::RD_TRACE;
4139              
4140            
4141 0           my $err_at = @{$thisparser->{errors}};
  0            
4142              
4143 0           my $score;
4144             my $score_return;
4145 0           my $_tok;
4146 0           my $return = undef;
4147 0           my $_matched=0;
4148 0           my $commit=0;
4149 0           my @item = ();
4150 0           my %item = ();
4151 0   0       my $repeating = defined($_[2]) && $_[2];
4152 0   0       my $_noactions = defined($_[3]) && $_[3];
4153 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
4154 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4155 0           my $text;
4156 0           my $lastsep="";
4157 0           my $current_match;
4158 0           my $expectation = new Parse::RecDescent::Expectation(q{ARRAY_LEVEL});
4159 0           $expectation->at($_[1]);
4160            
4161 0           my $thisline;
4162 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4163              
4164            
4165              
4166 0   0       while (!$_matched && !$commit)
4167             {
4168            
4169 0 0         Parse::RecDescent::_trace(q{Trying production: [ARRAY_LEVEL]},
4170             Parse::RecDescent::_tracefirst($_[1]),
4171             q{array_depth},
4172             $tracelevel)
4173             if defined $::RD_TRACE;
4174 0           my $thisprod = $thisrule->{"prods"}[0];
4175 0           $text = $_[1];
4176 0           my $_savetext;
4177 0           @item = (q{array_depth});
4178 0           %item = (__RULE__ => q{array_depth});
4179 0           my $repcount = 0;
4180              
4181              
4182 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [ARRAY_LEVEL]},
4183             Parse::RecDescent::_tracefirst($text),
4184             q{array_depth},
4185             $tracelevel)
4186             if defined $::RD_TRACE;
4187 0           $expectation->is(q{})->at($text);
4188            
4189 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::ARRAY_LEVEL, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
4190             {
4191 0 0         Parse::RecDescent::_trace(q{<>},
4192             Parse::RecDescent::_tracefirst($text),
4193             q{array_depth},
4194             $tracelevel)
4195             if defined $::RD_TRACE;
4196 0           last;
4197             }
4198 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ARRAY_LEVEL]<< (}
4199             . @$_tok . q{ times)},
4200            
4201             Parse::RecDescent::_tracefirst($text),
4202             q{array_depth},
4203             $tracelevel)
4204             if defined $::RD_TRACE;
4205 0           $item{q{ARRAY_LEVEL(s?)}} = $_tok;
4206 0           push @item, $_tok;
4207            
4208              
4209              
4210 0 0         Parse::RecDescent::_trace(q{Trying action},
4211             Parse::RecDescent::_tracefirst($text),
4212             q{array_depth},
4213             $tracelevel)
4214             if defined $::RD_TRACE;
4215            
4216              
4217 0 0         $_tok = ($_noactions) ? 0 : do {
4218 0           my $depth = scalar @{ $item[1] };
  0            
4219 0           $depth;
4220             };
4221 0 0         unless (defined $_tok)
4222             {
4223 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
4224             if defined $::RD_TRACE;
4225 0           last;
4226             }
4227 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4228             . $_tok . q{])},
4229             Parse::RecDescent::_tracefirst($text))
4230             if defined $::RD_TRACE;
4231 0           push @item, $_tok;
4232 0           $item{__ACTION1__}=$_tok;
4233            
4234              
4235              
4236 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ARRAY_LEVEL]<<},
4237             Parse::RecDescent::_tracefirst($text),
4238             q{array_depth},
4239             $tracelevel)
4240             if defined $::RD_TRACE;
4241 0           $_matched = 1;
4242 0           last;
4243             }
4244              
4245              
4246 0 0 0       unless ( $_matched || defined($score) )
4247             {
4248            
4249              
4250 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
4251 0 0         Parse::RecDescent::_trace(q{<>},
4252             Parse::RecDescent::_tracefirst($_[1]),
4253             q{array_depth},
4254             $tracelevel)
4255             if defined $::RD_TRACE;
4256 0           return undef;
4257             }
4258 0 0 0       if (!defined($return) && defined($score))
4259             {
4260 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4261             q{array_depth},
4262             $tracelevel)
4263             if defined $::RD_TRACE;
4264 0           $return = $score_return;
4265             }
4266 0           splice @{$thisparser->{errors}}, $err_at;
  0            
4267 0 0         $return = $item[$#item] unless defined $return;
4268 0 0         if (defined $::RD_TRACE)
4269             {
4270 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4271             $return . q{])}, "",
4272             q{array_depth},
4273             $tracelevel);
4274 0           Parse::RecDescent::_trace(q{(consumed: [} .
4275             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4276             Parse::RecDescent::_tracefirst($text),
4277             , q{array_depth},
4278             $tracelevel)
4279             }
4280 0           $_[1] = $text;
4281 0           return $return;
4282             }
4283              
4284             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4285             sub Parse::RecDescent::Java::Javap::Grammar::method
4286             {
4287 0     0     my $thisparser = $_[0];
4288 4     4   25 use vars q{$tracelevel};
  4         9  
  4         1632  
4289 0   0       local $tracelevel = ($tracelevel||0)+1;
4290 0           $ERRORS = 0;
4291 0           my $thisrule = $thisparser->{"rules"}{"method"};
4292            
4293 0 0         Parse::RecDescent::_trace(q{Trying rule: [method]},
4294             Parse::RecDescent::_tracefirst($_[1]),
4295             q{method},
4296             $tracelevel)
4297             if defined $::RD_TRACE;
4298              
4299            
4300 0           my $err_at = @{$thisparser->{errors}};
  0            
4301              
4302 0           my $score;
4303             my $score_return;
4304 0           my $_tok;
4305 0           my $return = undef;
4306 0           my $_matched=0;
4307 0           my $commit=0;
4308 0           my @item = ();
4309 0           my %item = ();
4310 0   0       my $repeating = defined($_[2]) && $_[2];
4311 0   0       my $_noactions = defined($_[3]) && $_[3];
4312 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
4313 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4314 0           my $text;
4315 0           my $lastsep="";
4316 0           my $current_match;
4317 0           my $expectation = new Parse::RecDescent::Expectation(q{ACCESS});
4318 0           $expectation->at($_[1]);
4319            
4320 0           my $thisline;
4321 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4322              
4323            
4324              
4325 0   0       while (!$_matched && !$commit)
4326             {
4327            
4328 0 0         Parse::RecDescent::_trace(q{Trying production: [ACCESS method_qualifier arg NAME '(' arg_list ')' throws_clause ';' verbose_method_detail]},
4329             Parse::RecDescent::_tracefirst($_[1]),
4330             q{method},
4331             $tracelevel)
4332             if defined $::RD_TRACE;
4333 0           my $thisprod = $thisrule->{"prods"}[0];
4334 0           $text = $_[1];
4335 0           my $_savetext;
4336 0           @item = (q{method});
4337 0           %item = (__RULE__ => q{method});
4338 0           my $repcount = 0;
4339              
4340              
4341 0 0         Parse::RecDescent::_trace(q{Trying subrule: [ACCESS]},
4342             Parse::RecDescent::_tracefirst($text),
4343             q{method},
4344             $tracelevel)
4345             if defined $::RD_TRACE;
4346 4     4   22 if (1) { no strict qw{refs};
  4         7  
  4         1612  
  0            
4347 0           $expectation->is(q{})->at($text);
4348 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::ACCESS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
4349             {
4350            
4351 0 0         Parse::RecDescent::_trace(q{<>},
4352             Parse::RecDescent::_tracefirst($text),
4353             q{method},
4354             $tracelevel)
4355             if defined $::RD_TRACE;
4356 0           $expectation->failed();
4357 0           last;
4358             }
4359 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [ACCESS]<< (return value: [}
4360             . $_tok . q{]},
4361            
4362             Parse::RecDescent::_tracefirst($text),
4363             q{method},
4364             $tracelevel)
4365             if defined $::RD_TRACE;
4366 0           $item{q{ACCESS}} = $_tok;
4367 0           push @item, $_tok;
4368            
4369             }
4370              
4371 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [method_qualifier]},
4372             Parse::RecDescent::_tracefirst($text),
4373             q{method},
4374             $tracelevel)
4375             if defined $::RD_TRACE;
4376 0           $expectation->is(q{method_qualifier})->at($text);
4377            
4378 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::method_qualifier, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
4379             {
4380 0 0         Parse::RecDescent::_trace(q{<>},
4381             Parse::RecDescent::_tracefirst($text),
4382             q{method},
4383             $tracelevel)
4384             if defined $::RD_TRACE;
4385 0           last;
4386             }
4387 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [method_qualifier]<< (}
4388             . @$_tok . q{ times)},
4389            
4390             Parse::RecDescent::_tracefirst($text),
4391             q{method},
4392             $tracelevel)
4393             if defined $::RD_TRACE;
4394 0           $item{q{method_qualifier(s?)}} = $_tok;
4395 0           push @item, $_tok;
4396            
4397              
4398              
4399 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
4400             Parse::RecDescent::_tracefirst($text),
4401             q{method},
4402             $tracelevel)
4403             if defined $::RD_TRACE;
4404 4     4   22 if (1) { no strict qw{refs};
  4         8  
  4         934  
  0            
4405 0           $expectation->is(q{arg})->at($text);
4406 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
4407             {
4408            
4409 0 0         Parse::RecDescent::_trace(q{<>},
4410             Parse::RecDescent::_tracefirst($text),
4411             q{method},
4412             $tracelevel)
4413             if defined $::RD_TRACE;
4414 0           $expectation->failed();
4415 0           last;
4416             }
4417 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
4418             . $_tok . q{]},
4419            
4420             Parse::RecDescent::_tracefirst($text),
4421             q{method},
4422             $tracelevel)
4423             if defined $::RD_TRACE;
4424 0           $item{q{arg}} = $_tok;
4425 0           push @item, $_tok;
4426            
4427             }
4428              
4429 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
4430             Parse::RecDescent::_tracefirst($text),
4431             q{method},
4432             $tracelevel)
4433             if defined $::RD_TRACE;
4434 4     4   21 if (1) { no strict qw{refs};
  4         6  
  4         6361  
  0            
4435 0           $expectation->is(q{NAME})->at($text);
4436 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
4437             {
4438            
4439 0 0         Parse::RecDescent::_trace(q{<>},
4440             Parse::RecDescent::_tracefirst($text),
4441             q{method},
4442             $tracelevel)
4443             if defined $::RD_TRACE;
4444 0           $expectation->failed();
4445 0           last;
4446             }
4447 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
4448             . $_tok . q{]},
4449            
4450             Parse::RecDescent::_tracefirst($text),
4451             q{method},
4452             $tracelevel)
4453             if defined $::RD_TRACE;
4454 0           $item{q{NAME}} = $_tok;
4455 0           push @item, $_tok;
4456            
4457             }
4458              
4459 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['(']},
4460             Parse::RecDescent::_tracefirst($text),
4461             q{method},
4462             $tracelevel)
4463             if defined $::RD_TRACE;
4464 0           $lastsep = "";
4465 0           $expectation->is(q{'('})->at($text);
4466            
4467              
4468 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  0 0          
4469             {
4470            
4471 0           $expectation->failed();
4472 0 0         Parse::RecDescent::_trace(qq{<>},
4473             Parse::RecDescent::_tracefirst($text))
4474             if defined $::RD_TRACE;
4475 0           last;
4476             }
4477 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4478 0           substr($text,0,length($current_match),q{});
4479 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4480             . $current_match . q{])},
4481             Parse::RecDescent::_tracefirst($text))
4482             if defined $::RD_TRACE;
4483 0           push @item, $item{__STRING1__}=$current_match;
4484            
4485              
4486 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [arg_list]},
4487             Parse::RecDescent::_tracefirst($text),
4488             q{method},
4489             $tracelevel)
4490             if defined $::RD_TRACE;
4491 0           $expectation->is(q{arg_list})->at($text);
4492            
4493 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::arg_list, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
4494             {
4495 0 0         Parse::RecDescent::_trace(q{<>},
4496             Parse::RecDescent::_tracefirst($text),
4497             q{method},
4498             $tracelevel)
4499             if defined $::RD_TRACE;
4500 0           last;
4501             }
4502 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [arg_list]<< (}
4503             . @$_tok . q{ times)},
4504            
4505             Parse::RecDescent::_tracefirst($text),
4506             q{method},
4507             $tracelevel)
4508             if defined $::RD_TRACE;
4509 0           $item{q{arg_list(?)}} = $_tok;
4510 0           push @item, $_tok;
4511            
4512              
4513              
4514 0 0         Parse::RecDescent::_trace(q{Trying terminal: [')']},
4515             Parse::RecDescent::_tracefirst($text),
4516             q{method},
4517             $tracelevel)
4518             if defined $::RD_TRACE;
4519 0           $lastsep = "";
4520 0           $expectation->is(q{')'})->at($text);
4521            
4522              
4523 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  0 0          
4524             {
4525            
4526 0           $expectation->failed();
4527 0 0         Parse::RecDescent::_trace(qq{<>},
4528             Parse::RecDescent::_tracefirst($text))
4529             if defined $::RD_TRACE;
4530 0           last;
4531             }
4532 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4533 0           substr($text,0,length($current_match),q{});
4534 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4535             . $current_match . q{])},
4536             Parse::RecDescent::_tracefirst($text))
4537             if defined $::RD_TRACE;
4538 0           push @item, $item{__STRING2__}=$current_match;
4539            
4540              
4541 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [throws_clause]},
4542             Parse::RecDescent::_tracefirst($text),
4543             q{method},
4544             $tracelevel)
4545             if defined $::RD_TRACE;
4546 0           $expectation->is(q{throws_clause})->at($text);
4547            
4548 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::throws_clause, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
4549             {
4550 0 0         Parse::RecDescent::_trace(q{<>},
4551             Parse::RecDescent::_tracefirst($text),
4552             q{method},
4553             $tracelevel)
4554             if defined $::RD_TRACE;
4555 0           last;
4556             }
4557 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [throws_clause]<< (}
4558             . @$_tok . q{ times)},
4559            
4560             Parse::RecDescent::_tracefirst($text),
4561             q{method},
4562             $tracelevel)
4563             if defined $::RD_TRACE;
4564 0           $item{q{throws_clause(?)}} = $_tok;
4565 0           push @item, $_tok;
4566            
4567              
4568              
4569 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
4570             Parse::RecDescent::_tracefirst($text),
4571             q{method},
4572             $tracelevel)
4573             if defined $::RD_TRACE;
4574 0           $lastsep = "";
4575 0           $expectation->is(q{';'})->at($text);
4576            
4577              
4578 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
4579             {
4580            
4581 0           $expectation->failed();
4582 0 0         Parse::RecDescent::_trace(qq{<>},
4583             Parse::RecDescent::_tracefirst($text))
4584             if defined $::RD_TRACE;
4585 0           last;
4586             }
4587 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4588 0           substr($text,0,length($current_match),q{});
4589 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4590             . $current_match . q{])},
4591             Parse::RecDescent::_tracefirst($text))
4592             if defined $::RD_TRACE;
4593 0           push @item, $item{__STRING3__}=$current_match;
4594            
4595              
4596 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [verbose_method_detail]},
4597             Parse::RecDescent::_tracefirst($text),
4598             q{method},
4599             $tracelevel)
4600             if defined $::RD_TRACE;
4601 0           $expectation->is(q{verbose_method_detail})->at($text);
4602            
4603 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::verbose_method_detail, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
4604             {
4605 0 0         Parse::RecDescent::_trace(q{<>},
4606             Parse::RecDescent::_tracefirst($text),
4607             q{method},
4608             $tracelevel)
4609             if defined $::RD_TRACE;
4610 0           last;
4611             }
4612 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [verbose_method_detail]<< (}
4613             . @$_tok . q{ times)},
4614            
4615             Parse::RecDescent::_tracefirst($text),
4616             q{method},
4617             $tracelevel)
4618             if defined $::RD_TRACE;
4619 0           $item{q{verbose_method_detail(s?)}} = $_tok;
4620 0           push @item, $_tok;
4621            
4622              
4623              
4624 0 0         Parse::RecDescent::_trace(q{Trying action},
4625             Parse::RecDescent::_tracefirst($text),
4626             q{method},
4627             $tracelevel)
4628             if defined $::RD_TRACE;
4629            
4630              
4631 0 0         $_tok = ($_noactions) ? 0 : do {
4632 0           $methods{ $item[4] }++;
4633             {
4634 0   0       body_element => 'method',
      0        
4635             access => $item[1],
4636             attrs => $item[2],
4637             type => $item[3][0],
4638             name => $item[4],
4639             args => $item{ 'arg_list(?)' }[0] || [],
4640             throws => $item{ 'throws_clause(?)' }[0] || [],
4641             }
4642             };
4643 0 0         unless (defined $_tok)
4644             {
4645 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
4646             if defined $::RD_TRACE;
4647 0           last;
4648             }
4649 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4650             . $_tok . q{])},
4651             Parse::RecDescent::_tracefirst($text))
4652             if defined $::RD_TRACE;
4653 0           push @item, $_tok;
4654 0           $item{__ACTION1__}=$_tok;
4655            
4656              
4657              
4658 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ACCESS method_qualifier arg NAME '(' arg_list ')' throws_clause ';' verbose_method_detail]<<},
4659             Parse::RecDescent::_tracefirst($text),
4660             q{method},
4661             $tracelevel)
4662             if defined $::RD_TRACE;
4663 0           $_matched = 1;
4664 0           last;
4665             }
4666              
4667              
4668 0   0       while (!$_matched && !$commit)
4669             {
4670            
4671 0 0         Parse::RecDescent::_trace(q{Trying production: [ACCESS /(native)?/ qualified_name '(' arg_list ')' throws_clause ';' verbose_method_detail]},
4672             Parse::RecDescent::_tracefirst($_[1]),
4673             q{method},
4674             $tracelevel)
4675             if defined $::RD_TRACE;
4676 0           my $thisprod = $thisrule->{"prods"}[1];
4677 0           $text = $_[1];
4678 0           my $_savetext;
4679 0           @item = (q{method});
4680 0           %item = (__RULE__ => q{method});
4681 0           my $repcount = 0;
4682              
4683              
4684 0 0         Parse::RecDescent::_trace(q{Trying subrule: [ACCESS]},
4685             Parse::RecDescent::_tracefirst($text),
4686             q{method},
4687             $tracelevel)
4688             if defined $::RD_TRACE;
4689 4     4   21 if (1) { no strict qw{refs};
  4         9  
  4         1754  
  0            
4690 0           $expectation->is(q{})->at($text);
4691 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::ACCESS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
4692             {
4693            
4694 0 0         Parse::RecDescent::_trace(q{<>},
4695             Parse::RecDescent::_tracefirst($text),
4696             q{method},
4697             $tracelevel)
4698             if defined $::RD_TRACE;
4699 0           $expectation->failed();
4700 0           last;
4701             }
4702 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [ACCESS]<< (return value: [}
4703             . $_tok . q{]},
4704            
4705             Parse::RecDescent::_tracefirst($text),
4706             q{method},
4707             $tracelevel)
4708             if defined $::RD_TRACE;
4709 0           $item{q{ACCESS}} = $_tok;
4710 0           push @item, $_tok;
4711            
4712             }
4713              
4714 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/(native)?/]}, Parse::RecDescent::_tracefirst($text),
4715             q{method},
4716             $tracelevel)
4717             if defined $::RD_TRACE;
4718 0           $lastsep = "";
4719 0           $expectation->is(q{/(native)?/})->at($text);
4720            
4721              
4722 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:(native)?)/)
  0 0          
4723             {
4724            
4725 0           $expectation->failed();
4726 0 0         Parse::RecDescent::_trace(q{<>},
4727             Parse::RecDescent::_tracefirst($text))
4728             if defined $::RD_TRACE;
4729              
4730 0           last;
4731             }
4732 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4733 0           substr($text,0,length($current_match),q{});
4734 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4735             . $current_match . q{])},
4736             Parse::RecDescent::_tracefirst($text))
4737             if defined $::RD_TRACE;
4738 0           push @item, $item{__PATTERN1__}=$current_match;
4739            
4740              
4741 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
4742             Parse::RecDescent::_tracefirst($text),
4743             q{method},
4744             $tracelevel)
4745             if defined $::RD_TRACE;
4746 4     4   26 if (1) { no strict qw{refs};
  4         16  
  4         9409  
  0            
4747 0           $expectation->is(q{qualified_name})->at($text);
4748 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
4749             {
4750            
4751 0 0         Parse::RecDescent::_trace(q{<>},
4752             Parse::RecDescent::_tracefirst($text),
4753             q{method},
4754             $tracelevel)
4755             if defined $::RD_TRACE;
4756 0           $expectation->failed();
4757 0           last;
4758             }
4759 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
4760             . $_tok . q{]},
4761            
4762             Parse::RecDescent::_tracefirst($text),
4763             q{method},
4764             $tracelevel)
4765             if defined $::RD_TRACE;
4766 0           $item{q{qualified_name}} = $_tok;
4767 0           push @item, $_tok;
4768            
4769             }
4770              
4771 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['(']},
4772             Parse::RecDescent::_tracefirst($text),
4773             q{method},
4774             $tracelevel)
4775             if defined $::RD_TRACE;
4776 0           $lastsep = "";
4777 0           $expectation->is(q{'('})->at($text);
4778            
4779              
4780 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\(/)
  0 0          
4781             {
4782            
4783 0           $expectation->failed();
4784 0 0         Parse::RecDescent::_trace(qq{<>},
4785             Parse::RecDescent::_tracefirst($text))
4786             if defined $::RD_TRACE;
4787 0           last;
4788             }
4789 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4790 0           substr($text,0,length($current_match),q{});
4791 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4792             . $current_match . q{])},
4793             Parse::RecDescent::_tracefirst($text))
4794             if defined $::RD_TRACE;
4795 0           push @item, $item{__STRING1__}=$current_match;
4796            
4797              
4798 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [arg_list]},
4799             Parse::RecDescent::_tracefirst($text),
4800             q{method},
4801             $tracelevel)
4802             if defined $::RD_TRACE;
4803 0           $expectation->is(q{arg_list})->at($text);
4804            
4805 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::arg_list, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
4806             {
4807 0 0         Parse::RecDescent::_trace(q{<>},
4808             Parse::RecDescent::_tracefirst($text),
4809             q{method},
4810             $tracelevel)
4811             if defined $::RD_TRACE;
4812 0           last;
4813             }
4814 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [arg_list]<< (}
4815             . @$_tok . q{ times)},
4816            
4817             Parse::RecDescent::_tracefirst($text),
4818             q{method},
4819             $tracelevel)
4820             if defined $::RD_TRACE;
4821 0           $item{q{arg_list(?)}} = $_tok;
4822 0           push @item, $_tok;
4823            
4824              
4825              
4826 0 0         Parse::RecDescent::_trace(q{Trying terminal: [')']},
4827             Parse::RecDescent::_tracefirst($text),
4828             q{method},
4829             $tracelevel)
4830             if defined $::RD_TRACE;
4831 0           $lastsep = "";
4832 0           $expectation->is(q{')'})->at($text);
4833            
4834              
4835 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\)/)
  0 0          
4836             {
4837            
4838 0           $expectation->failed();
4839 0 0         Parse::RecDescent::_trace(qq{<>},
4840             Parse::RecDescent::_tracefirst($text))
4841             if defined $::RD_TRACE;
4842 0           last;
4843             }
4844 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4845 0           substr($text,0,length($current_match),q{});
4846 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4847             . $current_match . q{])},
4848             Parse::RecDescent::_tracefirst($text))
4849             if defined $::RD_TRACE;
4850 0           push @item, $item{__STRING2__}=$current_match;
4851            
4852              
4853 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [throws_clause]},
4854             Parse::RecDescent::_tracefirst($text),
4855             q{method},
4856             $tracelevel)
4857             if defined $::RD_TRACE;
4858 0           $expectation->is(q{throws_clause})->at($text);
4859            
4860 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::throws_clause, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
4861             {
4862 0 0         Parse::RecDescent::_trace(q{<>},
4863             Parse::RecDescent::_tracefirst($text),
4864             q{method},
4865             $tracelevel)
4866             if defined $::RD_TRACE;
4867 0           last;
4868             }
4869 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [throws_clause]<< (}
4870             . @$_tok . q{ times)},
4871            
4872             Parse::RecDescent::_tracefirst($text),
4873             q{method},
4874             $tracelevel)
4875             if defined $::RD_TRACE;
4876 0           $item{q{throws_clause(?)}} = $_tok;
4877 0           push @item, $_tok;
4878            
4879              
4880              
4881 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
4882             Parse::RecDescent::_tracefirst($text),
4883             q{method},
4884             $tracelevel)
4885             if defined $::RD_TRACE;
4886 0           $lastsep = "";
4887 0           $expectation->is(q{';'})->at($text);
4888            
4889              
4890 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
4891             {
4892            
4893 0           $expectation->failed();
4894 0 0         Parse::RecDescent::_trace(qq{<>},
4895             Parse::RecDescent::_tracefirst($text))
4896             if defined $::RD_TRACE;
4897 0           last;
4898             }
4899 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
4900 0           substr($text,0,length($current_match),q{});
4901 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4902             . $current_match . q{])},
4903             Parse::RecDescent::_tracefirst($text))
4904             if defined $::RD_TRACE;
4905 0           push @item, $item{__STRING3__}=$current_match;
4906            
4907              
4908 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [verbose_method_detail]},
4909             Parse::RecDescent::_tracefirst($text),
4910             q{method},
4911             $tracelevel)
4912             if defined $::RD_TRACE;
4913 0           $expectation->is(q{verbose_method_detail})->at($text);
4914            
4915 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::verbose_method_detail, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
4916             {
4917 0 0         Parse::RecDescent::_trace(q{<>},
4918             Parse::RecDescent::_tracefirst($text),
4919             q{method},
4920             $tracelevel)
4921             if defined $::RD_TRACE;
4922 0           last;
4923             }
4924 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [verbose_method_detail]<< (}
4925             . @$_tok . q{ times)},
4926            
4927             Parse::RecDescent::_tracefirst($text),
4928             q{method},
4929             $tracelevel)
4930             if defined $::RD_TRACE;
4931 0           $item{q{verbose_method_detail(s?)}} = $_tok;
4932 0           push @item, $_tok;
4933            
4934              
4935              
4936 0 0         Parse::RecDescent::_trace(q{Trying action},
4937             Parse::RecDescent::_tracefirst($text),
4938             q{method},
4939             $tracelevel)
4940             if defined $::RD_TRACE;
4941            
4942              
4943 0 0         $_tok = ($_noactions) ? 0 : do {
4944 0           $constructors++;
4945 0           $methods{ 'new' }++;
4946             {
4947 0 0 0       body_element => 'constructor',
      0        
4948             access => $item[1],
4949             native => ( $item[2] eq 'native' ) ? 'native' : '',
4950             args => $item{ 'arg_list(?)' }[0] || [],
4951             throws => $item{ 'throws_clause(?)' }[0] || [],
4952             # add name and type so constructor data is like a method
4953             name => 'new',
4954             type => {
4955             array_depth => 0,
4956             array_text => '',
4957             name => $item[3],
4958             },
4959             }
4960             };
4961 0 0         unless (defined $_tok)
4962             {
4963 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
4964             if defined $::RD_TRACE;
4965 0           last;
4966             }
4967 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4968             . $_tok . q{])},
4969             Parse::RecDescent::_tracefirst($text))
4970             if defined $::RD_TRACE;
4971 0           push @item, $_tok;
4972 0           $item{__ACTION1__}=$_tok;
4973            
4974              
4975              
4976 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ACCESS /(native)?/ qualified_name '(' arg_list ')' throws_clause ';' verbose_method_detail]<<},
4977             Parse::RecDescent::_tracefirst($text),
4978             q{method},
4979             $tracelevel)
4980             if defined $::RD_TRACE;
4981 0           $_matched = 1;
4982 0           last;
4983             }
4984              
4985              
4986 0 0 0       unless ( $_matched || defined($score) )
4987             {
4988            
4989              
4990 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
4991 0 0         Parse::RecDescent::_trace(q{<>},
4992             Parse::RecDescent::_tracefirst($_[1]),
4993             q{method},
4994             $tracelevel)
4995             if defined $::RD_TRACE;
4996 0           return undef;
4997             }
4998 0 0 0       if (!defined($return) && defined($score))
4999             {
5000 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5001             q{method},
5002             $tracelevel)
5003             if defined $::RD_TRACE;
5004 0           $return = $score_return;
5005             }
5006 0           splice @{$thisparser->{errors}}, $err_at;
  0            
5007 0 0         $return = $item[$#item] unless defined $return;
5008 0 0         if (defined $::RD_TRACE)
5009             {
5010 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5011             $return . q{])}, "",
5012             q{method},
5013             $tracelevel);
5014 0           Parse::RecDescent::_trace(q{(consumed: [} .
5015             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5016             Parse::RecDescent::_tracefirst($text),
5017             , q{method},
5018             $tracelevel)
5019             }
5020 0           $_[1] = $text;
5021 0           return $return;
5022             }
5023              
5024             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5025             sub Parse::RecDescent::Java::Javap::Grammar::verbose_method_detail
5026             {
5027 0     0     my $thisparser = $_[0];
5028 4     4   29 use vars q{$tracelevel};
  4         11  
  4         1628  
5029 0   0       local $tracelevel = ($tracelevel||0)+1;
5030 0           $ERRORS = 0;
5031 0           my $thisrule = $thisparser->{"rules"}{"verbose_method_detail"};
5032            
5033 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_method_detail]},
5034             Parse::RecDescent::_tracefirst($_[1]),
5035             q{verbose_method_detail},
5036             $tracelevel)
5037             if defined $::RD_TRACE;
5038              
5039            
5040 0           my $err_at = @{$thisparser->{errors}};
  0            
5041              
5042 0           my $score;
5043             my $score_return;
5044 0           my $_tok;
5045 0           my $return = undef;
5046 0           my $_matched=0;
5047 0           my $commit=0;
5048 0           my @item = ();
5049 0           my %item = ();
5050 0   0       my $repeating = defined($_[2]) && $_[2];
5051 0   0       my $_noactions = defined($_[3]) && $_[3];
5052 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
5053 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5054 0           my $text;
5055 0           my $lastsep="";
5056 0           my $current_match;
5057 0           my $expectation = new Parse::RecDescent::Expectation(q{verbose_method_code, or verbose_line_number_table, or verbose_method_deprecated, or verbose_exceptions, or verbose_signature, or verbose_annotations});
5058 0           $expectation->at($_[1]);
5059            
5060 0           my $thisline;
5061 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5062              
5063            
5064              
5065 0   0       while (!$_matched && !$commit)
5066             {
5067            
5068 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_method_code]},
5069             Parse::RecDescent::_tracefirst($_[1]),
5070             q{verbose_method_detail},
5071             $tracelevel)
5072             if defined $::RD_TRACE;
5073 0           my $thisprod = $thisrule->{"prods"}[0];
5074 0           $text = $_[1];
5075 0           my $_savetext;
5076 0           @item = (q{verbose_method_detail});
5077 0           %item = (__RULE__ => q{verbose_method_detail});
5078 0           my $repcount = 0;
5079              
5080              
5081 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_method_code]},
5082             Parse::RecDescent::_tracefirst($text),
5083             q{verbose_method_detail},
5084             $tracelevel)
5085             if defined $::RD_TRACE;
5086 4     4   26 if (1) { no strict qw{refs};
  4         7  
  4         1286  
  0            
5087 0           $expectation->is(q{})->at($text);
5088 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_method_code($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5089             {
5090            
5091 0 0         Parse::RecDescent::_trace(q{<>},
5092             Parse::RecDescent::_tracefirst($text),
5093             q{verbose_method_detail},
5094             $tracelevel)
5095             if defined $::RD_TRACE;
5096 0           $expectation->failed();
5097 0           last;
5098             }
5099 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_method_code]<< (return value: [}
5100             . $_tok . q{]},
5101            
5102             Parse::RecDescent::_tracefirst($text),
5103             q{verbose_method_detail},
5104             $tracelevel)
5105             if defined $::RD_TRACE;
5106 0           $item{q{verbose_method_code}} = $_tok;
5107 0           push @item, $_tok;
5108            
5109             }
5110              
5111              
5112 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_method_code]<<},
5113             Parse::RecDescent::_tracefirst($text),
5114             q{verbose_method_detail},
5115             $tracelevel)
5116             if defined $::RD_TRACE;
5117 0           $_matched = 1;
5118 0           last;
5119             }
5120              
5121              
5122 0   0       while (!$_matched && !$commit)
5123             {
5124            
5125 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_line_number_table]},
5126             Parse::RecDescent::_tracefirst($_[1]),
5127             q{verbose_method_detail},
5128             $tracelevel)
5129             if defined $::RD_TRACE;
5130 0           my $thisprod = $thisrule->{"prods"}[1];
5131 0           $text = $_[1];
5132 0           my $_savetext;
5133 0           @item = (q{verbose_method_detail});
5134 0           %item = (__RULE__ => q{verbose_method_detail});
5135 0           my $repcount = 0;
5136              
5137              
5138 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_line_number_table]},
5139             Parse::RecDescent::_tracefirst($text),
5140             q{verbose_method_detail},
5141             $tracelevel)
5142             if defined $::RD_TRACE;
5143 4     4   19 if (1) { no strict qw{refs};
  4         7  
  4         1343  
  0            
5144 0           $expectation->is(q{})->at($text);
5145 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_line_number_table($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5146             {
5147            
5148 0 0         Parse::RecDescent::_trace(q{<>},
5149             Parse::RecDescent::_tracefirst($text),
5150             q{verbose_method_detail},
5151             $tracelevel)
5152             if defined $::RD_TRACE;
5153 0           $expectation->failed();
5154 0           last;
5155             }
5156 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_line_number_table]<< (return value: [}
5157             . $_tok . q{]},
5158            
5159             Parse::RecDescent::_tracefirst($text),
5160             q{verbose_method_detail},
5161             $tracelevel)
5162             if defined $::RD_TRACE;
5163 0           $item{q{verbose_line_number_table}} = $_tok;
5164 0           push @item, $_tok;
5165            
5166             }
5167              
5168              
5169 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_line_number_table]<<},
5170             Parse::RecDescent::_tracefirst($text),
5171             q{verbose_method_detail},
5172             $tracelevel)
5173             if defined $::RD_TRACE;
5174 0           $_matched = 1;
5175 0           last;
5176             }
5177              
5178              
5179 0   0       while (!$_matched && !$commit)
5180             {
5181            
5182 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_method_deprecated]},
5183             Parse::RecDescent::_tracefirst($_[1]),
5184             q{verbose_method_detail},
5185             $tracelevel)
5186             if defined $::RD_TRACE;
5187 0           my $thisprod = $thisrule->{"prods"}[2];
5188 0           $text = $_[1];
5189 0           my $_savetext;
5190 0           @item = (q{verbose_method_detail});
5191 0           %item = (__RULE__ => q{verbose_method_detail});
5192 0           my $repcount = 0;
5193              
5194              
5195 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_method_deprecated]},
5196             Parse::RecDescent::_tracefirst($text),
5197             q{verbose_method_detail},
5198             $tracelevel)
5199             if defined $::RD_TRACE;
5200 4     4   29 if (1) { no strict qw{refs};
  4         8  
  4         1421  
  0            
5201 0           $expectation->is(q{})->at($text);
5202 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_method_deprecated($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5203             {
5204            
5205 0 0         Parse::RecDescent::_trace(q{<>},
5206             Parse::RecDescent::_tracefirst($text),
5207             q{verbose_method_detail},
5208             $tracelevel)
5209             if defined $::RD_TRACE;
5210 0           $expectation->failed();
5211 0           last;
5212             }
5213 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_method_deprecated]<< (return value: [}
5214             . $_tok . q{]},
5215            
5216             Parse::RecDescent::_tracefirst($text),
5217             q{verbose_method_detail},
5218             $tracelevel)
5219             if defined $::RD_TRACE;
5220 0           $item{q{verbose_method_deprecated}} = $_tok;
5221 0           push @item, $_tok;
5222            
5223             }
5224              
5225              
5226 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_method_deprecated]<<},
5227             Parse::RecDescent::_tracefirst($text),
5228             q{verbose_method_detail},
5229             $tracelevel)
5230             if defined $::RD_TRACE;
5231 0           $_matched = 1;
5232 0           last;
5233             }
5234              
5235              
5236 0   0       while (!$_matched && !$commit)
5237             {
5238            
5239 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_exceptions]},
5240             Parse::RecDescent::_tracefirst($_[1]),
5241             q{verbose_method_detail},
5242             $tracelevel)
5243             if defined $::RD_TRACE;
5244 0           my $thisprod = $thisrule->{"prods"}[3];
5245 0           $text = $_[1];
5246 0           my $_savetext;
5247 0           @item = (q{verbose_method_detail});
5248 0           %item = (__RULE__ => q{verbose_method_detail});
5249 0           my $repcount = 0;
5250              
5251              
5252 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_exceptions]},
5253             Parse::RecDescent::_tracefirst($text),
5254             q{verbose_method_detail},
5255             $tracelevel)
5256             if defined $::RD_TRACE;
5257 4     4   23 if (1) { no strict qw{refs};
  4         7  
  4         1634  
  0            
5258 0           $expectation->is(q{})->at($text);
5259 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_exceptions($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5260             {
5261            
5262 0 0         Parse::RecDescent::_trace(q{<>},
5263             Parse::RecDescent::_tracefirst($text),
5264             q{verbose_method_detail},
5265             $tracelevel)
5266             if defined $::RD_TRACE;
5267 0           $expectation->failed();
5268 0           last;
5269             }
5270 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_exceptions]<< (return value: [}
5271             . $_tok . q{]},
5272            
5273             Parse::RecDescent::_tracefirst($text),
5274             q{verbose_method_detail},
5275             $tracelevel)
5276             if defined $::RD_TRACE;
5277 0           $item{q{verbose_exceptions}} = $_tok;
5278 0           push @item, $_tok;
5279            
5280             }
5281              
5282              
5283 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_exceptions]<<},
5284             Parse::RecDescent::_tracefirst($text),
5285             q{verbose_method_detail},
5286             $tracelevel)
5287             if defined $::RD_TRACE;
5288 0           $_matched = 1;
5289 0           last;
5290             }
5291              
5292              
5293 0   0       while (!$_matched && !$commit)
5294             {
5295            
5296 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_signature]},
5297             Parse::RecDescent::_tracefirst($_[1]),
5298             q{verbose_method_detail},
5299             $tracelevel)
5300             if defined $::RD_TRACE;
5301 0           my $thisprod = $thisrule->{"prods"}[4];
5302 0           $text = $_[1];
5303 0           my $_savetext;
5304 0           @item = (q{verbose_method_detail});
5305 0           %item = (__RULE__ => q{verbose_method_detail});
5306 0           my $repcount = 0;
5307              
5308              
5309 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_signature]},
5310             Parse::RecDescent::_tracefirst($text),
5311             q{verbose_method_detail},
5312             $tracelevel)
5313             if defined $::RD_TRACE;
5314 4     4   25 if (1) { no strict qw{refs};
  4         8  
  4         1658  
  0            
5315 0           $expectation->is(q{})->at($text);
5316 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_signature($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5317             {
5318            
5319 0 0         Parse::RecDescent::_trace(q{<>},
5320             Parse::RecDescent::_tracefirst($text),
5321             q{verbose_method_detail},
5322             $tracelevel)
5323             if defined $::RD_TRACE;
5324 0           $expectation->failed();
5325 0           last;
5326             }
5327 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_signature]<< (return value: [}
5328             . $_tok . q{]},
5329            
5330             Parse::RecDescent::_tracefirst($text),
5331             q{verbose_method_detail},
5332             $tracelevel)
5333             if defined $::RD_TRACE;
5334 0           $item{q{verbose_signature}} = $_tok;
5335 0           push @item, $_tok;
5336            
5337             }
5338              
5339              
5340 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_signature]<<},
5341             Parse::RecDescent::_tracefirst($text),
5342             q{verbose_method_detail},
5343             $tracelevel)
5344             if defined $::RD_TRACE;
5345 0           $_matched = 1;
5346 0           last;
5347             }
5348              
5349              
5350 0   0       while (!$_matched && !$commit)
5351             {
5352            
5353 0 0         Parse::RecDescent::_trace(q{Trying production: [verbose_annotations]},
5354             Parse::RecDescent::_tracefirst($_[1]),
5355             q{verbose_method_detail},
5356             $tracelevel)
5357             if defined $::RD_TRACE;
5358 0           my $thisprod = $thisrule->{"prods"}[5];
5359 0           $text = $_[1];
5360 0           my $_savetext;
5361 0           @item = (q{verbose_method_detail});
5362 0           %item = (__RULE__ => q{verbose_method_detail});
5363 0           my $repcount = 0;
5364              
5365              
5366 0 0         Parse::RecDescent::_trace(q{Trying subrule: [verbose_annotations]},
5367             Parse::RecDescent::_tracefirst($text),
5368             q{verbose_method_detail},
5369             $tracelevel)
5370             if defined $::RD_TRACE;
5371 4     4   24 if (1) { no strict qw{refs};
  4         9  
  4         2771  
  0            
5372 0           $expectation->is(q{})->at($text);
5373 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::verbose_annotations($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5374             {
5375            
5376 0 0         Parse::RecDescent::_trace(q{<>},
5377             Parse::RecDescent::_tracefirst($text),
5378             q{verbose_method_detail},
5379             $tracelevel)
5380             if defined $::RD_TRACE;
5381 0           $expectation->failed();
5382 0           last;
5383             }
5384 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [verbose_annotations]<< (return value: [}
5385             . $_tok . q{]},
5386            
5387             Parse::RecDescent::_tracefirst($text),
5388             q{verbose_method_detail},
5389             $tracelevel)
5390             if defined $::RD_TRACE;
5391 0           $item{q{verbose_annotations}} = $_tok;
5392 0           push @item, $_tok;
5393            
5394             }
5395              
5396              
5397 0 0         Parse::RecDescent::_trace(q{>>Matched production: [verbose_annotations]<<},
5398             Parse::RecDescent::_tracefirst($text),
5399             q{verbose_method_detail},
5400             $tracelevel)
5401             if defined $::RD_TRACE;
5402 0           $_matched = 1;
5403 0           last;
5404             }
5405              
5406              
5407 0 0 0       unless ( $_matched || defined($score) )
5408             {
5409            
5410              
5411 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
5412 0 0         Parse::RecDescent::_trace(q{<>},
5413             Parse::RecDescent::_tracefirst($_[1]),
5414             q{verbose_method_detail},
5415             $tracelevel)
5416             if defined $::RD_TRACE;
5417 0           return undef;
5418             }
5419 0 0 0       if (!defined($return) && defined($score))
5420             {
5421 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5422             q{verbose_method_detail},
5423             $tracelevel)
5424             if defined $::RD_TRACE;
5425 0           $return = $score_return;
5426             }
5427 0           splice @{$thisparser->{errors}}, $err_at;
  0            
5428 0 0         $return = $item[$#item] unless defined $return;
5429 0 0         if (defined $::RD_TRACE)
5430             {
5431 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5432             $return . q{])}, "",
5433             q{verbose_method_detail},
5434             $tracelevel);
5435 0           Parse::RecDescent::_trace(q{(consumed: [} .
5436             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5437             Parse::RecDescent::_tracefirst($text),
5438             , q{verbose_method_detail},
5439             $tracelevel)
5440             }
5441 0           $_[1] = $text;
5442 0           return $return;
5443             }
5444              
5445             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5446             sub Parse::RecDescent::Java::Javap::Grammar::comp_unit
5447             {
5448 0     0     my $thisparser = $_[0];
5449 4     4   27 use vars q{$tracelevel};
  4         9  
  4         2405  
5450 0   0       local $tracelevel = ($tracelevel||0)+1;
5451 0           $ERRORS = 0;
5452 0           my $thisrule = $thisparser->{"rules"}{"comp_unit"};
5453            
5454 0 0         Parse::RecDescent::_trace(q{Trying rule: [comp_unit]},
5455             Parse::RecDescent::_tracefirst($_[1]),
5456             q{comp_unit},
5457             $tracelevel)
5458             if defined $::RD_TRACE;
5459              
5460            
5461 0           my $err_at = @{$thisparser->{errors}};
  0            
5462              
5463 0           my $score;
5464             my $score_return;
5465 0           my $_tok;
5466 0           my $return = undef;
5467 0           my $_matched=0;
5468 0           my $commit=0;
5469 0           my @item = ();
5470 0           my %item = ();
5471 0   0       my $repeating = defined($_[2]) && $_[2];
5472 0   0       my $_noactions = defined($_[3]) && $_[3];
5473 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
5474 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5475 0           my $text;
5476 0           my $lastsep="";
5477 0           my $current_match;
5478 0           my $expectation = new Parse::RecDescent::Expectation(q{comp_stmt});
5479 0           $expectation->at($_[1]);
5480            
5481 0           my $thisline;
5482 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5483              
5484            
5485              
5486 0   0       while (!$_matched && !$commit)
5487             {
5488            
5489 0 0         Parse::RecDescent::_trace(q{Trying production: [comp_stmt comp_unit_decl '\{' body '\}']},
5490             Parse::RecDescent::_tracefirst($_[1]),
5491             q{comp_unit},
5492             $tracelevel)
5493             if defined $::RD_TRACE;
5494 0           my $thisprod = $thisrule->{"prods"}[0];
5495 0           $text = $_[1];
5496 0           my $_savetext;
5497 0           @item = (q{comp_unit});
5498 0           %item = (__RULE__ => q{comp_unit});
5499 0           my $repcount = 0;
5500              
5501              
5502 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [comp_stmt]},
5503             Parse::RecDescent::_tracefirst($text),
5504             q{comp_unit},
5505             $tracelevel)
5506             if defined $::RD_TRACE;
5507 0           $expectation->is(q{})->at($text);
5508            
5509 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::comp_stmt, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
5510             {
5511 0 0         Parse::RecDescent::_trace(q{<>},
5512             Parse::RecDescent::_tracefirst($text),
5513             q{comp_unit},
5514             $tracelevel)
5515             if defined $::RD_TRACE;
5516 0           last;
5517             }
5518 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [comp_stmt]<< (}
5519             . @$_tok . q{ times)},
5520            
5521             Parse::RecDescent::_tracefirst($text),
5522             q{comp_unit},
5523             $tracelevel)
5524             if defined $::RD_TRACE;
5525 0           $item{q{comp_stmt(?)}} = $_tok;
5526 0           push @item, $_tok;
5527            
5528              
5529              
5530 0 0         Parse::RecDescent::_trace(q{Trying subrule: [comp_unit_decl]},
5531             Parse::RecDescent::_tracefirst($text),
5532             q{comp_unit},
5533             $tracelevel)
5534             if defined $::RD_TRACE;
5535 4     4   25 if (1) { no strict qw{refs};
  4         10  
  4         3222  
  0            
5536 0           $expectation->is(q{comp_unit_decl})->at($text);
5537 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::comp_unit_decl($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5538             {
5539            
5540 0 0         Parse::RecDescent::_trace(q{<>},
5541             Parse::RecDescent::_tracefirst($text),
5542             q{comp_unit},
5543             $tracelevel)
5544             if defined $::RD_TRACE;
5545 0           $expectation->failed();
5546 0           last;
5547             }
5548 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [comp_unit_decl]<< (return value: [}
5549             . $_tok . q{]},
5550            
5551             Parse::RecDescent::_tracefirst($text),
5552             q{comp_unit},
5553             $tracelevel)
5554             if defined $::RD_TRACE;
5555 0           $item{q{comp_unit_decl}} = $_tok;
5556 0           push @item, $_tok;
5557            
5558             }
5559              
5560 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
5561             Parse::RecDescent::_tracefirst($text),
5562             q{comp_unit},
5563             $tracelevel)
5564             if defined $::RD_TRACE;
5565 0           $lastsep = "";
5566 0           $expectation->is(q{'\{'})->at($text);
5567            
5568              
5569 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\{/)
  0 0          
5570             {
5571            
5572 0           $expectation->failed();
5573 0 0         Parse::RecDescent::_trace(qq{<>},
5574             Parse::RecDescent::_tracefirst($text))
5575             if defined $::RD_TRACE;
5576 0           last;
5577             }
5578 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
5579 0           substr($text,0,length($current_match),q{});
5580 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5581             . $current_match . q{])},
5582             Parse::RecDescent::_tracefirst($text))
5583             if defined $::RD_TRACE;
5584 0           push @item, $item{__STRING1__}=$current_match;
5585            
5586              
5587 0 0         Parse::RecDescent::_trace(q{Trying subrule: [body]},
5588             Parse::RecDescent::_tracefirst($text),
5589             q{comp_unit},
5590             $tracelevel)
5591             if defined $::RD_TRACE;
5592 4     4   28 if (1) { no strict qw{refs};
  4         6  
  4         5694  
  0            
5593 0           $expectation->is(q{body})->at($text);
5594 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::body($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
5595             {
5596            
5597 0 0         Parse::RecDescent::_trace(q{<>},
5598             Parse::RecDescent::_tracefirst($text),
5599             q{comp_unit},
5600             $tracelevel)
5601             if defined $::RD_TRACE;
5602 0           $expectation->failed();
5603 0           last;
5604             }
5605 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [body]<< (return value: [}
5606             . $_tok . q{]},
5607            
5608             Parse::RecDescent::_tracefirst($text),
5609             q{comp_unit},
5610             $tracelevel)
5611             if defined $::RD_TRACE;
5612 0           $item{q{body}} = $_tok;
5613 0           push @item, $_tok;
5614            
5615             }
5616              
5617 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
5618             Parse::RecDescent::_tracefirst($text),
5619             q{comp_unit},
5620             $tracelevel)
5621             if defined $::RD_TRACE;
5622 0           $lastsep = "";
5623 0           $expectation->is(q{'\}'})->at($text);
5624            
5625              
5626 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\}/)
  0 0          
5627             {
5628            
5629 0           $expectation->failed();
5630 0 0         Parse::RecDescent::_trace(qq{<>},
5631             Parse::RecDescent::_tracefirst($text))
5632             if defined $::RD_TRACE;
5633 0           last;
5634             }
5635 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
5636 0           substr($text,0,length($current_match),q{});
5637 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5638             . $current_match . q{])},
5639             Parse::RecDescent::_tracefirst($text))
5640             if defined $::RD_TRACE;
5641 0           push @item, $item{__STRING2__}=$current_match;
5642            
5643              
5644 0 0         Parse::RecDescent::_trace(q{Trying action},
5645             Parse::RecDescent::_tracefirst($text),
5646             q{comp_unit},
5647             $tracelevel)
5648             if defined $::RD_TRACE;
5649            
5650              
5651 0 0         $_tok = ($_noactions) ? 0 : do {
5652 0           my $retval = $item{ comp_unit_decl };
5653             # Match of subrule X(?) always generates an array
5654 0           my $comp_stmt = $item{ q{comp_stmt(?)} }->[0];
5655 0           $retval->{ compiled_from } = "${comp_stmt}.java";
5656 0           $retval->{ contents } = $item{ body };
5657 0           $retval->{ methods } = { %methods }; %methods = ();
  0            
5658 0           $retval->{ constructors } = $constructors; $constructors = 0;
  0            
5659 0           $retval;
5660             };
5661 0 0         unless (defined $_tok)
5662             {
5663 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
5664             if defined $::RD_TRACE;
5665 0           last;
5666             }
5667 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5668             . $_tok . q{])},
5669             Parse::RecDescent::_tracefirst($text))
5670             if defined $::RD_TRACE;
5671 0           push @item, $_tok;
5672 0           $item{__ACTION1__}=$_tok;
5673            
5674              
5675              
5676 0 0         Parse::RecDescent::_trace(q{>>Matched production: [comp_stmt comp_unit_decl '\{' body '\}']<<},
5677             Parse::RecDescent::_tracefirst($text),
5678             q{comp_unit},
5679             $tracelevel)
5680             if defined $::RD_TRACE;
5681 0           $_matched = 1;
5682 0           last;
5683             }
5684              
5685              
5686 0           while (!$_matched)
5687             {
5688            
5689 0 0         Parse::RecDescent::_trace(q{Trying production: []},
5690             Parse::RecDescent::_tracefirst($_[1]),
5691             q{comp_unit},
5692             $tracelevel)
5693             if defined $::RD_TRACE;
5694 0           my $thisprod = $thisrule->{"prods"}[1];
5695            
5696 0           my $_savetext;
5697 0           @item = (q{comp_unit});
5698 0           %item = (__RULE__ => q{comp_unit});
5699 0           my $repcount = 0;
5700              
5701              
5702            
5703              
5704 0 0         Parse::RecDescent::_trace(q{Trying directive: []},
5705             Parse::RecDescent::_tracefirst($text),
5706             q{comp_unit},
5707             $tracelevel)
5708             if defined $::RD_TRACE;
5709 0 0         $_tok = do { if (1) { do {
  0            
  0            
5710 0           my $rule = $item[0];
5711 0           $rule =~ s/_/ /g;
5712             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
5713 0           push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0            
5714 0           } unless $_noactions; undef } else {0} };
5715 0 0         if (defined($_tok))
5716             {
5717 0 0         Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5718             . $_tok . q{])},
5719             Parse::RecDescent::_tracefirst($text))
5720             if defined $::RD_TRACE;
5721             }
5722             else
5723             {
5724 0 0         Parse::RecDescent::_trace(q{<>},
5725             Parse::RecDescent::_tracefirst($text))
5726             if defined $::RD_TRACE;
5727             }
5728            
5729 0 0         last unless defined $_tok;
5730 0           push @item, $item{__DIRECTIVE1__}=$_tok;
5731            
5732              
5733              
5734 0 0         Parse::RecDescent::_trace(q{>>Matched production: []<<},
5735             Parse::RecDescent::_tracefirst($text),
5736             q{comp_unit},
5737             $tracelevel)
5738             if defined $::RD_TRACE;
5739 0           $_matched = 1;
5740 0           last;
5741             }
5742              
5743              
5744 0 0 0       unless ( $_matched || defined($score) )
5745             {
5746            
5747              
5748 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
5749 0 0         Parse::RecDescent::_trace(q{<>},
5750             Parse::RecDescent::_tracefirst($_[1]),
5751             q{comp_unit},
5752             $tracelevel)
5753             if defined $::RD_TRACE;
5754 0           return undef;
5755             }
5756 0 0 0       if (!defined($return) && defined($score))
5757             {
5758 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5759             q{comp_unit},
5760             $tracelevel)
5761             if defined $::RD_TRACE;
5762 0           $return = $score_return;
5763             }
5764 0           splice @{$thisparser->{errors}}, $err_at;
  0            
5765 0 0         $return = $item[$#item] unless defined $return;
5766 0 0         if (defined $::RD_TRACE)
5767             {
5768 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5769             $return . q{])}, "",
5770             q{comp_unit},
5771             $tracelevel);
5772 0           Parse::RecDescent::_trace(q{(consumed: [} .
5773             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5774             Parse::RecDescent::_tracefirst($text),
5775             , q{comp_unit},
5776             $tracelevel)
5777             }
5778 0           $_[1] = $text;
5779 0           return $return;
5780             }
5781              
5782             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5783             sub Parse::RecDescent::Java::Javap::Grammar::NAME
5784             {
5785 0     0     my $thisparser = $_[0];
5786 4     4   31 use vars q{$tracelevel};
  4         8  
  4         8826  
5787 0   0       local $tracelevel = ($tracelevel||0)+1;
5788 0           $ERRORS = 0;
5789 0           my $thisrule = $thisparser->{"rules"}{"NAME"};
5790            
5791 0 0         Parse::RecDescent::_trace(q{Trying rule: [NAME]},
5792             Parse::RecDescent::_tracefirst($_[1]),
5793             q{NAME},
5794             $tracelevel)
5795             if defined $::RD_TRACE;
5796              
5797            
5798 0           my $err_at = @{$thisparser->{errors}};
  0            
5799              
5800 0           my $score;
5801             my $score_return;
5802 0           my $_tok;
5803 0           my $return = undef;
5804 0           my $_matched=0;
5805 0           my $commit=0;
5806 0           my @item = ();
5807 0           my %item = ();
5808 0   0       my $repeating = defined($_[2]) && $_[2];
5809 0   0       my $_noactions = defined($_[3]) && $_[3];
5810 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
5811 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5812 0           my $text;
5813 0           my $lastsep="";
5814 0           my $current_match;
5815 0           my $expectation = new Parse::RecDescent::Expectation(q{/^([\\w\\d\\$]+)/});
5816 0           $expectation->at($_[1]);
5817            
5818 0           my $thisline;
5819 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5820              
5821            
5822              
5823 0   0       while (!$_matched && !$commit)
5824             {
5825            
5826 0 0         Parse::RecDescent::_trace(q{Trying production: [/^([\\w\\d\\$]+)/]},
5827             Parse::RecDescent::_tracefirst($_[1]),
5828             q{NAME},
5829             $tracelevel)
5830             if defined $::RD_TRACE;
5831 0           my $thisprod = $thisrule->{"prods"}[0];
5832 0           $text = $_[1];
5833 0           my $_savetext;
5834 0           @item = (q{NAME});
5835 0           %item = (__RULE__ => q{NAME});
5836 0           my $repcount = 0;
5837              
5838              
5839 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/^([\\w\\d\\$]+)/]}, Parse::RecDescent::_tracefirst($text),
5840             q{NAME},
5841             $tracelevel)
5842             if defined $::RD_TRACE;
5843 0           $lastsep = "";
5844 0           $expectation->is(q{})->at($text);
5845            
5846              
5847 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^([\w\d\$]+))/)
  0 0          
5848             {
5849            
5850 0           $expectation->failed();
5851 0 0         Parse::RecDescent::_trace(q{<>},
5852             Parse::RecDescent::_tracefirst($text))
5853             if defined $::RD_TRACE;
5854              
5855 0           last;
5856             }
5857 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
5858 0           substr($text,0,length($current_match),q{});
5859 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5860             . $current_match . q{])},
5861             Parse::RecDescent::_tracefirst($text))
5862             if defined $::RD_TRACE;
5863 0           push @item, $item{__PATTERN1__}=$current_match;
5864            
5865              
5866 0 0         Parse::RecDescent::_trace(q{Trying action},
5867             Parse::RecDescent::_tracefirst($text),
5868             q{NAME},
5869             $tracelevel)
5870             if defined $::RD_TRACE;
5871            
5872              
5873 0 0         $_tok = ($_noactions) ? 0 : do { $1 };
  0            
5874 0 0         unless (defined $_tok)
5875             {
5876 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
5877             if defined $::RD_TRACE;
5878 0           last;
5879             }
5880 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5881             . $_tok . q{])},
5882             Parse::RecDescent::_tracefirst($text))
5883             if defined $::RD_TRACE;
5884 0           push @item, $_tok;
5885 0           $item{__ACTION1__}=$_tok;
5886            
5887              
5888              
5889 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/^([\\w\\d\\$]+)/]<<},
5890             Parse::RecDescent::_tracefirst($text),
5891             q{NAME},
5892             $tracelevel)
5893             if defined $::RD_TRACE;
5894 0           $_matched = 1;
5895 0           last;
5896             }
5897              
5898              
5899 0 0 0       unless ( $_matched || defined($score) )
5900             {
5901            
5902              
5903 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
5904 0 0         Parse::RecDescent::_trace(q{<>},
5905             Parse::RecDescent::_tracefirst($_[1]),
5906             q{NAME},
5907             $tracelevel)
5908             if defined $::RD_TRACE;
5909 0           return undef;
5910             }
5911 0 0 0       if (!defined($return) && defined($score))
5912             {
5913 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5914             q{NAME},
5915             $tracelevel)
5916             if defined $::RD_TRACE;
5917 0           $return = $score_return;
5918             }
5919 0           splice @{$thisparser->{errors}}, $err_at;
  0            
5920 0 0         $return = $item[$#item] unless defined $return;
5921 0 0         if (defined $::RD_TRACE)
5922             {
5923 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5924             $return . q{])}, "",
5925             q{NAME},
5926             $tracelevel);
5927 0           Parse::RecDescent::_trace(q{(consumed: [} .
5928             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5929             Parse::RecDescent::_tracefirst($text),
5930             , q{NAME},
5931             $tracelevel)
5932             }
5933 0           $_[1] = $text;
5934 0           return $return;
5935             }
5936              
5937             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5938             sub Parse::RecDescent::Java::Javap::Grammar::constant_value
5939             {
5940 0     0     my $thisparser = $_[0];
5941 4     4   42 use vars q{$tracelevel};
  4         12  
  4         3845  
5942 0   0       local $tracelevel = ($tracelevel||0)+1;
5943 0           $ERRORS = 0;
5944 0           my $thisrule = $thisparser->{"rules"}{"constant_value"};
5945            
5946 0 0         Parse::RecDescent::_trace(q{Trying rule: [constant_value]},
5947             Parse::RecDescent::_tracefirst($_[1]),
5948             q{constant_value},
5949             $tracelevel)
5950             if defined $::RD_TRACE;
5951              
5952            
5953 0           my $err_at = @{$thisparser->{errors}};
  0            
5954              
5955 0           my $score;
5956             my $score_return;
5957 0           my $_tok;
5958 0           my $return = undef;
5959 0           my $_matched=0;
5960 0           my $commit=0;
5961 0           my @item = ();
5962 0           my %item = ();
5963 0   0       my $repeating = defined($_[2]) && $_[2];
5964 0   0       my $_noactions = defined($_[3]) && $_[3];
5965 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
5966 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5967 0           my $text;
5968 0           my $lastsep="";
5969 0           my $current_match;
5970 0           my $expectation = new Parse::RecDescent::Expectation(q{/[^\\n]*/});
5971 0           $expectation->at($_[1]);
5972            
5973 0           my $thisline;
5974 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5975              
5976            
5977              
5978 0   0       while (!$_matched && !$commit)
5979             {
5980            
5981 0 0         Parse::RecDescent::_trace(q{Trying production: [/[^\\n]*/]},
5982             Parse::RecDescent::_tracefirst($_[1]),
5983             q{constant_value},
5984             $tracelevel)
5985             if defined $::RD_TRACE;
5986 0           my $thisprod = $thisrule->{"prods"}[0];
5987 0           $text = $_[1];
5988 0           my $_savetext;
5989 0           @item = (q{constant_value});
5990 0           %item = (__RULE__ => q{constant_value});
5991 0           my $repcount = 0;
5992              
5993              
5994 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/[^\\n]*/]}, Parse::RecDescent::_tracefirst($text),
5995             q{constant_value},
5996             $tracelevel)
5997             if defined $::RD_TRACE;
5998 0           $lastsep = "";
5999 0           $expectation->is(q{})->at($text);
6000            
6001              
6002 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^\n]*)/)
  0 0          
6003             {
6004            
6005 0           $expectation->failed();
6006 0 0         Parse::RecDescent::_trace(q{<>},
6007             Parse::RecDescent::_tracefirst($text))
6008             if defined $::RD_TRACE;
6009              
6010 0           last;
6011             }
6012 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6013 0           substr($text,0,length($current_match),q{});
6014 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6015             . $current_match . q{])},
6016             Parse::RecDescent::_tracefirst($text))
6017             if defined $::RD_TRACE;
6018 0           push @item, $item{__PATTERN1__}=$current_match;
6019            
6020              
6021              
6022 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/[^\\n]*/]<<},
6023             Parse::RecDescent::_tracefirst($text),
6024             q{constant_value},
6025             $tracelevel)
6026             if defined $::RD_TRACE;
6027 0           $_matched = 1;
6028 0           last;
6029             }
6030              
6031              
6032 0 0 0       unless ( $_matched || defined($score) )
6033             {
6034            
6035              
6036 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
6037 0 0         Parse::RecDescent::_trace(q{<>},
6038             Parse::RecDescent::_tracefirst($_[1]),
6039             q{constant_value},
6040             $tracelevel)
6041             if defined $::RD_TRACE;
6042 0           return undef;
6043             }
6044 0 0 0       if (!defined($return) && defined($score))
6045             {
6046 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6047             q{constant_value},
6048             $tracelevel)
6049             if defined $::RD_TRACE;
6050 0           $return = $score_return;
6051             }
6052 0           splice @{$thisparser->{errors}}, $err_at;
  0            
6053 0 0         $return = $item[$#item] unless defined $return;
6054 0 0         if (defined $::RD_TRACE)
6055             {
6056 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6057             $return . q{])}, "",
6058             q{constant_value},
6059             $tracelevel);
6060 0           Parse::RecDescent::_trace(q{(consumed: [} .
6061             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6062             Parse::RecDescent::_tracefirst($text),
6063             , q{constant_value},
6064             $tracelevel)
6065             }
6066 0           $_[1] = $text;
6067 0           return $return;
6068             }
6069              
6070             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6071             sub Parse::RecDescent::Java::Javap::Grammar::verbose_constant_details
6072             {
6073 0     0     my $thisparser = $_[0];
6074 4     4   97 use vars q{$tracelevel};
  4         8  
  4         3426  
6075 0   0       local $tracelevel = ($tracelevel||0)+1;
6076 0           $ERRORS = 0;
6077 0           my $thisrule = $thisparser->{"rules"}{"verbose_constant_details"};
6078            
6079 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_constant_details]},
6080             Parse::RecDescent::_tracefirst($_[1]),
6081             q{verbose_constant_details},
6082             $tracelevel)
6083             if defined $::RD_TRACE;
6084              
6085            
6086 0           my $err_at = @{$thisparser->{errors}};
  0            
6087              
6088 0           my $score;
6089             my $score_return;
6090 0           my $_tok;
6091 0           my $return = undef;
6092 0           my $_matched=0;
6093 0           my $commit=0;
6094 0           my @item = ();
6095 0           my %item = ();
6096 0   0       my $repeating = defined($_[2]) && $_[2];
6097 0   0       my $_noactions = defined($_[3]) && $_[3];
6098 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
6099 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6100 0           my $text;
6101 0           my $lastsep="";
6102 0           my $current_match;
6103 0           my $expectation = new Parse::RecDescent::Expectation(q{'Constant'});
6104 0           $expectation->at($_[1]);
6105            
6106 0           my $thisline;
6107 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6108              
6109            
6110              
6111 0   0       while (!$_matched && !$commit)
6112             {
6113            
6114 0 0         Parse::RecDescent::_trace(q{Trying production: ['Constant' 'value:' arg constant_value]},
6115             Parse::RecDescent::_tracefirst($_[1]),
6116             q{verbose_constant_details},
6117             $tracelevel)
6118             if defined $::RD_TRACE;
6119 0           my $thisprod = $thisrule->{"prods"}[0];
6120 0           $text = $_[1];
6121 0           my $_savetext;
6122 0           @item = (q{verbose_constant_details});
6123 0           %item = (__RULE__ => q{verbose_constant_details});
6124 0           my $repcount = 0;
6125              
6126              
6127 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['Constant']},
6128             Parse::RecDescent::_tracefirst($text),
6129             q{verbose_constant_details},
6130             $tracelevel)
6131             if defined $::RD_TRACE;
6132 0           $lastsep = "";
6133 0           $expectation->is(q{})->at($text);
6134            
6135              
6136 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AConstant/)
  0 0          
6137             {
6138            
6139 0           $expectation->failed();
6140 0 0         Parse::RecDescent::_trace(qq{<>},
6141             Parse::RecDescent::_tracefirst($text))
6142             if defined $::RD_TRACE;
6143 0           last;
6144             }
6145 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6146 0           substr($text,0,length($current_match),q{});
6147 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6148             . $current_match . q{])},
6149             Parse::RecDescent::_tracefirst($text))
6150             if defined $::RD_TRACE;
6151 0           push @item, $item{__STRING1__}=$current_match;
6152            
6153              
6154 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['value:']},
6155             Parse::RecDescent::_tracefirst($text),
6156             q{verbose_constant_details},
6157             $tracelevel)
6158             if defined $::RD_TRACE;
6159 0           $lastsep = "";
6160 0           $expectation->is(q{'value:'})->at($text);
6161            
6162              
6163 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Avalue\:/)
  0 0          
6164             {
6165            
6166 0           $expectation->failed();
6167 0 0         Parse::RecDescent::_trace(qq{<>},
6168             Parse::RecDescent::_tracefirst($text))
6169             if defined $::RD_TRACE;
6170 0           last;
6171             }
6172 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6173 0           substr($text,0,length($current_match),q{});
6174 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6175             . $current_match . q{])},
6176             Parse::RecDescent::_tracefirst($text))
6177             if defined $::RD_TRACE;
6178 0           push @item, $item{__STRING2__}=$current_match;
6179            
6180              
6181 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
6182             Parse::RecDescent::_tracefirst($text),
6183             q{verbose_constant_details},
6184             $tracelevel)
6185             if defined $::RD_TRACE;
6186 4     4   26 if (1) { no strict qw{refs};
  4         9  
  4         980  
  0            
6187 0           $expectation->is(q{arg})->at($text);
6188 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6189             {
6190            
6191 0 0         Parse::RecDescent::_trace(q{<>},
6192             Parse::RecDescent::_tracefirst($text),
6193             q{verbose_constant_details},
6194             $tracelevel)
6195             if defined $::RD_TRACE;
6196 0           $expectation->failed();
6197 0           last;
6198             }
6199 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
6200             . $_tok . q{]},
6201            
6202             Parse::RecDescent::_tracefirst($text),
6203             q{verbose_constant_details},
6204             $tracelevel)
6205             if defined $::RD_TRACE;
6206 0           $item{q{arg}} = $_tok;
6207 0           push @item, $_tok;
6208            
6209             }
6210              
6211 0 0         Parse::RecDescent::_trace(q{Trying subrule: [constant_value]},
6212             Parse::RecDescent::_tracefirst($text),
6213             q{verbose_constant_details},
6214             $tracelevel)
6215             if defined $::RD_TRACE;
6216 4     4   64 if (1) { no strict qw{refs};
  4         9  
  4         4168  
  0            
6217 0           $expectation->is(q{constant_value})->at($text);
6218 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::constant_value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6219             {
6220            
6221 0 0         Parse::RecDescent::_trace(q{<>},
6222             Parse::RecDescent::_tracefirst($text),
6223             q{verbose_constant_details},
6224             $tracelevel)
6225             if defined $::RD_TRACE;
6226 0           $expectation->failed();
6227 0           last;
6228             }
6229 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [constant_value]<< (return value: [}
6230             . $_tok . q{]},
6231            
6232             Parse::RecDescent::_tracefirst($text),
6233             q{verbose_constant_details},
6234             $tracelevel)
6235             if defined $::RD_TRACE;
6236 0           $item{q{constant_value}} = $_tok;
6237 0           push @item, $_tok;
6238            
6239             }
6240              
6241 0 0         Parse::RecDescent::_trace(q{Trying action},
6242             Parse::RecDescent::_tracefirst($text),
6243             q{verbose_constant_details},
6244             $tracelevel)
6245             if defined $::RD_TRACE;
6246            
6247              
6248 0 0         $_tok = ($_noactions) ? 0 : do {
6249             $item{ constant_value }
6250 0           };
6251 0 0         unless (defined $_tok)
6252             {
6253 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
6254             if defined $::RD_TRACE;
6255 0           last;
6256             }
6257 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6258             . $_tok . q{])},
6259             Parse::RecDescent::_tracefirst($text))
6260             if defined $::RD_TRACE;
6261 0           push @item, $_tok;
6262 0           $item{__ACTION1__}=$_tok;
6263            
6264              
6265              
6266 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['Constant' 'value:' arg constant_value]<<},
6267             Parse::RecDescent::_tracefirst($text),
6268             q{verbose_constant_details},
6269             $tracelevel)
6270             if defined $::RD_TRACE;
6271 0           $_matched = 1;
6272 0           last;
6273             }
6274              
6275              
6276 0 0 0       unless ( $_matched || defined($score) )
6277             {
6278            
6279              
6280 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
6281 0 0         Parse::RecDescent::_trace(q{<>},
6282             Parse::RecDescent::_tracefirst($_[1]),
6283             q{verbose_constant_details},
6284             $tracelevel)
6285             if defined $::RD_TRACE;
6286 0           return undef;
6287             }
6288 0 0 0       if (!defined($return) && defined($score))
6289             {
6290 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6291             q{verbose_constant_details},
6292             $tracelevel)
6293             if defined $::RD_TRACE;
6294 0           $return = $score_return;
6295             }
6296 0           splice @{$thisparser->{errors}}, $err_at;
  0            
6297 0 0         $return = $item[$#item] unless defined $return;
6298 0 0         if (defined $::RD_TRACE)
6299             {
6300 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6301             $return . q{])}, "",
6302             q{verbose_constant_details},
6303             $tracelevel);
6304 0           Parse::RecDescent::_trace(q{(consumed: [} .
6305             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6306             Parse::RecDescent::_tracefirst($text),
6307             , q{verbose_constant_details},
6308             $tracelevel)
6309             }
6310 0           $_[1] = $text;
6311 0           return $return;
6312             }
6313              
6314             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6315             sub Parse::RecDescent::Java::Javap::Grammar::implements_clause
6316             {
6317 0     0     my $thisparser = $_[0];
6318 4     4   38 use vars q{$tracelevel};
  4         9  
  4         2448  
6319 0   0       local $tracelevel = ($tracelevel||0)+1;
6320 0           $ERRORS = 0;
6321 0           my $thisrule = $thisparser->{"rules"}{"implements_clause"};
6322            
6323 0 0         Parse::RecDescent::_trace(q{Trying rule: [implements_clause]},
6324             Parse::RecDescent::_tracefirst($_[1]),
6325             q{implements_clause},
6326             $tracelevel)
6327             if defined $::RD_TRACE;
6328              
6329            
6330 0           my $err_at = @{$thisparser->{errors}};
  0            
6331              
6332 0           my $score;
6333             my $score_return;
6334 0           my $_tok;
6335 0           my $return = undef;
6336 0           my $_matched=0;
6337 0           my $commit=0;
6338 0           my @item = ();
6339 0           my %item = ();
6340 0   0       my $repeating = defined($_[2]) && $_[2];
6341 0   0       my $_noactions = defined($_[3]) && $_[3];
6342 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
6343 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6344 0           my $text;
6345 0           my $lastsep="";
6346 0           my $current_match;
6347 0           my $expectation = new Parse::RecDescent::Expectation(q{'implements'});
6348 0           $expectation->at($_[1]);
6349            
6350 0           my $thisline;
6351 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6352              
6353            
6354              
6355 0   0       while (!$_matched && !$commit)
6356             {
6357            
6358 0 0         Parse::RecDescent::_trace(q{Trying production: ['implements' comma_list]},
6359             Parse::RecDescent::_tracefirst($_[1]),
6360             q{implements_clause},
6361             $tracelevel)
6362             if defined $::RD_TRACE;
6363 0           my $thisprod = $thisrule->{"prods"}[0];
6364 0           $text = $_[1];
6365 0           my $_savetext;
6366 0           @item = (q{implements_clause});
6367 0           %item = (__RULE__ => q{implements_clause});
6368 0           my $repcount = 0;
6369              
6370              
6371 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['implements']},
6372             Parse::RecDescent::_tracefirst($text),
6373             q{implements_clause},
6374             $tracelevel)
6375             if defined $::RD_TRACE;
6376 0           $lastsep = "";
6377 0           $expectation->is(q{})->at($text);
6378            
6379              
6380 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aimplements/)
  0 0          
6381             {
6382            
6383 0           $expectation->failed();
6384 0 0         Parse::RecDescent::_trace(qq{<>},
6385             Parse::RecDescent::_tracefirst($text))
6386             if defined $::RD_TRACE;
6387 0           last;
6388             }
6389 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6390 0           substr($text,0,length($current_match),q{});
6391 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6392             . $current_match . q{])},
6393             Parse::RecDescent::_tracefirst($text))
6394             if defined $::RD_TRACE;
6395 0           push @item, $item{__STRING1__}=$current_match;
6396            
6397              
6398 0 0         Parse::RecDescent::_trace(q{Trying subrule: [comma_list]},
6399             Parse::RecDescent::_tracefirst($text),
6400             q{implements_clause},
6401             $tracelevel)
6402             if defined $::RD_TRACE;
6403 4     4   25 if (1) { no strict qw{refs};
  4         7  
  4         2559  
  0            
6404 0           $expectation->is(q{comma_list})->at($text);
6405 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::comma_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6406             {
6407            
6408 0 0         Parse::RecDescent::_trace(q{<>},
6409             Parse::RecDescent::_tracefirst($text),
6410             q{implements_clause},
6411             $tracelevel)
6412             if defined $::RD_TRACE;
6413 0           $expectation->failed();
6414 0           last;
6415             }
6416 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [comma_list]<< (return value: [}
6417             . $_tok . q{]},
6418            
6419             Parse::RecDescent::_tracefirst($text),
6420             q{implements_clause},
6421             $tracelevel)
6422             if defined $::RD_TRACE;
6423 0           $item{q{comma_list}} = $_tok;
6424 0           push @item, $_tok;
6425            
6426             }
6427              
6428 0 0         Parse::RecDescent::_trace(q{Trying action},
6429             Parse::RecDescent::_tracefirst($text),
6430             q{implements_clause},
6431             $tracelevel)
6432             if defined $::RD_TRACE;
6433            
6434              
6435 0 0         $_tok = ($_noactions) ? 0 : do { $item{ comma_list } };
  0            
6436 0 0         unless (defined $_tok)
6437             {
6438 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
6439             if defined $::RD_TRACE;
6440 0           last;
6441             }
6442 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6443             . $_tok . q{])},
6444             Parse::RecDescent::_tracefirst($text))
6445             if defined $::RD_TRACE;
6446 0           push @item, $_tok;
6447 0           $item{__ACTION1__}=$_tok;
6448            
6449              
6450              
6451 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['implements' comma_list]<<},
6452             Parse::RecDescent::_tracefirst($text),
6453             q{implements_clause},
6454             $tracelevel)
6455             if defined $::RD_TRACE;
6456 0           $_matched = 1;
6457 0           last;
6458             }
6459              
6460              
6461 0 0 0       unless ( $_matched || defined($score) )
6462             {
6463            
6464              
6465 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
6466 0 0         Parse::RecDescent::_trace(q{<>},
6467             Parse::RecDescent::_tracefirst($_[1]),
6468             q{implements_clause},
6469             $tracelevel)
6470             if defined $::RD_TRACE;
6471 0           return undef;
6472             }
6473 0 0 0       if (!defined($return) && defined($score))
6474             {
6475 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6476             q{implements_clause},
6477             $tracelevel)
6478             if defined $::RD_TRACE;
6479 0           $return = $score_return;
6480             }
6481 0           splice @{$thisparser->{errors}}, $err_at;
  0            
6482 0 0         $return = $item[$#item] unless defined $return;
6483 0 0         if (defined $::RD_TRACE)
6484             {
6485 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6486             $return . q{])}, "",
6487             q{implements_clause},
6488             $tracelevel);
6489 0           Parse::RecDescent::_trace(q{(consumed: [} .
6490             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6491             Parse::RecDescent::_tracefirst($text),
6492             , q{implements_clause},
6493             $tracelevel)
6494             }
6495 0           $_[1] = $text;
6496 0           return $return;
6497             }
6498              
6499             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6500             sub Parse::RecDescent::Java::Javap::Grammar::verbose_exceptions
6501             {
6502 0     0     my $thisparser = $_[0];
6503 4     4   26 use vars q{$tracelevel};
  4         204  
  4         2206  
6504 0   0       local $tracelevel = ($tracelevel||0)+1;
6505 0           $ERRORS = 0;
6506 0           my $thisrule = $thisparser->{"rules"}{"verbose_exceptions"};
6507            
6508 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_exceptions]},
6509             Parse::RecDescent::_tracefirst($_[1]),
6510             q{verbose_exceptions},
6511             $tracelevel)
6512             if defined $::RD_TRACE;
6513              
6514            
6515 0           my $err_at = @{$thisparser->{errors}};
  0            
6516              
6517 0           my $score;
6518             my $score_return;
6519 0           my $_tok;
6520 0           my $return = undef;
6521 0           my $_matched=0;
6522 0           my $commit=0;
6523 0           my @item = ();
6524 0           my %item = ();
6525 0   0       my $repeating = defined($_[2]) && $_[2];
6526 0   0       my $_noactions = defined($_[3]) && $_[3];
6527 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
6528 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6529 0           my $text;
6530 0           my $lastsep="";
6531 0           my $current_match;
6532 0           my $expectation = new Parse::RecDescent::Expectation(q{'Exceptions:'});
6533 0           $expectation->at($_[1]);
6534            
6535 0           my $thisline;
6536 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6537              
6538            
6539              
6540 0   0       while (!$_matched && !$commit)
6541             {
6542            
6543 0 0         Parse::RecDescent::_trace(q{Trying production: ['Exceptions:' throws_clause]},
6544             Parse::RecDescent::_tracefirst($_[1]),
6545             q{verbose_exceptions},
6546             $tracelevel)
6547             if defined $::RD_TRACE;
6548 0           my $thisprod = $thisrule->{"prods"}[0];
6549 0           $text = $_[1];
6550 0           my $_savetext;
6551 0           @item = (q{verbose_exceptions});
6552 0           %item = (__RULE__ => q{verbose_exceptions});
6553 0           my $repcount = 0;
6554              
6555              
6556 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['Exceptions:']},
6557             Parse::RecDescent::_tracefirst($text),
6558             q{verbose_exceptions},
6559             $tracelevel)
6560             if defined $::RD_TRACE;
6561 0           $lastsep = "";
6562 0           $expectation->is(q{})->at($text);
6563            
6564              
6565 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AExceptions\:/)
  0 0          
6566             {
6567            
6568 0           $expectation->failed();
6569 0 0         Parse::RecDescent::_trace(qq{<>},
6570             Parse::RecDescent::_tracefirst($text))
6571             if defined $::RD_TRACE;
6572 0           last;
6573             }
6574 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6575 0           substr($text,0,length($current_match),q{});
6576 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6577             . $current_match . q{])},
6578             Parse::RecDescent::_tracefirst($text))
6579             if defined $::RD_TRACE;
6580 0           push @item, $item{__STRING1__}=$current_match;
6581            
6582              
6583 0 0         Parse::RecDescent::_trace(q{Trying subrule: [throws_clause]},
6584             Parse::RecDescent::_tracefirst($text),
6585             q{verbose_exceptions},
6586             $tracelevel)
6587             if defined $::RD_TRACE;
6588 4     4   23 if (1) { no strict qw{refs};
  4         7  
  4         2105  
  0            
6589 0           $expectation->is(q{throws_clause})->at($text);
6590 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::throws_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6591             {
6592            
6593 0 0         Parse::RecDescent::_trace(q{<>},
6594             Parse::RecDescent::_tracefirst($text),
6595             q{verbose_exceptions},
6596             $tracelevel)
6597             if defined $::RD_TRACE;
6598 0           $expectation->failed();
6599 0           last;
6600             }
6601 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [throws_clause]<< (return value: [}
6602             . $_tok . q{]},
6603            
6604             Parse::RecDescent::_tracefirst($text),
6605             q{verbose_exceptions},
6606             $tracelevel)
6607             if defined $::RD_TRACE;
6608 0           $item{q{throws_clause}} = $_tok;
6609 0           push @item, $_tok;
6610            
6611             }
6612              
6613              
6614 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['Exceptions:' throws_clause]<<},
6615             Parse::RecDescent::_tracefirst($text),
6616             q{verbose_exceptions},
6617             $tracelevel)
6618             if defined $::RD_TRACE;
6619 0           $_matched = 1;
6620 0           last;
6621             }
6622              
6623              
6624 0 0 0       unless ( $_matched || defined($score) )
6625             {
6626            
6627              
6628 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
6629 0 0         Parse::RecDescent::_trace(q{<>},
6630             Parse::RecDescent::_tracefirst($_[1]),
6631             q{verbose_exceptions},
6632             $tracelevel)
6633             if defined $::RD_TRACE;
6634 0           return undef;
6635             }
6636 0 0 0       if (!defined($return) && defined($score))
6637             {
6638 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6639             q{verbose_exceptions},
6640             $tracelevel)
6641             if defined $::RD_TRACE;
6642 0           $return = $score_return;
6643             }
6644 0           splice @{$thisparser->{errors}}, $err_at;
  0            
6645 0 0         $return = $item[$#item] unless defined $return;
6646 0 0         if (defined $::RD_TRACE)
6647             {
6648 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6649             $return . q{])}, "",
6650             q{verbose_exceptions},
6651             $tracelevel);
6652 0           Parse::RecDescent::_trace(q{(consumed: [} .
6653             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6654             Parse::RecDescent::_tracefirst($text),
6655             , q{verbose_exceptions},
6656             $tracelevel)
6657             }
6658 0           $_[1] = $text;
6659 0           return $return;
6660             }
6661              
6662             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6663             sub Parse::RecDescent::Java::Javap::Grammar::constant
6664             {
6665 0     0     my $thisparser = $_[0];
6666 4     4   21 use vars q{$tracelevel};
  4         6  
  4         1669  
6667 0   0       local $tracelevel = ($tracelevel||0)+1;
6668 0           $ERRORS = 0;
6669 0           my $thisrule = $thisparser->{"rules"}{"constant"};
6670            
6671 0 0         Parse::RecDescent::_trace(q{Trying rule: [constant]},
6672             Parse::RecDescent::_tracefirst($_[1]),
6673             q{constant},
6674             $tracelevel)
6675             if defined $::RD_TRACE;
6676              
6677            
6678 0           my $err_at = @{$thisparser->{errors}};
  0            
6679              
6680 0           my $score;
6681             my $score_return;
6682 0           my $_tok;
6683 0           my $return = undef;
6684 0           my $_matched=0;
6685 0           my $commit=0;
6686 0           my @item = ();
6687 0           my %item = ();
6688 0   0       my $repeating = defined($_[2]) && $_[2];
6689 0   0       my $_noactions = defined($_[3]) && $_[3];
6690 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
6691 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6692 0           my $text;
6693 0           my $lastsep="";
6694 0           my $current_match;
6695 0           my $expectation = new Parse::RecDescent::Expectation(q{ACCESS, or 'static'});
6696 0           $expectation->at($_[1]);
6697            
6698 0           my $thisline;
6699 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6700              
6701            
6702              
6703 0   0       while (!$_matched && !$commit)
6704             {
6705            
6706 0 0         Parse::RecDescent::_trace(q{Trying production: [ACCESS 'static' constant_modifier arg NAME ';' verbose_constant_details]},
6707             Parse::RecDescent::_tracefirst($_[1]),
6708             q{constant},
6709             $tracelevel)
6710             if defined $::RD_TRACE;
6711 0           my $thisprod = $thisrule->{"prods"}[0];
6712 0           $text = $_[1];
6713 0           my $_savetext;
6714 0           @item = (q{constant});
6715 0           %item = (__RULE__ => q{constant});
6716 0           my $repcount = 0;
6717              
6718              
6719 0 0         Parse::RecDescent::_trace(q{Trying subrule: [ACCESS]},
6720             Parse::RecDescent::_tracefirst($text),
6721             q{constant},
6722             $tracelevel)
6723             if defined $::RD_TRACE;
6724 4     4   25 if (1) { no strict qw{refs};
  4         8  
  4         2295  
  0            
6725 0           $expectation->is(q{})->at($text);
6726 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::ACCESS($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6727             {
6728            
6729 0 0         Parse::RecDescent::_trace(q{<>},
6730             Parse::RecDescent::_tracefirst($text),
6731             q{constant},
6732             $tracelevel)
6733             if defined $::RD_TRACE;
6734 0           $expectation->failed();
6735 0           last;
6736             }
6737 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [ACCESS]<< (return value: [}
6738             . $_tok . q{]},
6739            
6740             Parse::RecDescent::_tracefirst($text),
6741             q{constant},
6742             $tracelevel)
6743             if defined $::RD_TRACE;
6744 0           $item{q{ACCESS}} = $_tok;
6745 0           push @item, $_tok;
6746            
6747             }
6748              
6749 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['static']},
6750             Parse::RecDescent::_tracefirst($text),
6751             q{constant},
6752             $tracelevel)
6753             if defined $::RD_TRACE;
6754 0           $lastsep = "";
6755 0           $expectation->is(q{'static'})->at($text);
6756            
6757              
6758 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Astatic/)
  0 0          
6759             {
6760            
6761 0           $expectation->failed();
6762 0 0         Parse::RecDescent::_trace(qq{<>},
6763             Parse::RecDescent::_tracefirst($text))
6764             if defined $::RD_TRACE;
6765 0           last;
6766             }
6767 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6768 0           substr($text,0,length($current_match),q{});
6769 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6770             . $current_match . q{])},
6771             Parse::RecDescent::_tracefirst($text))
6772             if defined $::RD_TRACE;
6773 0           push @item, $item{__STRING1__}=$current_match;
6774            
6775              
6776 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [constant_modifier]},
6777             Parse::RecDescent::_tracefirst($text),
6778             q{constant},
6779             $tracelevel)
6780             if defined $::RD_TRACE;
6781 0           $expectation->is(q{constant_modifier})->at($text);
6782            
6783 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::constant_modifier, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
6784             {
6785 0 0         Parse::RecDescent::_trace(q{<>},
6786             Parse::RecDescent::_tracefirst($text),
6787             q{constant},
6788             $tracelevel)
6789             if defined $::RD_TRACE;
6790 0           last;
6791             }
6792 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [constant_modifier]<< (}
6793             . @$_tok . q{ times)},
6794            
6795             Parse::RecDescent::_tracefirst($text),
6796             q{constant},
6797             $tracelevel)
6798             if defined $::RD_TRACE;
6799 0           $item{q{constant_modifier(s?)}} = $_tok;
6800 0           push @item, $_tok;
6801            
6802              
6803              
6804 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
6805             Parse::RecDescent::_tracefirst($text),
6806             q{constant},
6807             $tracelevel)
6808             if defined $::RD_TRACE;
6809 4     4   20 if (1) { no strict qw{refs};
  4         8  
  4         1061  
  0            
6810 0           $expectation->is(q{arg})->at($text);
6811 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6812             {
6813            
6814 0 0         Parse::RecDescent::_trace(q{<>},
6815             Parse::RecDescent::_tracefirst($text),
6816             q{constant},
6817             $tracelevel)
6818             if defined $::RD_TRACE;
6819 0           $expectation->failed();
6820 0           last;
6821             }
6822 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
6823             . $_tok . q{]},
6824            
6825             Parse::RecDescent::_tracefirst($text),
6826             q{constant},
6827             $tracelevel)
6828             if defined $::RD_TRACE;
6829 0           $item{q{arg}} = $_tok;
6830 0           push @item, $_tok;
6831            
6832             }
6833              
6834 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
6835             Parse::RecDescent::_tracefirst($text),
6836             q{constant},
6837             $tracelevel)
6838             if defined $::RD_TRACE;
6839 4     4   22 if (1) { no strict qw{refs};
  4         7  
  4         5604  
  0            
6840 0           $expectation->is(q{NAME})->at($text);
6841 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
6842             {
6843            
6844 0 0         Parse::RecDescent::_trace(q{<>},
6845             Parse::RecDescent::_tracefirst($text),
6846             q{constant},
6847             $tracelevel)
6848             if defined $::RD_TRACE;
6849 0           $expectation->failed();
6850 0           last;
6851             }
6852 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
6853             . $_tok . q{]},
6854            
6855             Parse::RecDescent::_tracefirst($text),
6856             q{constant},
6857             $tracelevel)
6858             if defined $::RD_TRACE;
6859 0           $item{q{NAME}} = $_tok;
6860 0           push @item, $_tok;
6861            
6862             }
6863              
6864 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
6865             Parse::RecDescent::_tracefirst($text),
6866             q{constant},
6867             $tracelevel)
6868             if defined $::RD_TRACE;
6869 0           $lastsep = "";
6870 0           $expectation->is(q{';'})->at($text);
6871            
6872              
6873 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
6874             {
6875            
6876 0           $expectation->failed();
6877 0 0         Parse::RecDescent::_trace(qq{<>},
6878             Parse::RecDescent::_tracefirst($text))
6879             if defined $::RD_TRACE;
6880 0           last;
6881             }
6882 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
6883 0           substr($text,0,length($current_match),q{});
6884 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6885             . $current_match . q{])},
6886             Parse::RecDescent::_tracefirst($text))
6887             if defined $::RD_TRACE;
6888 0           push @item, $item{__STRING2__}=$current_match;
6889            
6890              
6891 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [verbose_constant_details]},
6892             Parse::RecDescent::_tracefirst($text),
6893             q{constant},
6894             $tracelevel)
6895             if defined $::RD_TRACE;
6896 0           $expectation->is(q{verbose_constant_details})->at($text);
6897            
6898 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::verbose_constant_details, 0, 1, $_noactions,$expectation,sub { \@arg })))
  0            
6899             {
6900 0 0         Parse::RecDescent::_trace(q{<>},
6901             Parse::RecDescent::_tracefirst($text),
6902             q{constant},
6903             $tracelevel)
6904             if defined $::RD_TRACE;
6905 0           last;
6906             }
6907 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [verbose_constant_details]<< (}
6908             . @$_tok . q{ times)},
6909            
6910             Parse::RecDescent::_tracefirst($text),
6911             q{constant},
6912             $tracelevel)
6913             if defined $::RD_TRACE;
6914 0           $item{q{verbose_constant_details(?)}} = $_tok;
6915 0           push @item, $_tok;
6916            
6917              
6918              
6919 0 0         Parse::RecDescent::_trace(q{Trying action},
6920             Parse::RecDescent::_tracefirst($text),
6921             q{constant},
6922             $tracelevel)
6923             if defined $::RD_TRACE;
6924            
6925              
6926 0 0         $_tok = ($_noactions) ? 0 : do {
6927 0           my $type = $item{ arg }[0];
6928 0           my $value = $item{ 'verbose_constant_details(?)' }[0];
6929             # remove trailing 'd' from double constants
6930 0 0         $value =~ s/d$// if $type->{name} eq 'double';
6931             # remove trailing 'l' from long constants
6932 0 0         $value =~ s/l$// if $type->{name} eq 'long';
6933             #warn "constant( $item{ NAME } ) @{[ %$type ]}: '$value'";
6934             {
6935             body_element => 'constant',
6936             access => $item{ ACCESS },
6937             modifiers => $item{ 'constant_modifier(s?)' },
6938             type => $type,
6939             name => $item{ NAME },
6940 0           value => $value,
6941             }
6942             };
6943 0 0         unless (defined $_tok)
6944             {
6945 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
6946             if defined $::RD_TRACE;
6947 0           last;
6948             }
6949 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6950             . $_tok . q{])},
6951             Parse::RecDescent::_tracefirst($text))
6952             if defined $::RD_TRACE;
6953 0           push @item, $_tok;
6954 0           $item{__ACTION1__}=$_tok;
6955            
6956              
6957              
6958 0 0         Parse::RecDescent::_trace(q{>>Matched production: [ACCESS 'static' constant_modifier arg NAME ';' verbose_constant_details]<<},
6959             Parse::RecDescent::_tracefirst($text),
6960             q{constant},
6961             $tracelevel)
6962             if defined $::RD_TRACE;
6963 0           $_matched = 1;
6964 0           last;
6965             }
6966              
6967              
6968 0   0       while (!$_matched && !$commit)
6969             {
6970            
6971 0 0         Parse::RecDescent::_trace(q{Trying production: ['static' 'transient' arg NAME ';']},
6972             Parse::RecDescent::_tracefirst($_[1]),
6973             q{constant},
6974             $tracelevel)
6975             if defined $::RD_TRACE;
6976 0           my $thisprod = $thisrule->{"prods"}[1];
6977 0           $text = $_[1];
6978 0           my $_savetext;
6979 0           @item = (q{constant});
6980 0           %item = (__RULE__ => q{constant});
6981 0           my $repcount = 0;
6982              
6983              
6984 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['static']},
6985             Parse::RecDescent::_tracefirst($text),
6986             q{constant},
6987             $tracelevel)
6988             if defined $::RD_TRACE;
6989 0           $lastsep = "";
6990 0           $expectation->is(q{})->at($text);
6991            
6992              
6993 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Astatic/)
  0 0          
6994             {
6995            
6996 0           $expectation->failed();
6997 0 0         Parse::RecDescent::_trace(qq{<>},
6998             Parse::RecDescent::_tracefirst($text))
6999             if defined $::RD_TRACE;
7000 0           last;
7001             }
7002 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7003 0           substr($text,0,length($current_match),q{});
7004 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7005             . $current_match . q{])},
7006             Parse::RecDescent::_tracefirst($text))
7007             if defined $::RD_TRACE;
7008 0           push @item, $item{__STRING1__}=$current_match;
7009            
7010              
7011 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['transient']},
7012             Parse::RecDescent::_tracefirst($text),
7013             q{constant},
7014             $tracelevel)
7015             if defined $::RD_TRACE;
7016 0           $lastsep = "";
7017 0           $expectation->is(q{'transient'})->at($text);
7018            
7019              
7020 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Atransient/)
  0 0          
7021             {
7022            
7023 0           $expectation->failed();
7024 0 0         Parse::RecDescent::_trace(qq{<>},
7025             Parse::RecDescent::_tracefirst($text))
7026             if defined $::RD_TRACE;
7027 0           last;
7028             }
7029 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7030 0           substr($text,0,length($current_match),q{});
7031 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7032             . $current_match . q{])},
7033             Parse::RecDescent::_tracefirst($text))
7034             if defined $::RD_TRACE;
7035 0           push @item, $item{__STRING2__}=$current_match;
7036            
7037              
7038 0 0         Parse::RecDescent::_trace(q{Trying subrule: [arg]},
7039             Parse::RecDescent::_tracefirst($text),
7040             q{constant},
7041             $tracelevel)
7042             if defined $::RD_TRACE;
7043 4     4   22 if (1) { no strict qw{refs};
  4         8  
  4         890  
  0            
7044 0           $expectation->is(q{arg})->at($text);
7045 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::arg($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
7046             {
7047            
7048 0 0         Parse::RecDescent::_trace(q{<>},
7049             Parse::RecDescent::_tracefirst($text),
7050             q{constant},
7051             $tracelevel)
7052             if defined $::RD_TRACE;
7053 0           $expectation->failed();
7054 0           last;
7055             }
7056 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [arg]<< (return value: [}
7057             . $_tok . q{]},
7058            
7059             Parse::RecDescent::_tracefirst($text),
7060             q{constant},
7061             $tracelevel)
7062             if defined $::RD_TRACE;
7063 0           $item{q{arg}} = $_tok;
7064 0           push @item, $_tok;
7065            
7066             }
7067              
7068 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
7069             Parse::RecDescent::_tracefirst($text),
7070             q{constant},
7071             $tracelevel)
7072             if defined $::RD_TRACE;
7073 4     4   19 if (1) { no strict qw{refs};
  4         6  
  4         4177  
  0            
7074 0           $expectation->is(q{NAME})->at($text);
7075 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
7076             {
7077            
7078 0 0         Parse::RecDescent::_trace(q{<>},
7079             Parse::RecDescent::_tracefirst($text),
7080             q{constant},
7081             $tracelevel)
7082             if defined $::RD_TRACE;
7083 0           $expectation->failed();
7084 0           last;
7085             }
7086 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
7087             . $_tok . q{]},
7088            
7089             Parse::RecDescent::_tracefirst($text),
7090             q{constant},
7091             $tracelevel)
7092             if defined $::RD_TRACE;
7093 0           $item{q{NAME}} = $_tok;
7094 0           push @item, $_tok;
7095            
7096             }
7097              
7098 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
7099             Parse::RecDescent::_tracefirst($text),
7100             q{constant},
7101             $tracelevel)
7102             if defined $::RD_TRACE;
7103 0           $lastsep = "";
7104 0           $expectation->is(q{';'})->at($text);
7105            
7106              
7107 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
7108             {
7109            
7110 0           $expectation->failed();
7111 0 0         Parse::RecDescent::_trace(qq{<>},
7112             Parse::RecDescent::_tracefirst($text))
7113             if defined $::RD_TRACE;
7114 0           last;
7115             }
7116 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7117 0           substr($text,0,length($current_match),q{});
7118 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7119             . $current_match . q{])},
7120             Parse::RecDescent::_tracefirst($text))
7121             if defined $::RD_TRACE;
7122 0           push @item, $item{__STRING3__}=$current_match;
7123            
7124              
7125 0 0         Parse::RecDescent::_trace(q{Trying action},
7126             Parse::RecDescent::_tracefirst($text),
7127             q{constant},
7128             $tracelevel)
7129             if defined $::RD_TRACE;
7130            
7131              
7132 0 0         $_tok = ($_noactions) ? 0 : do {
7133             {
7134             body_element => 'transient_constant',
7135             type => $item{ arg }[0],
7136             name => $item{ NAME },
7137             }
7138 0           };
7139 0 0         unless (defined $_tok)
7140             {
7141 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7142             if defined $::RD_TRACE;
7143 0           last;
7144             }
7145 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7146             . $_tok . q{])},
7147             Parse::RecDescent::_tracefirst($text))
7148             if defined $::RD_TRACE;
7149 0           push @item, $_tok;
7150 0           $item{__ACTION1__}=$_tok;
7151            
7152              
7153              
7154 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['static' 'transient' arg NAME ';']<<},
7155             Parse::RecDescent::_tracefirst($text),
7156             q{constant},
7157             $tracelevel)
7158             if defined $::RD_TRACE;
7159 0           $_matched = 1;
7160 0           last;
7161             }
7162              
7163              
7164 0 0 0       unless ( $_matched || defined($score) )
7165             {
7166            
7167              
7168 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
7169 0 0         Parse::RecDescent::_trace(q{<>},
7170             Parse::RecDescent::_tracefirst($_[1]),
7171             q{constant},
7172             $tracelevel)
7173             if defined $::RD_TRACE;
7174 0           return undef;
7175             }
7176 0 0 0       if (!defined($return) && defined($score))
7177             {
7178 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7179             q{constant},
7180             $tracelevel)
7181             if defined $::RD_TRACE;
7182 0           $return = $score_return;
7183             }
7184 0           splice @{$thisparser->{errors}}, $err_at;
  0            
7185 0 0         $return = $item[$#item] unless defined $return;
7186 0 0         if (defined $::RD_TRACE)
7187             {
7188 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7189             $return . q{])}, "",
7190             q{constant},
7191             $tracelevel);
7192 0           Parse::RecDescent::_trace(q{(consumed: [} .
7193             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7194             Parse::RecDescent::_tracefirst($text),
7195             , q{constant},
7196             $tracelevel)
7197             }
7198 0           $_[1] = $text;
7199 0           return $return;
7200             }
7201              
7202             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7203             sub Parse::RecDescent::Java::Javap::Grammar::verbose_line_number_table
7204             {
7205 0     0     my $thisparser = $_[0];
7206 4     4   26 use vars q{$tracelevel};
  4         7  
  4         4273  
7207 0   0       local $tracelevel = ($tracelevel||0)+1;
7208 0           $ERRORS = 0;
7209 0           my $thisrule = $thisparser->{"rules"}{"verbose_line_number_table"};
7210            
7211 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_line_number_table]},
7212             Parse::RecDescent::_tracefirst($_[1]),
7213             q{verbose_line_number_table},
7214             $tracelevel)
7215             if defined $::RD_TRACE;
7216              
7217            
7218 0           my $err_at = @{$thisparser->{errors}};
  0            
7219              
7220 0           my $score;
7221             my $score_return;
7222 0           my $_tok;
7223 0           my $return = undef;
7224 0           my $_matched=0;
7225 0           my $commit=0;
7226 0           my @item = ();
7227 0           my %item = ();
7228 0   0       my $repeating = defined($_[2]) && $_[2];
7229 0   0       my $_noactions = defined($_[3]) && $_[3];
7230 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
7231 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7232 0           my $text;
7233 0           my $lastsep="";
7234 0           my $current_match;
7235 0           my $expectation = new Parse::RecDescent::Expectation(q{'LineNumberTable:'});
7236 0           $expectation->at($_[1]);
7237            
7238 0           my $thisline;
7239 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7240              
7241            
7242              
7243 0   0       while (!$_matched && !$commit)
7244             {
7245            
7246 0 0         Parse::RecDescent::_trace(q{Trying production: ['LineNumberTable:' number_table_line]},
7247             Parse::RecDescent::_tracefirst($_[1]),
7248             q{verbose_line_number_table},
7249             $tracelevel)
7250             if defined $::RD_TRACE;
7251 0           my $thisprod = $thisrule->{"prods"}[0];
7252 0           $text = $_[1];
7253 0           my $_savetext;
7254 0           @item = (q{verbose_line_number_table});
7255 0           %item = (__RULE__ => q{verbose_line_number_table});
7256 0           my $repcount = 0;
7257              
7258              
7259 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['LineNumberTable:']},
7260             Parse::RecDescent::_tracefirst($text),
7261             q{verbose_line_number_table},
7262             $tracelevel)
7263             if defined $::RD_TRACE;
7264 0           $lastsep = "";
7265 0           $expectation->is(q{})->at($text);
7266            
7267              
7268 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\ALineNumberTable\:/)
  0 0          
7269             {
7270            
7271 0           $expectation->failed();
7272 0 0         Parse::RecDescent::_trace(qq{<>},
7273             Parse::RecDescent::_tracefirst($text))
7274             if defined $::RD_TRACE;
7275 0           last;
7276             }
7277 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7278 0           substr($text,0,length($current_match),q{});
7279 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7280             . $current_match . q{])},
7281             Parse::RecDescent::_tracefirst($text))
7282             if defined $::RD_TRACE;
7283 0           push @item, $item{__STRING1__}=$current_match;
7284            
7285              
7286 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [number_table_line]},
7287             Parse::RecDescent::_tracefirst($text),
7288             q{verbose_line_number_table},
7289             $tracelevel)
7290             if defined $::RD_TRACE;
7291 0           $expectation->is(q{number_table_line})->at($text);
7292            
7293 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::number_table_line, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
7294             {
7295 0 0         Parse::RecDescent::_trace(q{<>},
7296             Parse::RecDescent::_tracefirst($text),
7297             q{verbose_line_number_table},
7298             $tracelevel)
7299             if defined $::RD_TRACE;
7300 0           last;
7301             }
7302 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [number_table_line]<< (}
7303             . @$_tok . q{ times)},
7304            
7305             Parse::RecDescent::_tracefirst($text),
7306             q{verbose_line_number_table},
7307             $tracelevel)
7308             if defined $::RD_TRACE;
7309 0           $item{q{number_table_line(s?)}} = $_tok;
7310 0           push @item, $_tok;
7311            
7312              
7313              
7314              
7315 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['LineNumberTable:' number_table_line]<<},
7316             Parse::RecDescent::_tracefirst($text),
7317             q{verbose_line_number_table},
7318             $tracelevel)
7319             if defined $::RD_TRACE;
7320 0           $_matched = 1;
7321 0           last;
7322             }
7323              
7324              
7325 0 0 0       unless ( $_matched || defined($score) )
7326             {
7327            
7328              
7329 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
7330 0 0         Parse::RecDescent::_trace(q{<>},
7331             Parse::RecDescent::_tracefirst($_[1]),
7332             q{verbose_line_number_table},
7333             $tracelevel)
7334             if defined $::RD_TRACE;
7335 0           return undef;
7336             }
7337 0 0 0       if (!defined($return) && defined($score))
7338             {
7339 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7340             q{verbose_line_number_table},
7341             $tracelevel)
7342             if defined $::RD_TRACE;
7343 0           $return = $score_return;
7344             }
7345 0           splice @{$thisparser->{errors}}, $err_at;
  0            
7346 0 0         $return = $item[$#item] unless defined $return;
7347 0 0         if (defined $::RD_TRACE)
7348             {
7349 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7350             $return . q{])}, "",
7351             q{verbose_line_number_table},
7352             $tracelevel);
7353 0           Parse::RecDescent::_trace(q{(consumed: [} .
7354             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7355             Parse::RecDescent::_tracefirst($text),
7356             , q{verbose_line_number_table},
7357             $tracelevel)
7358             }
7359 0           $_[1] = $text;
7360 0           return $return;
7361             }
7362              
7363             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7364             sub Parse::RecDescent::Java::Javap::Grammar::method_qualifier
7365             {
7366 0     0     my $thisparser = $_[0];
7367 4     4   22 use vars q{$tracelevel};
  4         6  
  4         17771  
7368 0   0       local $tracelevel = ($tracelevel||0)+1;
7369 0           $ERRORS = 0;
7370 0           my $thisrule = $thisparser->{"rules"}{"method_qualifier"};
7371            
7372 0 0         Parse::RecDescent::_trace(q{Trying rule: [method_qualifier]},
7373             Parse::RecDescent::_tracefirst($_[1]),
7374             q{method_qualifier},
7375             $tracelevel)
7376             if defined $::RD_TRACE;
7377              
7378            
7379 0           my $err_at = @{$thisparser->{errors}};
  0            
7380              
7381 0           my $score;
7382             my $score_return;
7383 0           my $_tok;
7384 0           my $return = undef;
7385 0           my $_matched=0;
7386 0           my $commit=0;
7387 0           my @item = ();
7388 0           my %item = ();
7389 0   0       my $repeating = defined($_[2]) && $_[2];
7390 0   0       my $_noactions = defined($_[3]) && $_[3];
7391 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
7392 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7393 0           my $text;
7394 0           my $lastsep="";
7395 0           my $current_match;
7396 0           my $expectation = new Parse::RecDescent::Expectation(q{'abstract', or 'native', or 'static', or 'synchronized', or 'final'});
7397 0           $expectation->at($_[1]);
7398            
7399 0           my $thisline;
7400 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7401              
7402            
7403              
7404 0   0       while (!$_matched && !$commit)
7405             {
7406            
7407 0 0         Parse::RecDescent::_trace(q{Trying production: ['abstract']},
7408             Parse::RecDescent::_tracefirst($_[1]),
7409             q{method_qualifier},
7410             $tracelevel)
7411             if defined $::RD_TRACE;
7412 0           my $thisprod = $thisrule->{"prods"}[0];
7413 0           $text = $_[1];
7414 0           my $_savetext;
7415 0           @item = (q{method_qualifier});
7416 0           %item = (__RULE__ => q{method_qualifier});
7417 0           my $repcount = 0;
7418              
7419              
7420 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['abstract']},
7421             Parse::RecDescent::_tracefirst($text),
7422             q{method_qualifier},
7423             $tracelevel)
7424             if defined $::RD_TRACE;
7425 0           $lastsep = "";
7426 0           $expectation->is(q{})->at($text);
7427            
7428              
7429 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aabstract/)
  0 0          
7430             {
7431            
7432 0           $expectation->failed();
7433 0 0         Parse::RecDescent::_trace(qq{<>},
7434             Parse::RecDescent::_tracefirst($text))
7435             if defined $::RD_TRACE;
7436 0           last;
7437             }
7438 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7439 0           substr($text,0,length($current_match),q{});
7440 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7441             . $current_match . q{])},
7442             Parse::RecDescent::_tracefirst($text))
7443             if defined $::RD_TRACE;
7444 0           push @item, $item{__STRING1__}=$current_match;
7445            
7446              
7447 0 0         Parse::RecDescent::_trace(q{Trying action},
7448             Parse::RecDescent::_tracefirst($text),
7449             q{method_qualifier},
7450             $tracelevel)
7451             if defined $::RD_TRACE;
7452            
7453              
7454 0 0         $_tok = ($_noactions) ? 0 : do { 'abstract' };
  0            
7455 0 0         unless (defined $_tok)
7456             {
7457 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7458             if defined $::RD_TRACE;
7459 0           last;
7460             }
7461 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7462             . $_tok . q{])},
7463             Parse::RecDescent::_tracefirst($text))
7464             if defined $::RD_TRACE;
7465 0           push @item, $_tok;
7466 0           $item{__ACTION1__}=$_tok;
7467            
7468              
7469              
7470 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['abstract']<<},
7471             Parse::RecDescent::_tracefirst($text),
7472             q{method_qualifier},
7473             $tracelevel)
7474             if defined $::RD_TRACE;
7475 0           $_matched = 1;
7476 0           last;
7477             }
7478              
7479              
7480 0   0       while (!$_matched && !$commit)
7481             {
7482            
7483 0 0         Parse::RecDescent::_trace(q{Trying production: ['native']},
7484             Parse::RecDescent::_tracefirst($_[1]),
7485             q{method_qualifier},
7486             $tracelevel)
7487             if defined $::RD_TRACE;
7488 0           my $thisprod = $thisrule->{"prods"}[1];
7489 0           $text = $_[1];
7490 0           my $_savetext;
7491 0           @item = (q{method_qualifier});
7492 0           %item = (__RULE__ => q{method_qualifier});
7493 0           my $repcount = 0;
7494              
7495              
7496 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['native']},
7497             Parse::RecDescent::_tracefirst($text),
7498             q{method_qualifier},
7499             $tracelevel)
7500             if defined $::RD_TRACE;
7501 0           $lastsep = "";
7502 0           $expectation->is(q{})->at($text);
7503            
7504              
7505 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Anative/)
  0 0          
7506             {
7507            
7508 0           $expectation->failed();
7509 0 0         Parse::RecDescent::_trace(qq{<>},
7510             Parse::RecDescent::_tracefirst($text))
7511             if defined $::RD_TRACE;
7512 0           last;
7513             }
7514 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7515 0           substr($text,0,length($current_match),q{});
7516 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7517             . $current_match . q{])},
7518             Parse::RecDescent::_tracefirst($text))
7519             if defined $::RD_TRACE;
7520 0           push @item, $item{__STRING1__}=$current_match;
7521            
7522              
7523 0 0         Parse::RecDescent::_trace(q{Trying action},
7524             Parse::RecDescent::_tracefirst($text),
7525             q{method_qualifier},
7526             $tracelevel)
7527             if defined $::RD_TRACE;
7528            
7529              
7530 0 0         $_tok = ($_noactions) ? 0 : do { 'native' };
  0            
7531 0 0         unless (defined $_tok)
7532             {
7533 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7534             if defined $::RD_TRACE;
7535 0           last;
7536             }
7537 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7538             . $_tok . q{])},
7539             Parse::RecDescent::_tracefirst($text))
7540             if defined $::RD_TRACE;
7541 0           push @item, $_tok;
7542 0           $item{__ACTION1__}=$_tok;
7543            
7544              
7545              
7546 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['native']<<},
7547             Parse::RecDescent::_tracefirst($text),
7548             q{method_qualifier},
7549             $tracelevel)
7550             if defined $::RD_TRACE;
7551 0           $_matched = 1;
7552 0           last;
7553             }
7554              
7555              
7556 0   0       while (!$_matched && !$commit)
7557             {
7558            
7559 0 0         Parse::RecDescent::_trace(q{Trying production: ['static']},
7560             Parse::RecDescent::_tracefirst($_[1]),
7561             q{method_qualifier},
7562             $tracelevel)
7563             if defined $::RD_TRACE;
7564 0           my $thisprod = $thisrule->{"prods"}[2];
7565 0           $text = $_[1];
7566 0           my $_savetext;
7567 0           @item = (q{method_qualifier});
7568 0           %item = (__RULE__ => q{method_qualifier});
7569 0           my $repcount = 0;
7570              
7571              
7572 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['static']},
7573             Parse::RecDescent::_tracefirst($text),
7574             q{method_qualifier},
7575             $tracelevel)
7576             if defined $::RD_TRACE;
7577 0           $lastsep = "";
7578 0           $expectation->is(q{})->at($text);
7579            
7580              
7581 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Astatic/)
  0 0          
7582             {
7583            
7584 0           $expectation->failed();
7585 0 0         Parse::RecDescent::_trace(qq{<>},
7586             Parse::RecDescent::_tracefirst($text))
7587             if defined $::RD_TRACE;
7588 0           last;
7589             }
7590 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7591 0           substr($text,0,length($current_match),q{});
7592 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7593             . $current_match . q{])},
7594             Parse::RecDescent::_tracefirst($text))
7595             if defined $::RD_TRACE;
7596 0           push @item, $item{__STRING1__}=$current_match;
7597            
7598              
7599 0 0         Parse::RecDescent::_trace(q{Trying action},
7600             Parse::RecDescent::_tracefirst($text),
7601             q{method_qualifier},
7602             $tracelevel)
7603             if defined $::RD_TRACE;
7604            
7605              
7606 0 0         $_tok = ($_noactions) ? 0 : do { 'static' };
  0            
7607 0 0         unless (defined $_tok)
7608             {
7609 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7610             if defined $::RD_TRACE;
7611 0           last;
7612             }
7613 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7614             . $_tok . q{])},
7615             Parse::RecDescent::_tracefirst($text))
7616             if defined $::RD_TRACE;
7617 0           push @item, $_tok;
7618 0           $item{__ACTION1__}=$_tok;
7619            
7620              
7621              
7622 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['static']<<},
7623             Parse::RecDescent::_tracefirst($text),
7624             q{method_qualifier},
7625             $tracelevel)
7626             if defined $::RD_TRACE;
7627 0           $_matched = 1;
7628 0           last;
7629             }
7630              
7631              
7632 0   0       while (!$_matched && !$commit)
7633             {
7634            
7635 0 0         Parse::RecDescent::_trace(q{Trying production: ['synchronized']},
7636             Parse::RecDescent::_tracefirst($_[1]),
7637             q{method_qualifier},
7638             $tracelevel)
7639             if defined $::RD_TRACE;
7640 0           my $thisprod = $thisrule->{"prods"}[3];
7641 0           $text = $_[1];
7642 0           my $_savetext;
7643 0           @item = (q{method_qualifier});
7644 0           %item = (__RULE__ => q{method_qualifier});
7645 0           my $repcount = 0;
7646              
7647              
7648 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['synchronized']},
7649             Parse::RecDescent::_tracefirst($text),
7650             q{method_qualifier},
7651             $tracelevel)
7652             if defined $::RD_TRACE;
7653 0           $lastsep = "";
7654 0           $expectation->is(q{})->at($text);
7655            
7656              
7657 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Asynchronized/)
  0 0          
7658             {
7659            
7660 0           $expectation->failed();
7661 0 0         Parse::RecDescent::_trace(qq{<>},
7662             Parse::RecDescent::_tracefirst($text))
7663             if defined $::RD_TRACE;
7664 0           last;
7665             }
7666 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7667 0           substr($text,0,length($current_match),q{});
7668 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7669             . $current_match . q{])},
7670             Parse::RecDescent::_tracefirst($text))
7671             if defined $::RD_TRACE;
7672 0           push @item, $item{__STRING1__}=$current_match;
7673            
7674              
7675 0 0         Parse::RecDescent::_trace(q{Trying action},
7676             Parse::RecDescent::_tracefirst($text),
7677             q{method_qualifier},
7678             $tracelevel)
7679             if defined $::RD_TRACE;
7680            
7681              
7682 0 0         $_tok = ($_noactions) ? 0 : do { 'synchronized' };
  0            
7683 0 0         unless (defined $_tok)
7684             {
7685 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7686             if defined $::RD_TRACE;
7687 0           last;
7688             }
7689 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7690             . $_tok . q{])},
7691             Parse::RecDescent::_tracefirst($text))
7692             if defined $::RD_TRACE;
7693 0           push @item, $_tok;
7694 0           $item{__ACTION1__}=$_tok;
7695            
7696              
7697              
7698 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['synchronized']<<},
7699             Parse::RecDescent::_tracefirst($text),
7700             q{method_qualifier},
7701             $tracelevel)
7702             if defined $::RD_TRACE;
7703 0           $_matched = 1;
7704 0           last;
7705             }
7706              
7707              
7708 0   0       while (!$_matched && !$commit)
7709             {
7710            
7711 0 0         Parse::RecDescent::_trace(q{Trying production: ['final']},
7712             Parse::RecDescent::_tracefirst($_[1]),
7713             q{method_qualifier},
7714             $tracelevel)
7715             if defined $::RD_TRACE;
7716 0           my $thisprod = $thisrule->{"prods"}[4];
7717 0           $text = $_[1];
7718 0           my $_savetext;
7719 0           @item = (q{method_qualifier});
7720 0           %item = (__RULE__ => q{method_qualifier});
7721 0           my $repcount = 0;
7722              
7723              
7724 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['final']},
7725             Parse::RecDescent::_tracefirst($text),
7726             q{method_qualifier},
7727             $tracelevel)
7728             if defined $::RD_TRACE;
7729 0           $lastsep = "";
7730 0           $expectation->is(q{})->at($text);
7731            
7732              
7733 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Afinal/)
  0 0          
7734             {
7735            
7736 0           $expectation->failed();
7737 0 0         Parse::RecDescent::_trace(qq{<>},
7738             Parse::RecDescent::_tracefirst($text))
7739             if defined $::RD_TRACE;
7740 0           last;
7741             }
7742 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7743 0           substr($text,0,length($current_match),q{});
7744 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7745             . $current_match . q{])},
7746             Parse::RecDescent::_tracefirst($text))
7747             if defined $::RD_TRACE;
7748 0           push @item, $item{__STRING1__}=$current_match;
7749            
7750              
7751 0 0         Parse::RecDescent::_trace(q{Trying action},
7752             Parse::RecDescent::_tracefirst($text),
7753             q{method_qualifier},
7754             $tracelevel)
7755             if defined $::RD_TRACE;
7756            
7757              
7758 0 0         $_tok = ($_noactions) ? 0 : do { 'final' };
  0            
7759 0 0         unless (defined $_tok)
7760             {
7761 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
7762             if defined $::RD_TRACE;
7763 0           last;
7764             }
7765 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7766             . $_tok . q{])},
7767             Parse::RecDescent::_tracefirst($text))
7768             if defined $::RD_TRACE;
7769 0           push @item, $_tok;
7770 0           $item{__ACTION1__}=$_tok;
7771            
7772              
7773              
7774 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['final']<<},
7775             Parse::RecDescent::_tracefirst($text),
7776             q{method_qualifier},
7777             $tracelevel)
7778             if defined $::RD_TRACE;
7779 0           $_matched = 1;
7780 0           last;
7781             }
7782              
7783              
7784 0 0 0       unless ( $_matched || defined($score) )
7785             {
7786            
7787              
7788 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
7789 0 0         Parse::RecDescent::_trace(q{<>},
7790             Parse::RecDescent::_tracefirst($_[1]),
7791             q{method_qualifier},
7792             $tracelevel)
7793             if defined $::RD_TRACE;
7794 0           return undef;
7795             }
7796 0 0 0       if (!defined($return) && defined($score))
7797             {
7798 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7799             q{method_qualifier},
7800             $tracelevel)
7801             if defined $::RD_TRACE;
7802 0           $return = $score_return;
7803             }
7804 0           splice @{$thisparser->{errors}}, $err_at;
  0            
7805 0 0         $return = $item[$#item] unless defined $return;
7806 0 0         if (defined $::RD_TRACE)
7807             {
7808 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7809             $return . q{])}, "",
7810             q{method_qualifier},
7811             $tracelevel);
7812 0           Parse::RecDescent::_trace(q{(consumed: [} .
7813             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7814             Parse::RecDescent::_tracefirst($text),
7815             , q{method_qualifier},
7816             $tracelevel)
7817             }
7818 0           $_[1] = $text;
7819 0           return $return;
7820             }
7821              
7822             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7823             sub Parse::RecDescent::Java::Javap::Grammar::verbose_class_details
7824             {
7825 0     0     my $thisparser = $_[0];
7826 4     4   35 use vars q{$tracelevel};
  4         7  
  4         3835  
7827 0   0       local $tracelevel = ($tracelevel||0)+1;
7828 0           $ERRORS = 0;
7829 0           my $thisrule = $thisparser->{"rules"}{"verbose_class_details"};
7830            
7831 0 0         Parse::RecDescent::_trace(q{Trying rule: [verbose_class_details]},
7832             Parse::RecDescent::_tracefirst($_[1]),
7833             q{verbose_class_details},
7834             $tracelevel)
7835             if defined $::RD_TRACE;
7836              
7837            
7838 0           my $err_at = @{$thisparser->{errors}};
  0            
7839              
7840 0           my $score;
7841             my $score_return;
7842 0           my $_tok;
7843 0           my $return = undef;
7844 0           my $_matched=0;
7845 0           my $commit=0;
7846 0           my @item = ();
7847 0           my %item = ();
7848 0   0       my $repeating = defined($_[2]) && $_[2];
7849 0   0       my $_noactions = defined($_[3]) && $_[3];
7850 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
7851 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7852 0           my $text;
7853 0           my $lastsep="";
7854 0           my $current_match;
7855 0           my $expectation = new Parse::RecDescent::Expectation(q{/[^\{]*/});
7856 0           $expectation->at($_[1]);
7857            
7858 0           my $thisline;
7859 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7860              
7861            
7862              
7863 0   0       while (!$_matched && !$commit)
7864             {
7865            
7866 0 0         Parse::RecDescent::_trace(q{Trying production: [/[^\{]*/]},
7867             Parse::RecDescent::_tracefirst($_[1]),
7868             q{verbose_class_details},
7869             $tracelevel)
7870             if defined $::RD_TRACE;
7871 0           my $thisprod = $thisrule->{"prods"}[0];
7872 0           $text = $_[1];
7873 0           my $_savetext;
7874 0           @item = (q{verbose_class_details});
7875 0           %item = (__RULE__ => q{verbose_class_details});
7876 0           my $repcount = 0;
7877              
7878              
7879 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/[^\{]*/]}, Parse::RecDescent::_tracefirst($text),
7880             q{verbose_class_details},
7881             $tracelevel)
7882             if defined $::RD_TRACE;
7883 0           $lastsep = "";
7884 0           $expectation->is(q{})->at($text);
7885            
7886              
7887 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^{]*)/)
  0 0          
7888             {
7889            
7890 0           $expectation->failed();
7891 0 0         Parse::RecDescent::_trace(q{<>},
7892             Parse::RecDescent::_tracefirst($text))
7893             if defined $::RD_TRACE;
7894              
7895 0           last;
7896             }
7897 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
7898 0           substr($text,0,length($current_match),q{});
7899 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7900             . $current_match . q{])},
7901             Parse::RecDescent::_tracefirst($text))
7902             if defined $::RD_TRACE;
7903 0           push @item, $item{__PATTERN1__}=$current_match;
7904            
7905              
7906              
7907 0 0         Parse::RecDescent::_trace(q{>>Matched production: [/[^\{]*/]<<},
7908             Parse::RecDescent::_tracefirst($text),
7909             q{verbose_class_details},
7910             $tracelevel)
7911             if defined $::RD_TRACE;
7912 0           $_matched = 1;
7913 0           last;
7914             }
7915              
7916              
7917 0 0 0       unless ( $_matched || defined($score) )
7918             {
7919            
7920              
7921 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
7922 0 0         Parse::RecDescent::_trace(q{<>},
7923             Parse::RecDescent::_tracefirst($_[1]),
7924             q{verbose_class_details},
7925             $tracelevel)
7926             if defined $::RD_TRACE;
7927 0           return undef;
7928             }
7929 0 0 0       if (!defined($return) && defined($score))
7930             {
7931 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7932             q{verbose_class_details},
7933             $tracelevel)
7934             if defined $::RD_TRACE;
7935 0           $return = $score_return;
7936             }
7937 0           splice @{$thisparser->{errors}}, $err_at;
  0            
7938 0 0         $return = $item[$#item] unless defined $return;
7939 0 0         if (defined $::RD_TRACE)
7940             {
7941 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7942             $return . q{])}, "",
7943             q{verbose_class_details},
7944             $tracelevel);
7945 0           Parse::RecDescent::_trace(q{(consumed: [} .
7946             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7947             Parse::RecDescent::_tracefirst($text),
7948             , q{verbose_class_details},
7949             $tracelevel)
7950             }
7951 0           $_[1] = $text;
7952 0           return $return;
7953             }
7954              
7955             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7956             sub Parse::RecDescent::Java::Javap::Grammar::body_element
7957             {
7958 0     0     my $thisparser = $_[0];
7959 4     4   31 use vars q{$tracelevel};
  4         7  
  4         1577  
7960 0   0       local $tracelevel = ($tracelevel||0)+1;
7961 0           $ERRORS = 0;
7962 0           my $thisrule = $thisparser->{"rules"}{"body_element"};
7963            
7964 0 0         Parse::RecDescent::_trace(q{Trying rule: [body_element]},
7965             Parse::RecDescent::_tracefirst($_[1]),
7966             q{body_element},
7967             $tracelevel)
7968             if defined $::RD_TRACE;
7969              
7970            
7971 0           my $err_at = @{$thisparser->{errors}};
  0            
7972              
7973 0           my $score;
7974             my $score_return;
7975 0           my $_tok;
7976 0           my $return = undef;
7977 0           my $_matched=0;
7978 0           my $commit=0;
7979 0           my @item = ();
7980 0           my %item = ();
7981 0   0       my $repeating = defined($_[2]) && $_[2];
7982 0   0       my $_noactions = defined($_[3]) && $_[3];
7983 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
7984 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7985 0           my $text;
7986 0           my $lastsep="";
7987 0           my $current_match;
7988 0           my $expectation = new Parse::RecDescent::Expectation(q{constant, or static_block, or method, or variable});
7989 0           $expectation->at($_[1]);
7990            
7991 0           my $thisline;
7992 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7993              
7994            
7995              
7996 0   0       while (!$_matched && !$commit)
7997             {
7998            
7999 0 0         Parse::RecDescent::_trace(q{Trying production: [constant]},
8000             Parse::RecDescent::_tracefirst($_[1]),
8001             q{body_element},
8002             $tracelevel)
8003             if defined $::RD_TRACE;
8004 0           my $thisprod = $thisrule->{"prods"}[0];
8005 0           $text = $_[1];
8006 0           my $_savetext;
8007 0           @item = (q{body_element});
8008 0           %item = (__RULE__ => q{body_element});
8009 0           my $repcount = 0;
8010              
8011              
8012 0 0         Parse::RecDescent::_trace(q{Trying subrule: [constant]},
8013             Parse::RecDescent::_tracefirst($text),
8014             q{body_element},
8015             $tracelevel)
8016             if defined $::RD_TRACE;
8017 4     4   26 if (1) { no strict qw{refs};
  4         10  
  4         1935  
  0            
8018 0           $expectation->is(q{})->at($text);
8019 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::constant($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8020             {
8021            
8022 0 0         Parse::RecDescent::_trace(q{<>},
8023             Parse::RecDescent::_tracefirst($text),
8024             q{body_element},
8025             $tracelevel)
8026             if defined $::RD_TRACE;
8027 0           $expectation->failed();
8028 0           last;
8029             }
8030 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [constant]<< (return value: [}
8031             . $_tok . q{]},
8032            
8033             Parse::RecDescent::_tracefirst($text),
8034             q{body_element},
8035             $tracelevel)
8036             if defined $::RD_TRACE;
8037 0           $item{q{constant}} = $_tok;
8038 0           push @item, $_tok;
8039            
8040             }
8041              
8042 0 0         Parse::RecDescent::_trace(q{Trying action},
8043             Parse::RecDescent::_tracefirst($text),
8044             q{body_element},
8045             $tracelevel)
8046             if defined $::RD_TRACE;
8047            
8048              
8049 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
8050 0 0         unless (defined $_tok)
8051             {
8052 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8053             if defined $::RD_TRACE;
8054 0           last;
8055             }
8056 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8057             . $_tok . q{])},
8058             Parse::RecDescent::_tracefirst($text))
8059             if defined $::RD_TRACE;
8060 0           push @item, $_tok;
8061 0           $item{__ACTION1__}=$_tok;
8062            
8063              
8064              
8065 0 0         Parse::RecDescent::_trace(q{>>Matched production: [constant]<<},
8066             Parse::RecDescent::_tracefirst($text),
8067             q{body_element},
8068             $tracelevel)
8069             if defined $::RD_TRACE;
8070 0           $_matched = 1;
8071 0           last;
8072             }
8073              
8074              
8075 0   0       while (!$_matched && !$commit)
8076             {
8077            
8078 0 0         Parse::RecDescent::_trace(q{Trying production: [static_block]},
8079             Parse::RecDescent::_tracefirst($_[1]),
8080             q{body_element},
8081             $tracelevel)
8082             if defined $::RD_TRACE;
8083 0           my $thisprod = $thisrule->{"prods"}[1];
8084 0           $text = $_[1];
8085 0           my $_savetext;
8086 0           @item = (q{body_element});
8087 0           %item = (__RULE__ => q{body_element});
8088 0           my $repcount = 0;
8089              
8090              
8091 0 0         Parse::RecDescent::_trace(q{Trying subrule: [static_block]},
8092             Parse::RecDescent::_tracefirst($text),
8093             q{body_element},
8094             $tracelevel)
8095             if defined $::RD_TRACE;
8096 4     4   24 if (1) { no strict qw{refs};
  4         9  
  4         2065  
  0            
8097 0           $expectation->is(q{})->at($text);
8098 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::static_block($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8099             {
8100            
8101 0 0         Parse::RecDescent::_trace(q{<>},
8102             Parse::RecDescent::_tracefirst($text),
8103             q{body_element},
8104             $tracelevel)
8105             if defined $::RD_TRACE;
8106 0           $expectation->failed();
8107 0           last;
8108             }
8109 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [static_block]<< (return value: [}
8110             . $_tok . q{]},
8111            
8112             Parse::RecDescent::_tracefirst($text),
8113             q{body_element},
8114             $tracelevel)
8115             if defined $::RD_TRACE;
8116 0           $item{q{static_block}} = $_tok;
8117 0           push @item, $_tok;
8118            
8119             }
8120              
8121 0 0         Parse::RecDescent::_trace(q{Trying action},
8122             Parse::RecDescent::_tracefirst($text),
8123             q{body_element},
8124             $tracelevel)
8125             if defined $::RD_TRACE;
8126            
8127              
8128 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
8129 0 0         unless (defined $_tok)
8130             {
8131 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8132             if defined $::RD_TRACE;
8133 0           last;
8134             }
8135 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8136             . $_tok . q{])},
8137             Parse::RecDescent::_tracefirst($text))
8138             if defined $::RD_TRACE;
8139 0           push @item, $_tok;
8140 0           $item{__ACTION1__}=$_tok;
8141            
8142              
8143              
8144 0 0         Parse::RecDescent::_trace(q{>>Matched production: [static_block]<<},
8145             Parse::RecDescent::_tracefirst($text),
8146             q{body_element},
8147             $tracelevel)
8148             if defined $::RD_TRACE;
8149 0           $_matched = 1;
8150 0           last;
8151             }
8152              
8153              
8154 0   0       while (!$_matched && !$commit)
8155             {
8156            
8157 0 0         Parse::RecDescent::_trace(q{Trying production: [method]},
8158             Parse::RecDescent::_tracefirst($_[1]),
8159             q{body_element},
8160             $tracelevel)
8161             if defined $::RD_TRACE;
8162 0           my $thisprod = $thisrule->{"prods"}[2];
8163 0           $text = $_[1];
8164 0           my $_savetext;
8165 0           @item = (q{body_element});
8166 0           %item = (__RULE__ => q{body_element});
8167 0           my $repcount = 0;
8168              
8169              
8170 0 0         Parse::RecDescent::_trace(q{Trying subrule: [method]},
8171             Parse::RecDescent::_tracefirst($text),
8172             q{body_element},
8173             $tracelevel)
8174             if defined $::RD_TRACE;
8175 4     4   26 if (1) { no strict qw{refs};
  4         22  
  4         2065  
  0            
8176 0           $expectation->is(q{})->at($text);
8177 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::method($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8178             {
8179            
8180 0 0         Parse::RecDescent::_trace(q{<>},
8181             Parse::RecDescent::_tracefirst($text),
8182             q{body_element},
8183             $tracelevel)
8184             if defined $::RD_TRACE;
8185 0           $expectation->failed();
8186 0           last;
8187             }
8188 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [method]<< (return value: [}
8189             . $_tok . q{]},
8190            
8191             Parse::RecDescent::_tracefirst($text),
8192             q{body_element},
8193             $tracelevel)
8194             if defined $::RD_TRACE;
8195 0           $item{q{method}} = $_tok;
8196 0           push @item, $_tok;
8197            
8198             }
8199              
8200 0 0         Parse::RecDescent::_trace(q{Trying action},
8201             Parse::RecDescent::_tracefirst($text),
8202             q{body_element},
8203             $tracelevel)
8204             if defined $::RD_TRACE;
8205            
8206              
8207 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
8208 0 0         unless (defined $_tok)
8209             {
8210 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8211             if defined $::RD_TRACE;
8212 0           last;
8213             }
8214 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8215             . $_tok . q{])},
8216             Parse::RecDescent::_tracefirst($text))
8217             if defined $::RD_TRACE;
8218 0           push @item, $_tok;
8219 0           $item{__ACTION1__}=$_tok;
8220            
8221              
8222              
8223 0 0         Parse::RecDescent::_trace(q{>>Matched production: [method]<<},
8224             Parse::RecDescent::_tracefirst($text),
8225             q{body_element},
8226             $tracelevel)
8227             if defined $::RD_TRACE;
8228 0           $_matched = 1;
8229 0           last;
8230             }
8231              
8232              
8233 0   0       while (!$_matched && !$commit)
8234             {
8235            
8236 0 0         Parse::RecDescent::_trace(q{Trying production: [variable]},
8237             Parse::RecDescent::_tracefirst($_[1]),
8238             q{body_element},
8239             $tracelevel)
8240             if defined $::RD_TRACE;
8241 0           my $thisprod = $thisrule->{"prods"}[3];
8242 0           $text = $_[1];
8243 0           my $_savetext;
8244 0           @item = (q{body_element});
8245 0           %item = (__RULE__ => q{body_element});
8246 0           my $repcount = 0;
8247              
8248              
8249 0 0         Parse::RecDescent::_trace(q{Trying subrule: [variable]},
8250             Parse::RecDescent::_tracefirst($text),
8251             q{body_element},
8252             $tracelevel)
8253             if defined $::RD_TRACE;
8254 4     4   28 if (1) { no strict qw{refs};
  4         10  
  4         3048  
  0            
8255 0           $expectation->is(q{})->at($text);
8256 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::variable($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8257             {
8258            
8259 0 0         Parse::RecDescent::_trace(q{<>},
8260             Parse::RecDescent::_tracefirst($text),
8261             q{body_element},
8262             $tracelevel)
8263             if defined $::RD_TRACE;
8264 0           $expectation->failed();
8265 0           last;
8266             }
8267 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [variable]<< (return value: [}
8268             . $_tok . q{]},
8269            
8270             Parse::RecDescent::_tracefirst($text),
8271             q{body_element},
8272             $tracelevel)
8273             if defined $::RD_TRACE;
8274 0           $item{q{variable}} = $_tok;
8275 0           push @item, $_tok;
8276            
8277             }
8278              
8279 0 0         Parse::RecDescent::_trace(q{Trying action},
8280             Parse::RecDescent::_tracefirst($text),
8281             q{body_element},
8282             $tracelevel)
8283             if defined $::RD_TRACE;
8284            
8285              
8286 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
8287 0 0         unless (defined $_tok)
8288             {
8289 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8290             if defined $::RD_TRACE;
8291 0           last;
8292             }
8293 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8294             . $_tok . q{])},
8295             Parse::RecDescent::_tracefirst($text))
8296             if defined $::RD_TRACE;
8297 0           push @item, $_tok;
8298 0           $item{__ACTION1__}=$_tok;
8299            
8300              
8301              
8302 0 0         Parse::RecDescent::_trace(q{>>Matched production: [variable]<<},
8303             Parse::RecDescent::_tracefirst($text),
8304             q{body_element},
8305             $tracelevel)
8306             if defined $::RD_TRACE;
8307 0           $_matched = 1;
8308 0           last;
8309             }
8310              
8311              
8312 0 0 0       unless ( $_matched || defined($score) )
8313             {
8314            
8315              
8316 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
8317 0 0         Parse::RecDescent::_trace(q{<>},
8318             Parse::RecDescent::_tracefirst($_[1]),
8319             q{body_element},
8320             $tracelevel)
8321             if defined $::RD_TRACE;
8322 0           return undef;
8323             }
8324 0 0 0       if (!defined($return) && defined($score))
8325             {
8326 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8327             q{body_element},
8328             $tracelevel)
8329             if defined $::RD_TRACE;
8330 0           $return = $score_return;
8331             }
8332 0           splice @{$thisparser->{errors}}, $err_at;
  0            
8333 0 0         $return = $item[$#item] unless defined $return;
8334 0 0         if (defined $::RD_TRACE)
8335             {
8336 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8337             $return . q{])}, "",
8338             q{body_element},
8339             $tracelevel);
8340 0           Parse::RecDescent::_trace(q{(consumed: [} .
8341             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8342             Parse::RecDescent::_tracefirst($text),
8343             , q{body_element},
8344             $tracelevel)
8345             }
8346 0           $_[1] = $text;
8347 0           return $return;
8348             }
8349              
8350             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
8351             sub Parse::RecDescent::Java::Javap::Grammar::comma_list
8352             {
8353 0     0     my $thisparser = $_[0];
8354 4     4   25 use vars q{$tracelevel};
  4         7  
  4         1587  
8355 0   0       local $tracelevel = ($tracelevel||0)+1;
8356 0           $ERRORS = 0;
8357 0           my $thisrule = $thisparser->{"rules"}{"comma_list"};
8358            
8359 0 0         Parse::RecDescent::_trace(q{Trying rule: [comma_list]},
8360             Parse::RecDescent::_tracefirst($_[1]),
8361             q{comma_list},
8362             $tracelevel)
8363             if defined $::RD_TRACE;
8364              
8365            
8366 0           my $err_at = @{$thisparser->{errors}};
  0            
8367              
8368 0           my $score;
8369             my $score_return;
8370 0           my $_tok;
8371 0           my $return = undef;
8372 0           my $_matched=0;
8373 0           my $commit=0;
8374 0           my @item = ();
8375 0           my %item = ();
8376 0   0       my $repeating = defined($_[2]) && $_[2];
8377 0   0       my $_noactions = defined($_[3]) && $_[3];
8378 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
8379 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8380 0           my $text;
8381 0           my $lastsep="";
8382 0           my $current_match;
8383 0           my $expectation = new Parse::RecDescent::Expectation(q{qualified_name});
8384 0           $expectation->at($_[1]);
8385            
8386 0           my $thisline;
8387 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8388              
8389            
8390              
8391 0   0       while (!$_matched && !$commit)
8392             {
8393            
8394 0 0         Parse::RecDescent::_trace(q{Trying production: [qualified_name ',' comma_list]},
8395             Parse::RecDescent::_tracefirst($_[1]),
8396             q{comma_list},
8397             $tracelevel)
8398             if defined $::RD_TRACE;
8399 0           my $thisprod = $thisrule->{"prods"}[0];
8400 0           $text = $_[1];
8401 0           my $_savetext;
8402 0           @item = (q{comma_list});
8403 0           %item = (__RULE__ => q{comma_list});
8404 0           my $repcount = 0;
8405              
8406              
8407 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
8408             Parse::RecDescent::_tracefirst($text),
8409             q{comma_list},
8410             $tracelevel)
8411             if defined $::RD_TRACE;
8412 4     4   23 if (1) { no strict qw{refs};
  4         9  
  4         1712  
  0            
8413 0           $expectation->is(q{})->at($text);
8414 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8415             {
8416            
8417 0 0         Parse::RecDescent::_trace(q{<>},
8418             Parse::RecDescent::_tracefirst($text),
8419             q{comma_list},
8420             $tracelevel)
8421             if defined $::RD_TRACE;
8422 0           $expectation->failed();
8423 0           last;
8424             }
8425 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
8426             . $_tok . q{]},
8427            
8428             Parse::RecDescent::_tracefirst($text),
8429             q{comma_list},
8430             $tracelevel)
8431             if defined $::RD_TRACE;
8432 0           $item{q{qualified_name}} = $_tok;
8433 0           push @item, $_tok;
8434            
8435             }
8436              
8437 0 0         Parse::RecDescent::_trace(q{Trying terminal: [',']},
8438             Parse::RecDescent::_tracefirst($text),
8439             q{comma_list},
8440             $tracelevel)
8441             if defined $::RD_TRACE;
8442 0           $lastsep = "";
8443 0           $expectation->is(q{','})->at($text);
8444            
8445              
8446 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\,/)
  0 0          
8447             {
8448            
8449 0           $expectation->failed();
8450 0 0         Parse::RecDescent::_trace(qq{<>},
8451             Parse::RecDescent::_tracefirst($text))
8452             if defined $::RD_TRACE;
8453 0           last;
8454             }
8455 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8456 0           substr($text,0,length($current_match),q{});
8457 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8458             . $current_match . q{])},
8459             Parse::RecDescent::_tracefirst($text))
8460             if defined $::RD_TRACE;
8461 0           push @item, $item{__STRING1__}=$current_match;
8462            
8463              
8464 0 0         Parse::RecDescent::_trace(q{Trying subrule: [comma_list]},
8465             Parse::RecDescent::_tracefirst($text),
8466             q{comma_list},
8467             $tracelevel)
8468             if defined $::RD_TRACE;
8469 4     4   22 if (1) { no strict qw{refs};
  4         6  
  4         1956  
  0            
8470 0           $expectation->is(q{comma_list})->at($text);
8471 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::comma_list($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8472             {
8473            
8474 0 0         Parse::RecDescent::_trace(q{<>},
8475             Parse::RecDescent::_tracefirst($text),
8476             q{comma_list},
8477             $tracelevel)
8478             if defined $::RD_TRACE;
8479 0           $expectation->failed();
8480 0           last;
8481             }
8482 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [comma_list]<< (return value: [}
8483             . $_tok . q{]},
8484            
8485             Parse::RecDescent::_tracefirst($text),
8486             q{comma_list},
8487             $tracelevel)
8488             if defined $::RD_TRACE;
8489 0           $item{q{comma_list}} = $_tok;
8490 0           push @item, $_tok;
8491            
8492             }
8493              
8494 0 0         Parse::RecDescent::_trace(q{Trying action},
8495             Parse::RecDescent::_tracefirst($text),
8496             q{comma_list},
8497             $tracelevel)
8498             if defined $::RD_TRACE;
8499            
8500              
8501 0 0         $_tok = ($_noactions) ? 0 : do {
8502 0           my @names = ( $item[1] );
8503 0 0         if ( ref( $item[3] ) eq 'ARRAY' ) {
8504 0           push @names, @{ $item[3] };
  0            
8505             }
8506             else {
8507 0           push @names, $item[3];
8508             }
8509 0           \@names;
8510             };
8511 0 0         unless (defined $_tok)
8512             {
8513 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8514             if defined $::RD_TRACE;
8515 0           last;
8516             }
8517 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8518             . $_tok . q{])},
8519             Parse::RecDescent::_tracefirst($text))
8520             if defined $::RD_TRACE;
8521 0           push @item, $_tok;
8522 0           $item{__ACTION1__}=$_tok;
8523            
8524              
8525              
8526 0 0         Parse::RecDescent::_trace(q{>>Matched production: [qualified_name ',' comma_list]<<},
8527             Parse::RecDescent::_tracefirst($text),
8528             q{comma_list},
8529             $tracelevel)
8530             if defined $::RD_TRACE;
8531 0           $_matched = 1;
8532 0           last;
8533             }
8534              
8535              
8536 0   0       while (!$_matched && !$commit)
8537             {
8538            
8539 0 0         Parse::RecDescent::_trace(q{Trying production: [qualified_name]},
8540             Parse::RecDescent::_tracefirst($_[1]),
8541             q{comma_list},
8542             $tracelevel)
8543             if defined $::RD_TRACE;
8544 0           my $thisprod = $thisrule->{"prods"}[1];
8545 0           $text = $_[1];
8546 0           my $_savetext;
8547 0           @item = (q{comma_list});
8548 0           %item = (__RULE__ => q{comma_list});
8549 0           my $repcount = 0;
8550              
8551              
8552 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
8553             Parse::RecDescent::_tracefirst($text),
8554             q{comma_list},
8555             $tracelevel)
8556             if defined $::RD_TRACE;
8557 4     4   20 if (1) { no strict qw{refs};
  4         7  
  4         3151  
  0            
8558 0           $expectation->is(q{})->at($text);
8559 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
8560             {
8561            
8562 0 0         Parse::RecDescent::_trace(q{<>},
8563             Parse::RecDescent::_tracefirst($text),
8564             q{comma_list},
8565             $tracelevel)
8566             if defined $::RD_TRACE;
8567 0           $expectation->failed();
8568 0           last;
8569             }
8570 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
8571             . $_tok . q{]},
8572            
8573             Parse::RecDescent::_tracefirst($text),
8574             q{comma_list},
8575             $tracelevel)
8576             if defined $::RD_TRACE;
8577 0           $item{q{qualified_name}} = $_tok;
8578 0           push @item, $_tok;
8579            
8580             }
8581              
8582 0 0         Parse::RecDescent::_trace(q{Trying action},
8583             Parse::RecDescent::_tracefirst($text),
8584             q{comma_list},
8585             $tracelevel)
8586             if defined $::RD_TRACE;
8587            
8588              
8589 0 0         $_tok = ($_noactions) ? 0 : do {
8590 0           [ $item[1] ]
8591             };
8592 0 0         unless (defined $_tok)
8593             {
8594 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8595             if defined $::RD_TRACE;
8596 0           last;
8597             }
8598 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8599             . $_tok . q{])},
8600             Parse::RecDescent::_tracefirst($text))
8601             if defined $::RD_TRACE;
8602 0           push @item, $_tok;
8603 0           $item{__ACTION1__}=$_tok;
8604            
8605              
8606              
8607 0 0         Parse::RecDescent::_trace(q{>>Matched production: [qualified_name]<<},
8608             Parse::RecDescent::_tracefirst($text),
8609             q{comma_list},
8610             $tracelevel)
8611             if defined $::RD_TRACE;
8612 0           $_matched = 1;
8613 0           last;
8614             }
8615              
8616              
8617 0 0 0       unless ( $_matched || defined($score) )
8618             {
8619            
8620              
8621 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
8622 0 0         Parse::RecDescent::_trace(q{<>},
8623             Parse::RecDescent::_tracefirst($_[1]),
8624             q{comma_list},
8625             $tracelevel)
8626             if defined $::RD_TRACE;
8627 0           return undef;
8628             }
8629 0 0 0       if (!defined($return) && defined($score))
8630             {
8631 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8632             q{comma_list},
8633             $tracelevel)
8634             if defined $::RD_TRACE;
8635 0           $return = $score_return;
8636             }
8637 0           splice @{$thisparser->{errors}}, $err_at;
  0            
8638 0 0         $return = $item[$#item] unless defined $return;
8639 0 0         if (defined $::RD_TRACE)
8640             {
8641 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8642             $return . q{])}, "",
8643             q{comma_list},
8644             $tracelevel);
8645 0           Parse::RecDescent::_trace(q{(consumed: [} .
8646             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8647             Parse::RecDescent::_tracefirst($text),
8648             , q{comma_list},
8649             $tracelevel)
8650             }
8651 0           $_[1] = $text;
8652 0           return $return;
8653             }
8654              
8655             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
8656             sub Parse::RecDescent::Java::Javap::Grammar::comment
8657             {
8658 0     0     my $thisparser = $_[0];
8659 4     4   23 use vars q{$tracelevel};
  4         8  
  4         6218  
8660 0   0       local $tracelevel = ($tracelevel||0)+1;
8661 0           $ERRORS = 0;
8662 0           my $thisrule = $thisparser->{"rules"}{"comment"};
8663            
8664 0 0         Parse::RecDescent::_trace(q{Trying rule: [comment]},
8665             Parse::RecDescent::_tracefirst($_[1]),
8666             q{comment},
8667             $tracelevel)
8668             if defined $::RD_TRACE;
8669              
8670            
8671 0           my $err_at = @{$thisparser->{errors}};
  0            
8672              
8673 0           my $score;
8674             my $score_return;
8675 0           my $_tok;
8676 0           my $return = undef;
8677 0           my $_matched=0;
8678 0           my $commit=0;
8679 0           my @item = ();
8680 0           my %item = ();
8681 0   0       my $repeating = defined($_[2]) && $_[2];
8682 0   0       my $_noactions = defined($_[3]) && $_[3];
8683 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
8684 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8685 0           my $text;
8686 0           my $lastsep="";
8687 0           my $current_match;
8688 0           my $expectation = new Parse::RecDescent::Expectation(q{'/*'});
8689 0           $expectation->at($_[1]);
8690            
8691 0           my $thisline;
8692 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8693              
8694            
8695              
8696 0   0       while (!$_matched && !$commit)
8697             {
8698            
8699 0 0         Parse::RecDescent::_trace(q{Trying production: ['/*' /[^*]*/ '*/']},
8700             Parse::RecDescent::_tracefirst($_[1]),
8701             q{comment},
8702             $tracelevel)
8703             if defined $::RD_TRACE;
8704 0           my $thisprod = $thisrule->{"prods"}[0];
8705 0           $text = $_[1];
8706 0           my $_savetext;
8707 0           @item = (q{comment});
8708 0           %item = (__RULE__ => q{comment});
8709 0           my $repcount = 0;
8710              
8711              
8712 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['/*']},
8713             Parse::RecDescent::_tracefirst($text),
8714             q{comment},
8715             $tracelevel)
8716             if defined $::RD_TRACE;
8717 0           $lastsep = "";
8718 0           $expectation->is(q{})->at($text);
8719            
8720              
8721 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\/\*/)
  0 0          
8722             {
8723            
8724 0           $expectation->failed();
8725 0 0         Parse::RecDescent::_trace(qq{<>},
8726             Parse::RecDescent::_tracefirst($text))
8727             if defined $::RD_TRACE;
8728 0           last;
8729             }
8730 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8731 0           substr($text,0,length($current_match),q{});
8732 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8733             . $current_match . q{])},
8734             Parse::RecDescent::_tracefirst($text))
8735             if defined $::RD_TRACE;
8736 0           push @item, $item{__STRING1__}=$current_match;
8737            
8738              
8739 0 0         Parse::RecDescent::_trace(q{Trying terminal: [/[^*]*/]}, Parse::RecDescent::_tracefirst($text),
8740             q{comment},
8741             $tracelevel)
8742             if defined $::RD_TRACE;
8743 0           $lastsep = "";
8744 0           $expectation->is(q{/[^*]*/})->at($text);
8745            
8746              
8747 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^*]*)/)
  0 0          
8748             {
8749            
8750 0           $expectation->failed();
8751 0 0         Parse::RecDescent::_trace(q{<>},
8752             Parse::RecDescent::_tracefirst($text))
8753             if defined $::RD_TRACE;
8754              
8755 0           last;
8756             }
8757 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8758 0           substr($text,0,length($current_match),q{});
8759 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8760             . $current_match . q{])},
8761             Parse::RecDescent::_tracefirst($text))
8762             if defined $::RD_TRACE;
8763 0           push @item, $item{__PATTERN1__}=$current_match;
8764            
8765              
8766 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['*/']},
8767             Parse::RecDescent::_tracefirst($text),
8768             q{comment},
8769             $tracelevel)
8770             if defined $::RD_TRACE;
8771 0           $lastsep = "";
8772 0           $expectation->is(q{'*/'})->at($text);
8773            
8774              
8775 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\*\//)
  0 0          
8776             {
8777            
8778 0           $expectation->failed();
8779 0 0         Parse::RecDescent::_trace(qq{<>},
8780             Parse::RecDescent::_tracefirst($text))
8781             if defined $::RD_TRACE;
8782 0           last;
8783             }
8784 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8785 0           substr($text,0,length($current_match),q{});
8786 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8787             . $current_match . q{])},
8788             Parse::RecDescent::_tracefirst($text))
8789             if defined $::RD_TRACE;
8790 0           push @item, $item{__STRING2__}=$current_match;
8791            
8792              
8793 0 0         Parse::RecDescent::_trace(q{Trying action},
8794             Parse::RecDescent::_tracefirst($text),
8795             q{comment},
8796             $tracelevel)
8797             if defined $::RD_TRACE;
8798            
8799              
8800 0 0         $_tok = ($_noactions) ? 0 : do {};
8801 0 0         unless (defined $_tok)
8802             {
8803 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
8804             if defined $::RD_TRACE;
8805 0           last;
8806             }
8807 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8808             . $_tok . q{])},
8809             Parse::RecDescent::_tracefirst($text))
8810             if defined $::RD_TRACE;
8811 0           push @item, $_tok;
8812 0           $item{__ACTION1__}=$_tok;
8813            
8814              
8815              
8816 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['/*' /[^*]*/ '*/']<<},
8817             Parse::RecDescent::_tracefirst($text),
8818             q{comment},
8819             $tracelevel)
8820             if defined $::RD_TRACE;
8821 0           $_matched = 1;
8822 0           last;
8823             }
8824              
8825              
8826 0   0       while (!$_matched && !$commit)
8827             {
8828            
8829 0 0         Parse::RecDescent::_trace(q{Trying production: []},
8830             Parse::RecDescent::_tracefirst($_[1]),
8831             q{comment},
8832             $tracelevel)
8833             if defined $::RD_TRACE;
8834 0           my $thisprod = $thisrule->{"prods"}[1];
8835 0           $text = $_[1];
8836 0           my $_savetext;
8837 0           @item = (q{comment});
8838 0           %item = (__RULE__ => q{comment});
8839 0           my $repcount = 0;
8840              
8841              
8842              
8843 0 0         Parse::RecDescent::_trace(q{>>Matched production: []<<},
8844             Parse::RecDescent::_tracefirst($text),
8845             q{comment},
8846             $tracelevel)
8847             if defined $::RD_TRACE;
8848 0           $_matched = 1;
8849 0           last;
8850             }
8851              
8852              
8853 0 0 0       unless ( $_matched || defined($score) )
8854             {
8855            
8856              
8857 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
8858 0 0         Parse::RecDescent::_trace(q{<>},
8859             Parse::RecDescent::_tracefirst($_[1]),
8860             q{comment},
8861             $tracelevel)
8862             if defined $::RD_TRACE;
8863 0           return undef;
8864             }
8865 0 0 0       if (!defined($return) && defined($score))
8866             {
8867 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8868             q{comment},
8869             $tracelevel)
8870             if defined $::RD_TRACE;
8871 0           $return = $score_return;
8872             }
8873 0           splice @{$thisparser->{errors}}, $err_at;
  0            
8874 0 0         $return = $item[$#item] unless defined $return;
8875 0 0         if (defined $::RD_TRACE)
8876             {
8877 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8878             $return . q{])}, "",
8879             q{comment},
8880             $tracelevel);
8881 0           Parse::RecDescent::_trace(q{(consumed: [} .
8882             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8883             Parse::RecDescent::_tracefirst($text),
8884             , q{comment},
8885             $tracelevel)
8886             }
8887 0           $_[1] = $text;
8888 0           return $return;
8889             }
8890              
8891             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
8892             sub Parse::RecDescent::Java::Javap::Grammar::static_block
8893             {
8894 0     0     my $thisparser = $_[0];
8895 4     4   25 use vars q{$tracelevel};
  4         22  
  4         7070  
8896 0   0       local $tracelevel = ($tracelevel||0)+1;
8897 0           $ERRORS = 0;
8898 0           my $thisrule = $thisparser->{"rules"}{"static_block"};
8899            
8900 0 0         Parse::RecDescent::_trace(q{Trying rule: [static_block]},
8901             Parse::RecDescent::_tracefirst($_[1]),
8902             q{static_block},
8903             $tracelevel)
8904             if defined $::RD_TRACE;
8905              
8906            
8907 0           my $err_at = @{$thisparser->{errors}};
  0            
8908              
8909 0           my $score;
8910             my $score_return;
8911 0           my $_tok;
8912 0           my $return = undef;
8913 0           my $_matched=0;
8914 0           my $commit=0;
8915 0           my @item = ();
8916 0           my %item = ();
8917 0   0       my $repeating = defined($_[2]) && $_[2];
8918 0   0       my $_noactions = defined($_[3]) && $_[3];
8919 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
8920 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8921 0           my $text;
8922 0           my $lastsep="";
8923 0           my $current_match;
8924 0           my $expectation = new Parse::RecDescent::Expectation(q{'static'});
8925 0           $expectation->at($_[1]);
8926            
8927 0           my $thisline;
8928 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8929              
8930            
8931              
8932 0   0       while (!$_matched && !$commit)
8933             {
8934            
8935 0 0         Parse::RecDescent::_trace(q{Trying production: ['static' '\{' '\}' ';' verbose_method_detail]},
8936             Parse::RecDescent::_tracefirst($_[1]),
8937             q{static_block},
8938             $tracelevel)
8939             if defined $::RD_TRACE;
8940 0           my $thisprod = $thisrule->{"prods"}[0];
8941 0           $text = $_[1];
8942 0           my $_savetext;
8943 0           @item = (q{static_block});
8944 0           %item = (__RULE__ => q{static_block});
8945 0           my $repcount = 0;
8946              
8947              
8948 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['static']},
8949             Parse::RecDescent::_tracefirst($text),
8950             q{static_block},
8951             $tracelevel)
8952             if defined $::RD_TRACE;
8953 0           $lastsep = "";
8954 0           $expectation->is(q{})->at($text);
8955            
8956              
8957 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Astatic/)
  0 0          
8958             {
8959            
8960 0           $expectation->failed();
8961 0 0         Parse::RecDescent::_trace(qq{<>},
8962             Parse::RecDescent::_tracefirst($text))
8963             if defined $::RD_TRACE;
8964 0           last;
8965             }
8966 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8967 0           substr($text,0,length($current_match),q{});
8968 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8969             . $current_match . q{])},
8970             Parse::RecDescent::_tracefirst($text))
8971             if defined $::RD_TRACE;
8972 0           push @item, $item{__STRING1__}=$current_match;
8973            
8974              
8975 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
8976             Parse::RecDescent::_tracefirst($text),
8977             q{static_block},
8978             $tracelevel)
8979             if defined $::RD_TRACE;
8980 0           $lastsep = "";
8981 0           $expectation->is(q{'\{'})->at($text);
8982            
8983              
8984 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\{/)
  0 0          
8985             {
8986            
8987 0           $expectation->failed();
8988 0 0         Parse::RecDescent::_trace(qq{<>},
8989             Parse::RecDescent::_tracefirst($text))
8990             if defined $::RD_TRACE;
8991 0           last;
8992             }
8993 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
8994 0           substr($text,0,length($current_match),q{});
8995 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8996             . $current_match . q{])},
8997             Parse::RecDescent::_tracefirst($text))
8998             if defined $::RD_TRACE;
8999 0           push @item, $item{__STRING2__}=$current_match;
9000            
9001              
9002 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
9003             Parse::RecDescent::_tracefirst($text),
9004             q{static_block},
9005             $tracelevel)
9006             if defined $::RD_TRACE;
9007 0           $lastsep = "";
9008 0           $expectation->is(q{'\}'})->at($text);
9009            
9010              
9011 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\}/)
  0 0          
9012             {
9013            
9014 0           $expectation->failed();
9015 0 0         Parse::RecDescent::_trace(qq{<>},
9016             Parse::RecDescent::_tracefirst($text))
9017             if defined $::RD_TRACE;
9018 0           last;
9019             }
9020 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9021 0           substr($text,0,length($current_match),q{});
9022 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9023             . $current_match . q{])},
9024             Parse::RecDescent::_tracefirst($text))
9025             if defined $::RD_TRACE;
9026 0           push @item, $item{__STRING3__}=$current_match;
9027            
9028              
9029 0 0         Parse::RecDescent::_trace(q{Trying terminal: [';']},
9030             Parse::RecDescent::_tracefirst($text),
9031             q{static_block},
9032             $tracelevel)
9033             if defined $::RD_TRACE;
9034 0           $lastsep = "";
9035 0           $expectation->is(q{';'})->at($text);
9036            
9037              
9038 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  0 0          
9039             {
9040            
9041 0           $expectation->failed();
9042 0 0         Parse::RecDescent::_trace(qq{<>},
9043             Parse::RecDescent::_tracefirst($text))
9044             if defined $::RD_TRACE;
9045 0           last;
9046             }
9047 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9048 0           substr($text,0,length($current_match),q{});
9049 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9050             . $current_match . q{])},
9051             Parse::RecDescent::_tracefirst($text))
9052             if defined $::RD_TRACE;
9053 0           push @item, $item{__STRING4__}=$current_match;
9054            
9055              
9056 0 0         Parse::RecDescent::_trace(q{Trying repeated subrule: [verbose_method_detail]},
9057             Parse::RecDescent::_tracefirst($text),
9058             q{static_block},
9059             $tracelevel)
9060             if defined $::RD_TRACE;
9061 0           $expectation->is(q{verbose_method_detail})->at($text);
9062            
9063 0 0   0     unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Java::Javap::Grammar::verbose_method_detail, 0, 100000000, $_noactions,$expectation,sub { \@arg })))
  0            
9064             {
9065 0 0         Parse::RecDescent::_trace(q{<>},
9066             Parse::RecDescent::_tracefirst($text),
9067             q{static_block},
9068             $tracelevel)
9069             if defined $::RD_TRACE;
9070 0           last;
9071             }
9072 0 0         Parse::RecDescent::_trace(q{>>Matched repeated subrule: [verbose_method_detail]<< (}
9073             . @$_tok . q{ times)},
9074            
9075             Parse::RecDescent::_tracefirst($text),
9076             q{static_block},
9077             $tracelevel)
9078             if defined $::RD_TRACE;
9079 0           $item{q{verbose_method_detail(s?)}} = $_tok;
9080 0           push @item, $_tok;
9081            
9082              
9083              
9084 0 0         Parse::RecDescent::_trace(q{Trying action},
9085             Parse::RecDescent::_tracefirst($text),
9086             q{static_block},
9087             $tracelevel)
9088             if defined $::RD_TRACE;
9089            
9090              
9091 0 0         $_tok = ($_noactions) ? 0 : do {
9092 0           { body_element => 'static_block' }
9093             };
9094 0 0         unless (defined $_tok)
9095             {
9096 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9097             if defined $::RD_TRACE;
9098 0           last;
9099             }
9100 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9101             . $_tok . q{])},
9102             Parse::RecDescent::_tracefirst($text))
9103             if defined $::RD_TRACE;
9104 0           push @item, $_tok;
9105 0           $item{__ACTION1__}=$_tok;
9106            
9107              
9108              
9109 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['static' '\{' '\}' ';' verbose_method_detail]<<},
9110             Parse::RecDescent::_tracefirst($text),
9111             q{static_block},
9112             $tracelevel)
9113             if defined $::RD_TRACE;
9114 0           $_matched = 1;
9115 0           last;
9116             }
9117              
9118              
9119 0 0 0       unless ( $_matched || defined($score) )
9120             {
9121            
9122              
9123 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
9124 0 0         Parse::RecDescent::_trace(q{<>},
9125             Parse::RecDescent::_tracefirst($_[1]),
9126             q{static_block},
9127             $tracelevel)
9128             if defined $::RD_TRACE;
9129 0           return undef;
9130             }
9131 0 0 0       if (!defined($return) && defined($score))
9132             {
9133 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9134             q{static_block},
9135             $tracelevel)
9136             if defined $::RD_TRACE;
9137 0           $return = $score_return;
9138             }
9139 0           splice @{$thisparser->{errors}}, $err_at;
  0            
9140 0 0         $return = $item[$#item] unless defined $return;
9141 0 0         if (defined $::RD_TRACE)
9142             {
9143 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9144             $return . q{])}, "",
9145             q{static_block},
9146             $tracelevel);
9147 0           Parse::RecDescent::_trace(q{(consumed: [} .
9148             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9149             Parse::RecDescent::_tracefirst($text),
9150             , q{static_block},
9151             $tracelevel)
9152             }
9153 0           $_[1] = $text;
9154 0           return $return;
9155             }
9156              
9157             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9158             sub Parse::RecDescent::Java::Javap::Grammar::extends_clause
9159             {
9160 0     0     my $thisparser = $_[0];
9161 4     4   28 use vars q{$tracelevel};
  4         7  
  4         2686  
9162 0   0       local $tracelevel = ($tracelevel||0)+1;
9163 0           $ERRORS = 0;
9164 0           my $thisrule = $thisparser->{"rules"}{"extends_clause"};
9165            
9166 0 0         Parse::RecDescent::_trace(q{Trying rule: [extends_clause]},
9167             Parse::RecDescent::_tracefirst($_[1]),
9168             q{extends_clause},
9169             $tracelevel)
9170             if defined $::RD_TRACE;
9171              
9172            
9173 0           my $err_at = @{$thisparser->{errors}};
  0            
9174              
9175 0           my $score;
9176             my $score_return;
9177 0           my $_tok;
9178 0           my $return = undef;
9179 0           my $_matched=0;
9180 0           my $commit=0;
9181 0           my @item = ();
9182 0           my %item = ();
9183 0   0       my $repeating = defined($_[2]) && $_[2];
9184 0   0       my $_noactions = defined($_[3]) && $_[3];
9185 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
9186 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9187 0           my $text;
9188 0           my $lastsep="";
9189 0           my $current_match;
9190 0           my $expectation = new Parse::RecDescent::Expectation(q{'extends'});
9191 0           $expectation->at($_[1]);
9192            
9193 0           my $thisline;
9194 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9195              
9196            
9197              
9198 0   0       while (!$_matched && !$commit)
9199             {
9200            
9201 0 0         Parse::RecDescent::_trace(q{Trying production: ['extends' qualified_name]},
9202             Parse::RecDescent::_tracefirst($_[1]),
9203             q{extends_clause},
9204             $tracelevel)
9205             if defined $::RD_TRACE;
9206 0           my $thisprod = $thisrule->{"prods"}[0];
9207 0           $text = $_[1];
9208 0           my $_savetext;
9209 0           @item = (q{extends_clause});
9210 0           %item = (__RULE__ => q{extends_clause});
9211 0           my $repcount = 0;
9212              
9213              
9214 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['extends']},
9215             Parse::RecDescent::_tracefirst($text),
9216             q{extends_clause},
9217             $tracelevel)
9218             if defined $::RD_TRACE;
9219 0           $lastsep = "";
9220 0           $expectation->is(q{})->at($text);
9221            
9222              
9223 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aextends/)
  0 0          
9224             {
9225            
9226 0           $expectation->failed();
9227 0 0         Parse::RecDescent::_trace(qq{<>},
9228             Parse::RecDescent::_tracefirst($text))
9229             if defined $::RD_TRACE;
9230 0           last;
9231             }
9232 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9233 0           substr($text,0,length($current_match),q{});
9234 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9235             . $current_match . q{])},
9236             Parse::RecDescent::_tracefirst($text))
9237             if defined $::RD_TRACE;
9238 0           push @item, $item{__STRING1__}=$current_match;
9239            
9240              
9241 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
9242             Parse::RecDescent::_tracefirst($text),
9243             q{extends_clause},
9244             $tracelevel)
9245             if defined $::RD_TRACE;
9246 4     4   25 if (1) { no strict qw{refs};
  4         8  
  4         2494  
  0            
9247 0           $expectation->is(q{qualified_name})->at($text);
9248 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
9249             {
9250            
9251 0 0         Parse::RecDescent::_trace(q{<>},
9252             Parse::RecDescent::_tracefirst($text),
9253             q{extends_clause},
9254             $tracelevel)
9255             if defined $::RD_TRACE;
9256 0           $expectation->failed();
9257 0           last;
9258             }
9259 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
9260             . $_tok . q{]},
9261            
9262             Parse::RecDescent::_tracefirst($text),
9263             q{extends_clause},
9264             $tracelevel)
9265             if defined $::RD_TRACE;
9266 0           $item{q{qualified_name}} = $_tok;
9267 0           push @item, $_tok;
9268            
9269             }
9270              
9271 0 0         Parse::RecDescent::_trace(q{Trying action},
9272             Parse::RecDescent::_tracefirst($text),
9273             q{extends_clause},
9274             $tracelevel)
9275             if defined $::RD_TRACE;
9276            
9277              
9278 0 0         $_tok = ($_noactions) ? 0 : do { $item{ qualified_name } };
  0            
9279 0 0         unless (defined $_tok)
9280             {
9281 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9282             if defined $::RD_TRACE;
9283 0           last;
9284             }
9285 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9286             . $_tok . q{])},
9287             Parse::RecDescent::_tracefirst($text))
9288             if defined $::RD_TRACE;
9289 0           push @item, $_tok;
9290 0           $item{__ACTION1__}=$_tok;
9291            
9292              
9293              
9294 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['extends' qualified_name]<<},
9295             Parse::RecDescent::_tracefirst($text),
9296             q{extends_clause},
9297             $tracelevel)
9298             if defined $::RD_TRACE;
9299 0           $_matched = 1;
9300 0           last;
9301             }
9302              
9303              
9304 0 0 0       unless ( $_matched || defined($score) )
9305             {
9306            
9307              
9308 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
9309 0 0         Parse::RecDescent::_trace(q{<>},
9310             Parse::RecDescent::_tracefirst($_[1]),
9311             q{extends_clause},
9312             $tracelevel)
9313             if defined $::RD_TRACE;
9314 0           return undef;
9315             }
9316 0 0 0       if (!defined($return) && defined($score))
9317             {
9318 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9319             q{extends_clause},
9320             $tracelevel)
9321             if defined $::RD_TRACE;
9322 0           $return = $score_return;
9323             }
9324 0           splice @{$thisparser->{errors}}, $err_at;
  0            
9325 0 0         $return = $item[$#item] unless defined $return;
9326 0 0         if (defined $::RD_TRACE)
9327             {
9328 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9329             $return . q{])}, "",
9330             q{extends_clause},
9331             $tracelevel);
9332 0           Parse::RecDescent::_trace(q{(consumed: [} .
9333             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9334             Parse::RecDescent::_tracefirst($text),
9335             , q{extends_clause},
9336             $tracelevel)
9337             }
9338 0           $_[1] = $text;
9339 0           return $return;
9340             }
9341              
9342             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9343             sub Parse::RecDescent::Java::Javap::Grammar::qualified_name
9344             {
9345 0     0     my $thisparser = $_[0];
9346 4     4   21 use vars q{$tracelevel};
  4         9  
  4         1494  
9347 0   0       local $tracelevel = ($tracelevel||0)+1;
9348 0           $ERRORS = 0;
9349 0           my $thisrule = $thisparser->{"rules"}{"qualified_name"};
9350            
9351 0 0         Parse::RecDescent::_trace(q{Trying rule: [qualified_name]},
9352             Parse::RecDescent::_tracefirst($_[1]),
9353             q{qualified_name},
9354             $tracelevel)
9355             if defined $::RD_TRACE;
9356              
9357            
9358 0           my $err_at = @{$thisparser->{errors}};
  0            
9359              
9360 0           my $score;
9361             my $score_return;
9362 0           my $_tok;
9363 0           my $return = undef;
9364 0           my $_matched=0;
9365 0           my $commit=0;
9366 0           my @item = ();
9367 0           my %item = ();
9368 0   0       my $repeating = defined($_[2]) && $_[2];
9369 0   0       my $_noactions = defined($_[3]) && $_[3];
9370 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
9371 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9372 0           my $text;
9373 0           my $lastsep="";
9374 0           my $current_match;
9375 0           my $expectation = new Parse::RecDescent::Expectation(q{NAME});
9376 0           $expectation->at($_[1]);
9377            
9378 0           my $thisline;
9379 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9380              
9381            
9382              
9383 0   0       while (!$_matched && !$commit)
9384             {
9385            
9386 0 0         Parse::RecDescent::_trace(q{Trying production: [NAME '.' qualified_name]},
9387             Parse::RecDescent::_tracefirst($_[1]),
9388             q{qualified_name},
9389             $tracelevel)
9390             if defined $::RD_TRACE;
9391 0           my $thisprod = $thisrule->{"prods"}[0];
9392 0           $text = $_[1];
9393 0           my $_savetext;
9394 0           @item = (q{qualified_name});
9395 0           %item = (__RULE__ => q{qualified_name});
9396 0           my $repcount = 0;
9397              
9398              
9399 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
9400             Parse::RecDescent::_tracefirst($text),
9401             q{qualified_name},
9402             $tracelevel)
9403             if defined $::RD_TRACE;
9404 4     4   22 if (1) { no strict qw{refs};
  4         10  
  4         1535  
  0            
9405 0           $expectation->is(q{})->at($text);
9406 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
9407             {
9408            
9409 0 0         Parse::RecDescent::_trace(q{<>},
9410             Parse::RecDescent::_tracefirst($text),
9411             q{qualified_name},
9412             $tracelevel)
9413             if defined $::RD_TRACE;
9414 0           $expectation->failed();
9415 0           last;
9416             }
9417 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
9418             . $_tok . q{]},
9419            
9420             Parse::RecDescent::_tracefirst($text),
9421             q{qualified_name},
9422             $tracelevel)
9423             if defined $::RD_TRACE;
9424 0           $item{q{NAME}} = $_tok;
9425 0           push @item, $_tok;
9426            
9427             }
9428              
9429 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['.']},
9430             Parse::RecDescent::_tracefirst($text),
9431             q{qualified_name},
9432             $tracelevel)
9433             if defined $::RD_TRACE;
9434 0           $lastsep = "";
9435 0           $expectation->is(q{'.'})->at($text);
9436            
9437              
9438 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\./)
  0 0          
9439             {
9440            
9441 0           $expectation->failed();
9442 0 0         Parse::RecDescent::_trace(qq{<>},
9443             Parse::RecDescent::_tracefirst($text))
9444             if defined $::RD_TRACE;
9445 0           last;
9446             }
9447 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9448 0           substr($text,0,length($current_match),q{});
9449 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9450             . $current_match . q{])},
9451             Parse::RecDescent::_tracefirst($text))
9452             if defined $::RD_TRACE;
9453 0           push @item, $item{__STRING1__}=$current_match;
9454            
9455              
9456 0 0         Parse::RecDescent::_trace(q{Trying subrule: [qualified_name]},
9457             Parse::RecDescent::_tracefirst($text),
9458             q{qualified_name},
9459             $tracelevel)
9460             if defined $::RD_TRACE;
9461 4     4   22 if (1) { no strict qw{refs};
  4         7  
  4         2959  
  0            
9462 0           $expectation->is(q{qualified_name})->at($text);
9463 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::qualified_name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
9464             {
9465            
9466 0 0         Parse::RecDescent::_trace(q{<>},
9467             Parse::RecDescent::_tracefirst($text),
9468             q{qualified_name},
9469             $tracelevel)
9470             if defined $::RD_TRACE;
9471 0           $expectation->failed();
9472 0           last;
9473             }
9474 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_name]<< (return value: [}
9475             . $_tok . q{]},
9476            
9477             Parse::RecDescent::_tracefirst($text),
9478             q{qualified_name},
9479             $tracelevel)
9480             if defined $::RD_TRACE;
9481 0           $item{q{qualified_name}} = $_tok;
9482 0           push @item, $_tok;
9483            
9484             }
9485              
9486 0 0         Parse::RecDescent::_trace(q{Trying action},
9487             Parse::RecDescent::_tracefirst($text),
9488             q{qualified_name},
9489             $tracelevel)
9490             if defined $::RD_TRACE;
9491            
9492              
9493 0 0         $_tok = ($_noactions) ? 0 : do { "$item{NAME}.$item{qualified_name}" };
  0            
9494 0 0         unless (defined $_tok)
9495             {
9496 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9497             if defined $::RD_TRACE;
9498 0           last;
9499             }
9500 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9501             . $_tok . q{])},
9502             Parse::RecDescent::_tracefirst($text))
9503             if defined $::RD_TRACE;
9504 0           push @item, $_tok;
9505 0           $item{__ACTION1__}=$_tok;
9506            
9507              
9508              
9509 0 0         Parse::RecDescent::_trace(q{>>Matched production: [NAME '.' qualified_name]<<},
9510             Parse::RecDescent::_tracefirst($text),
9511             q{qualified_name},
9512             $tracelevel)
9513             if defined $::RD_TRACE;
9514 0           $_matched = 1;
9515 0           last;
9516             }
9517              
9518              
9519 0   0       while (!$_matched && !$commit)
9520             {
9521            
9522 0 0         Parse::RecDescent::_trace(q{Trying production: [NAME]},
9523             Parse::RecDescent::_tracefirst($_[1]),
9524             q{qualified_name},
9525             $tracelevel)
9526             if defined $::RD_TRACE;
9527 0           my $thisprod = $thisrule->{"prods"}[1];
9528 0           $text = $_[1];
9529 0           my $_savetext;
9530 0           @item = (q{qualified_name});
9531 0           %item = (__RULE__ => q{qualified_name});
9532 0           my $repcount = 0;
9533              
9534              
9535 0 0         Parse::RecDescent::_trace(q{Trying subrule: [NAME]},
9536             Parse::RecDescent::_tracefirst($text),
9537             q{qualified_name},
9538             $tracelevel)
9539             if defined $::RD_TRACE;
9540 4     4   33 if (1) { no strict qw{refs};
  4         8  
  4         3270  
  0            
9541 0           $expectation->is(q{})->at($text);
9542 0 0   0     unless (defined ($_tok = Parse::RecDescent::Java::Javap::Grammar::NAME($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0            
9543             {
9544            
9545 0 0         Parse::RecDescent::_trace(q{<>},
9546             Parse::RecDescent::_tracefirst($text),
9547             q{qualified_name},
9548             $tracelevel)
9549             if defined $::RD_TRACE;
9550 0           $expectation->failed();
9551 0           last;
9552             }
9553 0 0         Parse::RecDescent::_trace(q{>>Matched subrule: [NAME]<< (return value: [}
9554             . $_tok . q{]},
9555            
9556             Parse::RecDescent::_tracefirst($text),
9557             q{qualified_name},
9558             $tracelevel)
9559             if defined $::RD_TRACE;
9560 0           $item{q{NAME}} = $_tok;
9561 0           push @item, $_tok;
9562            
9563             }
9564              
9565 0 0         Parse::RecDescent::_trace(q{Trying action},
9566             Parse::RecDescent::_tracefirst($text),
9567             q{qualified_name},
9568             $tracelevel)
9569             if defined $::RD_TRACE;
9570            
9571              
9572 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
9573 0 0         unless (defined $_tok)
9574             {
9575 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9576             if defined $::RD_TRACE;
9577 0           last;
9578             }
9579 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9580             . $_tok . q{])},
9581             Parse::RecDescent::_tracefirst($text))
9582             if defined $::RD_TRACE;
9583 0           push @item, $_tok;
9584 0           $item{__ACTION1__}=$_tok;
9585            
9586              
9587              
9588 0 0         Parse::RecDescent::_trace(q{>>Matched production: [NAME]<<},
9589             Parse::RecDescent::_tracefirst($text),
9590             q{qualified_name},
9591             $tracelevel)
9592             if defined $::RD_TRACE;
9593 0           $_matched = 1;
9594 0           last;
9595             }
9596              
9597              
9598 0 0 0       unless ( $_matched || defined($score) )
9599             {
9600            
9601              
9602 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
9603 0 0         Parse::RecDescent::_trace(q{<>},
9604             Parse::RecDescent::_tracefirst($_[1]),
9605             q{qualified_name},
9606             $tracelevel)
9607             if defined $::RD_TRACE;
9608 0           return undef;
9609             }
9610 0 0 0       if (!defined($return) && defined($score))
9611             {
9612 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9613             q{qualified_name},
9614             $tracelevel)
9615             if defined $::RD_TRACE;
9616 0           $return = $score_return;
9617             }
9618 0           splice @{$thisparser->{errors}}, $err_at;
  0            
9619 0 0         $return = $item[$#item] unless defined $return;
9620 0 0         if (defined $::RD_TRACE)
9621             {
9622 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9623             $return . q{])}, "",
9624             q{qualified_name},
9625             $tracelevel);
9626 0           Parse::RecDescent::_trace(q{(consumed: [} .
9627             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9628             Parse::RecDescent::_tracefirst($text),
9629             , q{qualified_name},
9630             $tracelevel)
9631             }
9632 0           $_[1] = $text;
9633 0           return $return;
9634             }
9635              
9636             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9637             sub Parse::RecDescent::Java::Javap::Grammar::CLASS_OR_INTERFACE
9638             {
9639 0     0     my $thisparser = $_[0];
9640 4     4   26 use vars q{$tracelevel};
  4         14  
  4         46756  
9641 0   0       local $tracelevel = ($tracelevel||0)+1;
9642 0           $ERRORS = 0;
9643 0           my $thisrule = $thisparser->{"rules"}{"CLASS_OR_INTERFACE"};
9644            
9645 0 0         Parse::RecDescent::_trace(q{Trying rule: [CLASS_OR_INTERFACE]},
9646             Parse::RecDescent::_tracefirst($_[1]),
9647             q{CLASS_OR_INTERFACE},
9648             $tracelevel)
9649             if defined $::RD_TRACE;
9650              
9651            
9652 0           my $err_at = @{$thisparser->{errors}};
  0            
9653              
9654 0           my $score;
9655             my $score_return;
9656 0           my $_tok;
9657 0           my $return = undef;
9658 0           my $_matched=0;
9659 0           my $commit=0;
9660 0           my @item = ();
9661 0           my %item = ();
9662 0   0       my $repeating = defined($_[2]) && $_[2];
9663 0   0       my $_noactions = defined($_[3]) && $_[3];
9664 0 0         my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0            
  0            
9665 0 0         my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9666 0           my $text;
9667 0           my $lastsep="";
9668 0           my $current_match;
9669 0           my $expectation = new Parse::RecDescent::Expectation(q{'class', or 'interface'});
9670 0           $expectation->at($_[1]);
9671            
9672 0           my $thisline;
9673 0           tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9674              
9675            
9676              
9677 0   0       while (!$_matched && !$commit)
9678             {
9679            
9680 0 0         Parse::RecDescent::_trace(q{Trying production: ['class']},
9681             Parse::RecDescent::_tracefirst($_[1]),
9682             q{CLASS_OR_INTERFACE},
9683             $tracelevel)
9684             if defined $::RD_TRACE;
9685 0           my $thisprod = $thisrule->{"prods"}[0];
9686 0           $text = $_[1];
9687 0           my $_savetext;
9688 0           @item = (q{CLASS_OR_INTERFACE});
9689 0           %item = (__RULE__ => q{CLASS_OR_INTERFACE});
9690 0           my $repcount = 0;
9691              
9692              
9693 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['class']},
9694             Parse::RecDescent::_tracefirst($text),
9695             q{CLASS_OR_INTERFACE},
9696             $tracelevel)
9697             if defined $::RD_TRACE;
9698 0           $lastsep = "";
9699 0           $expectation->is(q{})->at($text);
9700            
9701              
9702 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Aclass/)
  0 0          
9703             {
9704            
9705 0           $expectation->failed();
9706 0 0         Parse::RecDescent::_trace(qq{<>},
9707             Parse::RecDescent::_tracefirst($text))
9708             if defined $::RD_TRACE;
9709 0           last;
9710             }
9711 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9712 0           substr($text,0,length($current_match),q{});
9713 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9714             . $current_match . q{])},
9715             Parse::RecDescent::_tracefirst($text))
9716             if defined $::RD_TRACE;
9717 0           push @item, $item{__STRING1__}=$current_match;
9718            
9719              
9720 0 0         Parse::RecDescent::_trace(q{Trying action},
9721             Parse::RecDescent::_tracefirst($text),
9722             q{CLASS_OR_INTERFACE},
9723             $tracelevel)
9724             if defined $::RD_TRACE;
9725            
9726              
9727 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
9728 0 0         unless (defined $_tok)
9729             {
9730 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9731             if defined $::RD_TRACE;
9732 0           last;
9733             }
9734 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9735             . $_tok . q{])},
9736             Parse::RecDescent::_tracefirst($text))
9737             if defined $::RD_TRACE;
9738 0           push @item, $_tok;
9739 0           $item{__ACTION1__}=$_tok;
9740            
9741              
9742              
9743 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['class']<<},
9744             Parse::RecDescent::_tracefirst($text),
9745             q{CLASS_OR_INTERFACE},
9746             $tracelevel)
9747             if defined $::RD_TRACE;
9748 0           $_matched = 1;
9749 0           last;
9750             }
9751              
9752              
9753 0   0       while (!$_matched && !$commit)
9754             {
9755            
9756 0 0         Parse::RecDescent::_trace(q{Trying production: ['interface']},
9757             Parse::RecDescent::_tracefirst($_[1]),
9758             q{CLASS_OR_INTERFACE},
9759             $tracelevel)
9760             if defined $::RD_TRACE;
9761 0           my $thisprod = $thisrule->{"prods"}[1];
9762 0           $text = $_[1];
9763 0           my $_savetext;
9764 0           @item = (q{CLASS_OR_INTERFACE});
9765 0           %item = (__RULE__ => q{CLASS_OR_INTERFACE});
9766 0           my $repcount = 0;
9767              
9768              
9769 0 0         Parse::RecDescent::_trace(q{Trying terminal: ['interface']},
9770             Parse::RecDescent::_tracefirst($text),
9771             q{CLASS_OR_INTERFACE},
9772             $tracelevel)
9773             if defined $::RD_TRACE;
9774 0           $lastsep = "";
9775 0           $expectation->is(q{})->at($text);
9776            
9777              
9778 0 0 0       unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\Ainterface/)
  0 0          
9779             {
9780            
9781 0           $expectation->failed();
9782 0 0         Parse::RecDescent::_trace(qq{<>},
9783             Parse::RecDescent::_tracefirst($text))
9784             if defined $::RD_TRACE;
9785 0           last;
9786             }
9787 0           $current_match = substr($text, $-[0], $+[0] - $-[0]);
9788 0           substr($text,0,length($current_match),q{});
9789 0 0         Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9790             . $current_match . q{])},
9791             Parse::RecDescent::_tracefirst($text))
9792             if defined $::RD_TRACE;
9793 0           push @item, $item{__STRING1__}=$current_match;
9794            
9795              
9796 0 0         Parse::RecDescent::_trace(q{Trying action},
9797             Parse::RecDescent::_tracefirst($text),
9798             q{CLASS_OR_INTERFACE},
9799             $tracelevel)
9800             if defined $::RD_TRACE;
9801            
9802              
9803 0 0         $_tok = ($_noactions) ? 0 : do { $item[1] };
  0            
9804 0 0         unless (defined $_tok)
9805             {
9806 0 0         Parse::RecDescent::_trace(q{<> (return value: [undef])})
9807             if defined $::RD_TRACE;
9808 0           last;
9809             }
9810 0 0         Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9811             . $_tok . q{])},
9812             Parse::RecDescent::_tracefirst($text))
9813             if defined $::RD_TRACE;
9814 0           push @item, $_tok;
9815 0           $item{__ACTION1__}=$_tok;
9816            
9817              
9818              
9819 0 0         Parse::RecDescent::_trace(q{>>Matched production: ['interface']<<},
9820             Parse::RecDescent::_tracefirst($text),
9821             q{CLASS_OR_INTERFACE},
9822             $tracelevel)
9823             if defined $::RD_TRACE;
9824 0           $_matched = 1;
9825 0           last;
9826             }
9827              
9828              
9829 0 0 0       unless ( $_matched || defined($score) )
9830             {
9831            
9832              
9833 0           $_[1] = $text; # NOT SURE THIS IS NEEDED
9834 0 0         Parse::RecDescent::_trace(q{<>},
9835             Parse::RecDescent::_tracefirst($_[1]),
9836             q{CLASS_OR_INTERFACE},
9837             $tracelevel)
9838             if defined $::RD_TRACE;
9839 0           return undef;
9840             }
9841 0 0 0       if (!defined($return) && defined($score))
9842             {
9843 0 0         Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9844             q{CLASS_OR_INTERFACE},
9845             $tracelevel)
9846             if defined $::RD_TRACE;
9847 0           $return = $score_return;
9848             }
9849 0           splice @{$thisparser->{errors}}, $err_at;
  0            
9850 0 0         $return = $item[$#item] unless defined $return;
9851 0 0         if (defined $::RD_TRACE)
9852             {
9853 0           Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9854             $return . q{])}, "",
9855             q{CLASS_OR_INTERFACE},
9856             $tracelevel);
9857 0           Parse::RecDescent::_trace(q{(consumed: [} .
9858             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9859             Parse::RecDescent::_tracefirst($text),
9860             , q{CLASS_OR_INTERFACE},
9861             $tracelevel)
9862             }
9863 0           $_[1] = $text;
9864 0           return $return;
9865             }
9866             }
9867 0     0 0   package Java::Javap::Grammar; sub new { my $self = bless( {
9868             '_precompiled' => 1,
9869             'localvars' => '',
9870             'startcode' => '',
9871             'namespace' => 'Parse::RecDescent::Java::Javap::Grammar',
9872             'rules' => {
9873             'arg' => bless( {
9874             'impcount' => 0,
9875             'calls' => [
9876             'qualified_name',
9877             'array_depth'
9878             ],
9879             'changed' => 0,
9880             'opcount' => 0,
9881             'prods' => [
9882             bless( {
9883             'number' => 0,
9884             'strcount' => 0,
9885             'dircount' => 0,
9886             'uncommit' => undef,
9887             'error' => undef,
9888             'patcount' => 0,
9889             'actcount' => 1,
9890             'items' => [
9891             bless( {
9892             'subrule' => 'qualified_name',
9893             'matchrule' => 0,
9894             'implicit' => undef,
9895             'argcode' => undef,
9896             'lookahead' => 0,
9897             'line' => 205
9898             }, 'Parse::RecDescent::Subrule' ),
9899             bless( {
9900             'subrule' => 'array_depth',
9901             'matchrule' => 0,
9902             'implicit' => undef,
9903             'argcode' => undef,
9904             'lookahead' => 0,
9905             'line' => 205
9906             }, 'Parse::RecDescent::Subrule' ),
9907             bless( {
9908             'hashname' => '__ACTION1__',
9909             'lookahead' => 0,
9910             'line' => 205,
9911             'code' => '{
9912             my $array_text = \'\';
9913             foreach my $i ( 1 .. $item[2] ) {
9914             $array_text .= \'Array of \';
9915             }
9916             [
9917             {
9918             name => $item[1],
9919             array_depth => $item[2],
9920             array_text => $array_text,
9921             }
9922             ]
9923             }'
9924             }, 'Parse::RecDescent::Action' )
9925             ],
9926             'line' => undef
9927             }, 'Parse::RecDescent::Production' )
9928             ],
9929             'name' => 'arg',
9930             'vars' => '',
9931             'line' => 205
9932             }, 'Parse::RecDescent::Rule' ),
9933             'verbose_method_code' => bless( {
9934             'impcount' => 0,
9935             'calls' => [
9936             'byte_code_line'
9937             ],
9938             'changed' => 0,
9939             'opcount' => 0,
9940             'prods' => [
9941             bless( {
9942             'number' => 0,
9943             'strcount' => 1,
9944             'dircount' => 0,
9945             'uncommit' => undef,
9946             'error' => undef,
9947             'patcount' => 1,
9948             'actcount' => 0,
9949             'items' => [
9950             bless( {
9951             'pattern' => 'Code:',
9952             'hashname' => '__STRING1__',
9953             'description' => '\'Code:\'',
9954             'lookahead' => 0,
9955             'line' => 147
9956             }, 'Parse::RecDescent::Literal' ),
9957             bless( {
9958             'pattern' => 'Stack.*=\\d+',
9959             'hashname' => '__PATTERN1__',
9960             'description' => '/Stack.*=\\\\d+/',
9961             'lookahead' => 0,
9962             'rdelim' => '/',
9963             'line' => 147,
9964             'mod' => '',
9965             'ldelim' => '/'
9966             }, 'Parse::RecDescent::Token' ),
9967             bless( {
9968             'subrule' => 'byte_code_line',
9969             'expected' => undef,
9970             'min' => 0,
9971             'argcode' => undef,
9972             'max' => 100000000,
9973             'matchrule' => 0,
9974             'repspec' => 's?',
9975             'lookahead' => 0,
9976             'line' => 147
9977             }, 'Parse::RecDescent::Repetition' )
9978             ],
9979             'line' => undef
9980             }, 'Parse::RecDescent::Production' )
9981             ],
9982             'name' => 'verbose_method_code',
9983             'vars' => '',
9984             'line' => 147
9985             }, 'Parse::RecDescent::Rule' ),
9986             'var_modifier' => bless( {
9987             'impcount' => 0,
9988             'calls' => [],
9989             'changed' => 0,
9990             'opcount' => 0,
9991             'prods' => [
9992             bless( {
9993             'number' => 0,
9994             'strcount' => 1,
9995             'dircount' => 0,
9996             'uncommit' => undef,
9997             'error' => undef,
9998             'patcount' => 0,
9999             'actcount' => 0,
10000             'items' => [
10001             bless( {
10002             'pattern' => 'volatile',
10003             'hashname' => '__STRING1__',
10004             'description' => '\'volatile\'',
10005             'lookahead' => 0,
10006             'line' => 182
10007             }, 'Parse::RecDescent::Literal' )
10008             ],
10009             'line' => undef
10010             }, 'Parse::RecDescent::Production' ),
10011             bless( {
10012             'number' => 1,
10013             'strcount' => 1,
10014             'dircount' => 0,
10015             'uncommit' => undef,
10016             'error' => undef,
10017             'patcount' => 0,
10018             'actcount' => 0,
10019             'items' => [
10020             bless( {
10021             'pattern' => 'final',
10022             'hashname' => '__STRING1__',
10023             'description' => '\'final\'',
10024             'lookahead' => 0,
10025             'line' => 182
10026             }, 'Parse::RecDescent::Literal' )
10027             ],
10028             'line' => 182
10029             }, 'Parse::RecDescent::Production' ),
10030             bless( {
10031             'number' => 2,
10032             'strcount' => 1,
10033             'dircount' => 0,
10034             'uncommit' => undef,
10035             'error' => undef,
10036             'patcount' => 0,
10037             'actcount' => 0,
10038             'items' => [
10039             bless( {
10040             'pattern' => 'transient',
10041             'hashname' => '__STRING1__',
10042             'description' => '\'transient\'',
10043             'lookahead' => 0,
10044             'line' => 182
10045             }, 'Parse::RecDescent::Literal' )
10046             ],
10047             'line' => 182
10048             }, 'Parse::RecDescent::Production' )
10049             ],
10050             'name' => 'var_modifier',
10051             'vars' => '',
10052             'line' => 182
10053             }, 'Parse::RecDescent::Rule' ),
10054             'comp_unit_decl' => bless( {
10055             'impcount' => 0,
10056             'calls' => [
10057             'ACCESS',
10058             'class_qualifier',
10059             'CLASS_OR_INTERFACE',
10060             'qualified_name',
10061             'extends_clause',
10062             'implements_clause',
10063             'verbose_class_details'
10064             ],
10065             'changed' => 0,
10066             'opcount' => 0,
10067             'prods' => [
10068             bless( {
10069             'number' => 0,
10070             'strcount' => 0,
10071             'dircount' => 0,
10072             'uncommit' => undef,
10073             'error' => undef,
10074             'patcount' => 0,
10075             'actcount' => 1,
10076             'items' => [
10077             bless( {
10078             'subrule' => 'ACCESS',
10079             'matchrule' => 0,
10080             'implicit' => undef,
10081             'argcode' => undef,
10082             'lookahead' => 0,
10083             'line' => 31
10084             }, 'Parse::RecDescent::Subrule' ),
10085             bless( {
10086             'subrule' => 'class_qualifier',
10087             'expected' => undef,
10088             'min' => 0,
10089             'argcode' => undef,
10090             'max' => 100000000,
10091             'matchrule' => 0,
10092             'repspec' => 's?',
10093             'lookahead' => 0,
10094             'line' => 31
10095             }, 'Parse::RecDescent::Repetition' ),
10096             bless( {
10097             'subrule' => 'CLASS_OR_INTERFACE',
10098             'matchrule' => 0,
10099             'implicit' => undef,
10100             'argcode' => undef,
10101             'lookahead' => 0,
10102             'line' => 32
10103             }, 'Parse::RecDescent::Subrule' ),
10104             bless( {
10105             'subrule' => 'qualified_name',
10106             'matchrule' => 0,
10107             'implicit' => undef,
10108             'argcode' => undef,
10109             'lookahead' => 0,
10110             'line' => 32
10111             }, 'Parse::RecDescent::Subrule' ),
10112             bless( {
10113             'subrule' => 'extends_clause',
10114             'expected' => undef,
10115             'min' => 0,
10116             'argcode' => undef,
10117             'max' => 1,
10118             'matchrule' => 0,
10119             'repspec' => '?',
10120             'lookahead' => 0,
10121             'line' => 33
10122             }, 'Parse::RecDescent::Repetition' ),
10123             bless( {
10124             'subrule' => 'implements_clause',
10125             'expected' => undef,
10126             'min' => 0,
10127             'argcode' => undef,
10128             'max' => 1,
10129             'matchrule' => 0,
10130             'repspec' => '?',
10131             'lookahead' => 0,
10132             'line' => 34
10133             }, 'Parse::RecDescent::Repetition' ),
10134             bless( {
10135             'subrule' => 'verbose_class_details',
10136             'expected' => undef,
10137             'min' => 0,
10138             'argcode' => undef,
10139             'max' => 1,
10140             'matchrule' => 0,
10141             'repspec' => '?',
10142             'lookahead' => 0,
10143             'line' => 35
10144             }, 'Parse::RecDescent::Repetition' ),
10145             bless( {
10146             'hashname' => '__ACTION1__',
10147             'lookahead' => 0,
10148             'line' => 36,
10149             'code' => '{
10150             my $perl_qualified_name = $item{ qualified_name };
10151             $perl_qualified_name =~ s/\\./::/g;
10152             {
10153             access => $item{ ACCESS },
10154             qualifiers => $item{ \'class_qualifier(s?)\' },
10155             class_or_interface => $item{ CLASS_OR_INTERFACE },
10156             implements => $item{ \'implements_clause(?)\' }[0],
10157             parent => $item{ \'extends_clause(?)\' }[0],
10158             java_qualified_name => $item{ qualified_name },
10159             perl_qualified_name => $perl_qualified_name,
10160             }
10161             }'
10162             }, 'Parse::RecDescent::Action' )
10163             ],
10164             'line' => undef
10165             }, 'Parse::RecDescent::Production' )
10166             ],
10167             'name' => 'comp_unit_decl',
10168             'vars' => '',
10169             'line' => 31
10170             }, 'Parse::RecDescent::Rule' ),
10171             'ACCESS' => bless( {
10172             'impcount' => 0,
10173             'calls' => [],
10174             'changed' => 0,
10175             'opcount' => 0,
10176             'prods' => [
10177             bless( {
10178             'number' => 0,
10179             'strcount' => 1,
10180             'dircount' => 0,
10181             'uncommit' => undef,
10182             'error' => undef,
10183             'patcount' => 0,
10184             'actcount' => 1,
10185             'items' => [
10186             bless( {
10187             'pattern' => 'public',
10188             'hashname' => '__STRING1__',
10189             'description' => '\'public\'',
10190             'lookahead' => 0,
10191             'line' => 228
10192             }, 'Parse::RecDescent::Literal' ),
10193             bless( {
10194             'hashname' => '__ACTION1__',
10195             'lookahead' => 0,
10196             'line' => 228,
10197             'code' => '{ $item[1] }'
10198             }, 'Parse::RecDescent::Action' )
10199             ],
10200             'line' => undef
10201             }, 'Parse::RecDescent::Production' ),
10202             bless( {
10203             'number' => 1,
10204             'strcount' => 1,
10205             'dircount' => 0,
10206             'uncommit' => undef,
10207             'error' => undef,
10208             'patcount' => 0,
10209             'actcount' => 1,
10210             'items' => [
10211             bless( {
10212             'pattern' => 'protected',
10213             'hashname' => '__STRING1__',
10214             'description' => '\'protected\'',
10215             'lookahead' => 0,
10216             'line' => 229
10217             }, 'Parse::RecDescent::Literal' ),
10218             bless( {
10219             'hashname' => '__ACTION1__',
10220             'lookahead' => 0,
10221             'line' => 229,
10222             'code' => '{ $item[1] }'
10223             }, 'Parse::RecDescent::Action' )
10224             ],
10225             'line' => 229
10226             }, 'Parse::RecDescent::Production' ),
10227             bless( {
10228             'number' => 2,
10229             'strcount' => 1,
10230             'dircount' => 0,
10231             'uncommit' => undef,
10232             'error' => undef,
10233             'patcount' => 0,
10234             'actcount' => 1,
10235             'items' => [
10236             bless( {
10237             'pattern' => 'private',
10238             'hashname' => '__STRING1__',
10239             'description' => '\'private\'',
10240             'lookahead' => 0,
10241             'line' => 230
10242             }, 'Parse::RecDescent::Literal' ),
10243             bless( {
10244             'hashname' => '__ACTION1__',
10245             'lookahead' => 0,
10246             'line' => 230,
10247             'code' => '{ $item[1] }'
10248             }, 'Parse::RecDescent::Action' )
10249             ],
10250             'line' => 230
10251             }, 'Parse::RecDescent::Production' ),
10252             bless( {
10253             'number' => 3,
10254             'strcount' => 0,
10255             'dircount' => 0,
10256             'uncommit' => undef,
10257             'error' => undef,
10258             'patcount' => 0,
10259             'actcount' => 1,
10260             'items' => [
10261             bless( {
10262             'hashname' => '__ACTION1__',
10263             'lookahead' => 0,
10264             'line' => 231,
10265             'code' => '{ \'\' }'
10266             }, 'Parse::RecDescent::Action' )
10267             ],
10268             'line' => 231
10269             }, 'Parse::RecDescent::Production' )
10270             ],
10271             'name' => 'ACCESS',
10272             'vars' => '',
10273             'line' => 228
10274             }, 'Parse::RecDescent::Rule' ),
10275             'ARRAY_LEVEL' => bless( {
10276             'impcount' => 0,
10277             'calls' => [],
10278             'changed' => 0,
10279             'opcount' => 0,
10280             'prods' => [
10281             bless( {
10282             'number' => 0,
10283             'strcount' => 1,
10284             'dircount' => 0,
10285             'uncommit' => undef,
10286             'error' => undef,
10287             'patcount' => 0,
10288             'actcount' => 1,
10289             'items' => [
10290             bless( {
10291             'pattern' => '[]',
10292             'hashname' => '__STRING1__',
10293             'description' => '\'[]\'',
10294             'lookahead' => 0,
10295             'line' => 224
10296             }, 'Parse::RecDescent::Literal' ),
10297             bless( {
10298             'hashname' => '__ACTION1__',
10299             'lookahead' => 0,
10300             'line' => 224,
10301             'code' => '{ 1 }'
10302             }, 'Parse::RecDescent::Action' )
10303             ],
10304             'line' => undef
10305             }, 'Parse::RecDescent::Production' )
10306             ],
10307             'name' => 'ARRAY_LEVEL',
10308             'vars' => '',
10309             'line' => 224
10310             }, 'Parse::RecDescent::Rule' ),
10311             'number_table_line' => bless( {
10312             'impcount' => 0,
10313             'calls' => [],
10314             'changed' => 0,
10315             'opcount' => 0,
10316             'prods' => [
10317             bless( {
10318             'number' => 0,
10319             'strcount' => 0,
10320             'dircount' => 0,
10321             'uncommit' => undef,
10322             'error' => undef,
10323             'patcount' => 1,
10324             'actcount' => 0,
10325             'items' => [
10326             bless( {
10327             'pattern' => 'line \\d+:[^\\n]*',
10328             'hashname' => '__PATTERN1__',
10329             'description' => '/line \\\\d+:[^\\\\n]*/',
10330             'lookahead' => 0,
10331             'rdelim' => '/',
10332             'line' => 153,
10333             'mod' => '',
10334             'ldelim' => '/'
10335             }, 'Parse::RecDescent::Token' )
10336             ],
10337             'line' => undef
10338             }, 'Parse::RecDescent::Production' )
10339             ],
10340             'name' => 'number_table_line',
10341             'vars' => '',
10342             'line' => 153
10343             }, 'Parse::RecDescent::Rule' ),
10344             'signature_line' => bless( {
10345             'impcount' => 0,
10346             'calls' => [],
10347             'changed' => 0,
10348             'opcount' => 0,
10349             'prods' => [
10350             bless( {
10351             'number' => 0,
10352             'strcount' => 0,
10353             'dircount' => 0,
10354             'uncommit' => undef,
10355             'error' => undef,
10356             'patcount' => 1,
10357             'actcount' => 0,
10358             'items' => [
10359             bless( {
10360             'pattern' => '\\d\\d\\s+[A-F0-9 ]+',
10361             'hashname' => '__PATTERN1__',
10362             'description' => '/\\\\d\\\\d\\\\s+[A-F0-9 ]+/',
10363             'lookahead' => 0,
10364             'rdelim' => '/',
10365             'line' => 159,
10366             'mod' => '',
10367             'ldelim' => '/'
10368             }, 'Parse::RecDescent::Token' )
10369             ],
10370             'line' => undef
10371             }, 'Parse::RecDescent::Production' )
10372             ],
10373             'name' => 'signature_line',
10374             'vars' => '',
10375             'line' => 159
10376             }, 'Parse::RecDescent::Rule' ),
10377             'throws_clause' => bless( {
10378             'impcount' => 0,
10379             'calls' => [
10380             'comma_list'
10381             ],
10382             'changed' => 0,
10383             'opcount' => 0,
10384             'prods' => [
10385             bless( {
10386             'number' => 0,
10387             'strcount' => 1,
10388             'dircount' => 0,
10389             'uncommit' => undef,
10390             'error' => undef,
10391             'patcount' => 0,
10392             'actcount' => 1,
10393             'items' => [
10394             bless( {
10395             'pattern' => 'throws',
10396             'hashname' => '__STRING1__',
10397             'description' => '\'throws\'',
10398             'lookahead' => 0,
10399             'line' => 171
10400             }, 'Parse::RecDescent::Literal' ),
10401             bless( {
10402             'subrule' => 'comma_list',
10403             'matchrule' => 0,
10404             'implicit' => undef,
10405             'argcode' => undef,
10406             'lookahead' => 0,
10407             'line' => 171
10408             }, 'Parse::RecDescent::Subrule' ),
10409             bless( {
10410             'hashname' => '__ACTION1__',
10411             'lookahead' => 0,
10412             'line' => 171,
10413             'code' => '{ $item{comma_list} }'
10414             }, 'Parse::RecDescent::Action' )
10415             ],
10416             'line' => undef
10417             }, 'Parse::RecDescent::Production' )
10418             ],
10419             'name' => 'throws_clause',
10420             'vars' => '',
10421             'line' => 171
10422             }, 'Parse::RecDescent::Rule' ),
10423             'verbose_annotations' => bless( {
10424             'impcount' => 0,
10425             'calls' => [
10426             'annotations_line'
10427             ],
10428             'changed' => 0,
10429             'opcount' => 0,
10430             'prods' => [
10431             bless( {
10432             'number' => 0,
10433             'strcount' => 0,
10434             'dircount' => 0,
10435             'uncommit' => undef,
10436             'error' => undef,
10437             'patcount' => 1,
10438             'actcount' => 0,
10439             'items' => [
10440             bless( {
10441             'pattern' => 'RuntimeVisibleAnnotations: .*',
10442             'hashname' => '__PATTERN1__',
10443             'description' => '/RuntimeVisibleAnnotations: .*/',
10444             'lookahead' => 0,
10445             'rdelim' => '/',
10446             'line' => 161,
10447             'mod' => '',
10448             'ldelim' => '/'
10449             }, 'Parse::RecDescent::Token' ),
10450             bless( {
10451             'subrule' => 'annotations_line',
10452             'expected' => undef,
10453             'min' => 1,
10454             'argcode' => undef,
10455             'max' => 100000000,
10456             'matchrule' => 0,
10457             'repspec' => 's',
10458             'lookahead' => 0,
10459             'line' => 161
10460             }, 'Parse::RecDescent::Repetition' )
10461             ],
10462             'line' => undef
10463             }, 'Parse::RecDescent::Production' )
10464             ],
10465             'name' => 'verbose_annotations',
10466             'vars' => '',
10467             'line' => 161
10468             }, 'Parse::RecDescent::Rule' ),
10469             'class_qualifier' => bless( {
10470             'impcount' => 0,
10471             'calls' => [],
10472             'changed' => 0,
10473             'opcount' => 0,
10474             'prods' => [
10475             bless( {
10476             'number' => 0,
10477             'strcount' => 1,
10478             'dircount' => 0,
10479             'uncommit' => undef,
10480             'error' => undef,
10481             'patcount' => 0,
10482             'actcount' => 1,
10483             'items' => [
10484             bless( {
10485             'pattern' => 'final',
10486             'hashname' => '__STRING1__',
10487             'description' => '\'final\'',
10488             'lookahead' => 0,
10489             'line' => 52
10490             }, 'Parse::RecDescent::Literal' ),
10491             bless( {
10492             'hashname' => '__ACTION1__',
10493             'lookahead' => 0,
10494             'line' => 52,
10495             'code' => '{ \'final\' }'
10496             }, 'Parse::RecDescent::Action' )
10497             ],
10498             'line' => undef
10499             }, 'Parse::RecDescent::Production' ),
10500             bless( {
10501             'number' => 1,
10502             'strcount' => 1,
10503             'dircount' => 0,
10504             'uncommit' => undef,
10505             'error' => undef,
10506             'patcount' => 0,
10507             'actcount' => 1,
10508             'items' => [
10509             bless( {
10510             'pattern' => 'abstract',
10511             'hashname' => '__STRING1__',
10512             'description' => '\'abstract\'',
10513             'lookahead' => 0,
10514             'line' => 53
10515             }, 'Parse::RecDescent::Literal' ),
10516             bless( {
10517             'hashname' => '__ACTION1__',
10518             'lookahead' => 0,
10519             'line' => 53,
10520             'code' => '{ \'status\' }'
10521             }, 'Parse::RecDescent::Action' )
10522             ],
10523             'line' => 53
10524             }, 'Parse::RecDescent::Production' )
10525             ],
10526             'name' => 'class_qualifier',
10527             'vars' => '',
10528             'line' => 52
10529             }, 'Parse::RecDescent::Rule' ),
10530             'comp_stmt' => bless( {
10531             'impcount' => 0,
10532             'calls' => [
10533             'NAME'
10534             ],
10535             'changed' => 0,
10536             'opcount' => 0,
10537             'prods' => [
10538             bless( {
10539             'number' => 0,
10540             'strcount' => 2,
10541             'dircount' => 0,
10542             'uncommit' => undef,
10543             'error' => undef,
10544             'patcount' => 0,
10545             'actcount' => 1,
10546             'items' => [
10547             bless( {
10548             'pattern' => 'Compiled from "',
10549             'hashname' => '__STRING1__',
10550             'description' => '\'Compiled from "\'',
10551             'lookahead' => 0,
10552             'line' => 29
10553             }, 'Parse::RecDescent::Literal' ),
10554             bless( {
10555             'subrule' => 'NAME',
10556             'matchrule' => 0,
10557             'implicit' => undef,
10558             'argcode' => undef,
10559             'lookahead' => 0,
10560             'line' => 29
10561             }, 'Parse::RecDescent::Subrule' ),
10562             bless( {
10563             'pattern' => '.java"',
10564             'hashname' => '__STRING2__',
10565             'description' => '\'.java"\'',
10566             'lookahead' => 0,
10567             'line' => 29
10568             }, 'Parse::RecDescent::Literal' ),
10569             bless( {
10570             'hashname' => '__ACTION1__',
10571             'lookahead' => 0,
10572             'line' => 29,
10573             'code' => '{ $item{NAME} }'
10574             }, 'Parse::RecDescent::Action' )
10575             ],
10576             'line' => undef
10577             }, 'Parse::RecDescent::Production' )
10578             ],
10579             'name' => 'comp_stmt',
10580             'vars' => '',
10581             'line' => 29
10582             }, 'Parse::RecDescent::Rule' ),
10583             'verbose_method_deprecated' => bless( {
10584             'impcount' => 0,
10585             'calls' => [],
10586             'changed' => 0,
10587             'opcount' => 0,
10588             'prods' => [
10589             bless( {
10590             'number' => 0,
10591             'strcount' => 2,
10592             'dircount' => 0,
10593             'uncommit' => undef,
10594             'error' => undef,
10595             'patcount' => 0,
10596             'actcount' => 0,
10597             'items' => [
10598             bless( {
10599             'pattern' => 'Deprecated:',
10600             'hashname' => '__STRING1__',
10601             'description' => '\'Deprecated:\'',
10602             'lookahead' => 0,
10603             'line' => 155
10604             }, 'Parse::RecDescent::Literal' ),
10605             bless( {
10606             'pattern' => 'true',
10607             'hashname' => '__STRING2__',
10608             'description' => '\'true\'',
10609             'lookahead' => 0,
10610             'line' => 155
10611             }, 'Parse::RecDescent::Literal' )
10612             ],
10613             'line' => undef
10614             }, 'Parse::RecDescent::Production' )
10615             ],
10616             'name' => 'verbose_method_deprecated',
10617             'vars' => '',
10618             'line' => 155
10619             }, 'Parse::RecDescent::Rule' ),
10620             'annotations_line' => bless( {
10621             'impcount' => 0,
10622             'calls' => [],
10623             'changed' => 0,
10624             'opcount' => 0,
10625             'prods' => [
10626             bless( {
10627             'number' => 0,
10628             'strcount' => 0,
10629             'dircount' => 0,
10630             'uncommit' => undef,
10631             'error' => undef,
10632             'patcount' => 1,
10633             'actcount' => 0,
10634             'items' => [
10635             bless( {
10636             'pattern' => '[A-F0-9][A-F0-9]',
10637             'hashname' => '__PATTERN1__',
10638             'description' => '/[A-F0-9][A-F0-9]/',
10639             'lookahead' => 0,
10640             'rdelim' => '/',
10641             'line' => 162,
10642             'mod' => '',
10643             'ldelim' => '/'
10644             }, 'Parse::RecDescent::Token' )
10645             ],
10646             'line' => undef
10647             }, 'Parse::RecDescent::Production' )
10648             ],
10649             'name' => 'annotations_line',
10650             'vars' => '',
10651             'line' => 162
10652             }, 'Parse::RecDescent::Rule' ),
10653             'verbose_signature' => bless( {
10654             'impcount' => 0,
10655             'calls' => [
10656             'signature_line'
10657             ],
10658             'changed' => 0,
10659             'opcount' => 0,
10660             'prods' => [
10661             bless( {
10662             'number' => 0,
10663             'strcount' => 0,
10664             'dircount' => 0,
10665             'uncommit' => undef,
10666             'error' => undef,
10667             'patcount' => 1,
10668             'actcount' => 0,
10669             'items' => [
10670             bless( {
10671             'pattern' => 'Signature: .*',
10672             'hashname' => '__PATTERN1__',
10673             'description' => '/Signature: .*/',
10674             'lookahead' => 0,
10675             'rdelim' => '/',
10676             'line' => 158,
10677             'mod' => '',
10678             'ldelim' => '/'
10679             }, 'Parse::RecDescent::Token' ),
10680             bless( {
10681             'subrule' => 'signature_line',
10682             'expected' => undef,
10683             'min' => 1,
10684             'argcode' => undef,
10685             'max' => 100000000,
10686             'matchrule' => 0,
10687             'repspec' => 's',
10688             'lookahead' => 0,
10689             'line' => 158
10690             }, 'Parse::RecDescent::Repetition' )
10691             ],
10692             'line' => undef
10693             }, 'Parse::RecDescent::Production' )
10694             ],
10695             'name' => 'verbose_signature',
10696             'vars' => '',
10697             'line' => 158
10698             }, 'Parse::RecDescent::Rule' ),
10699             'variable' => bless( {
10700             'impcount' => 0,
10701             'calls' => [
10702             'ACCESS',
10703             'var_modifier',
10704             'arg',
10705             'NAME'
10706             ],
10707             'changed' => 0,
10708             'opcount' => 0,
10709             'prods' => [
10710             bless( {
10711             'number' => 0,
10712             'strcount' => 1,
10713             'dircount' => 0,
10714             'uncommit' => undef,
10715             'error' => undef,
10716             'patcount' => 0,
10717             'actcount' => 1,
10718             'items' => [
10719             bless( {
10720             'subrule' => 'ACCESS',
10721             'matchrule' => 0,
10722             'implicit' => undef,
10723             'argcode' => undef,
10724             'lookahead' => 0,
10725             'line' => 173
10726             }, 'Parse::RecDescent::Subrule' ),
10727             bless( {
10728             'subrule' => 'var_modifier',
10729             'expected' => undef,
10730             'min' => 0,
10731             'argcode' => undef,
10732             'max' => 100000000,
10733             'matchrule' => 0,
10734             'repspec' => 's?',
10735             'lookahead' => 0,
10736             'line' => 173
10737             }, 'Parse::RecDescent::Repetition' ),
10738             bless( {
10739             'subrule' => 'arg',
10740             'matchrule' => 0,
10741             'implicit' => undef,
10742             'argcode' => undef,
10743             'lookahead' => 0,
10744             'line' => 173
10745             }, 'Parse::RecDescent::Subrule' ),
10746             bless( {
10747             'subrule' => 'NAME',
10748             'matchrule' => 0,
10749             'implicit' => undef,
10750             'argcode' => undef,
10751             'lookahead' => 0,
10752             'line' => 173
10753             }, 'Parse::RecDescent::Subrule' ),
10754             bless( {
10755             'pattern' => ';',
10756             'hashname' => '__STRING1__',
10757             'description' => '\';\'',
10758             'lookahead' => 0,
10759             'line' => 173
10760             }, 'Parse::RecDescent::Literal' ),
10761             bless( {
10762             'hashname' => '__ACTION1__',
10763             'lookahead' => 0,
10764             'line' => 173,
10765             'code' => '{
10766             {
10767             body_element => \'variable\',
10768             access => $item{ ACCESS },
10769             name => $item{ NAME },
10770             type => $item{ arg }[0],
10771             }
10772             }'
10773             }, 'Parse::RecDescent::Action' )
10774             ],
10775             'line' => undef
10776             }, 'Parse::RecDescent::Production' )
10777             ],
10778             'name' => 'variable',
10779             'vars' => '',
10780             'line' => 173
10781             }, 'Parse::RecDescent::Rule' ),
10782             'constant_modifier' => bless( {
10783             'impcount' => 0,
10784             'calls' => [],
10785             'changed' => 0,
10786             'opcount' => 0,
10787             'prods' => [
10788             bless( {
10789             'number' => 0,
10790             'strcount' => 1,
10791             'dircount' => 0,
10792             'uncommit' => undef,
10793             'error' => undef,
10794             'patcount' => 0,
10795             'actcount' => 0,
10796             'items' => [
10797             bless( {
10798             'pattern' => 'final',
10799             'hashname' => '__STRING1__',
10800             'description' => '\'final\'',
10801             'lookahead' => 0,
10802             'line' => 102
10803             }, 'Parse::RecDescent::Literal' )
10804             ],
10805             'line' => undef
10806             }, 'Parse::RecDescent::Production' ),
10807             bless( {
10808             'number' => 1,
10809             'strcount' => 1,
10810             'dircount' => 0,
10811             'uncommit' => undef,
10812             'error' => undef,
10813             'patcount' => 0,
10814             'actcount' => 0,
10815             'items' => [
10816             bless( {
10817             'pattern' => 'transient',
10818             'hashname' => '__STRING1__',
10819             'description' => '\'transient\'',
10820             'lookahead' => 0,
10821             'line' => 102
10822             }, 'Parse::RecDescent::Literal' )
10823             ],
10824             'line' => 102
10825             }, 'Parse::RecDescent::Production' ),
10826             bless( {
10827             'number' => 2,
10828             'strcount' => 1,
10829             'dircount' => 0,
10830             'uncommit' => undef,
10831             'error' => undef,
10832             'patcount' => 0,
10833             'actcount' => 0,
10834             'items' => [
10835             bless( {
10836             'pattern' => 'volatile',
10837             'hashname' => '__STRING1__',
10838             'description' => '\'volatile\'',
10839             'lookahead' => 0,
10840             'line' => 102
10841             }, 'Parse::RecDescent::Literal' )
10842             ],
10843             'line' => 102
10844             }, 'Parse::RecDescent::Production' )
10845             ],
10846             'name' => 'constant_modifier',
10847             'vars' => '',
10848             'line' => 102
10849             }, 'Parse::RecDescent::Rule' ),
10850             'arg_list' => bless( {
10851             'impcount' => 0,
10852             'calls' => [
10853             'arg',
10854             'arg_list'
10855             ],
10856             'changed' => 0,
10857             'opcount' => 0,
10858             'prods' => [
10859             bless( {
10860             'number' => 0,
10861             'strcount' => 1,
10862             'dircount' => 0,
10863             'uncommit' => undef,
10864             'error' => undef,
10865             'patcount' => 0,
10866             'actcount' => 1,
10867             'items' => [
10868             bless( {
10869             'subrule' => 'arg',
10870             'matchrule' => 0,
10871             'implicit' => undef,
10872             'argcode' => undef,
10873             'lookahead' => 0,
10874             'line' => 202
10875             }, 'Parse::RecDescent::Subrule' ),
10876             bless( {
10877             'pattern' => ',',
10878             'hashname' => '__STRING1__',
10879             'description' => '\',\'',
10880             'lookahead' => 0,
10881             'line' => 202
10882             }, 'Parse::RecDescent::Literal' ),
10883             bless( {
10884             'subrule' => 'arg_list',
10885             'matchrule' => 0,
10886             'implicit' => undef,
10887             'argcode' => undef,
10888             'lookahead' => 0,
10889             'line' => 202
10890             }, 'Parse::RecDescent::Subrule' ),
10891             bless( {
10892             'hashname' => '__ACTION1__',
10893             'lookahead' => 0,
10894             'line' => 202,
10895             'code' => '{ [ @{ $item[1] }, @{ $item[3] } ] }'
10896             }, 'Parse::RecDescent::Action' )
10897             ],
10898             'line' => undef
10899             }, 'Parse::RecDescent::Production' ),
10900             bless( {
10901             'number' => 1,
10902             'strcount' => 0,
10903             'dircount' => 0,
10904             'uncommit' => undef,
10905             'error' => undef,
10906             'patcount' => 0,
10907             'actcount' => 1,
10908             'items' => [
10909             bless( {
10910             'subrule' => 'arg',
10911             'matchrule' => 0,
10912             'implicit' => undef,
10913             'argcode' => undef,
10914             'lookahead' => 0,
10915             'line' => 203
10916             }, 'Parse::RecDescent::Subrule' ),
10917             bless( {
10918             'hashname' => '__ACTION1__',
10919             'lookahead' => 0,
10920             'line' => 203,
10921             'code' => '{ $item[1] }'
10922             }, 'Parse::RecDescent::Action' )
10923             ],
10924             'line' => 203
10925             }, 'Parse::RecDescent::Production' )
10926             ],
10927             'name' => 'arg_list',
10928             'vars' => '',
10929             'line' => 202
10930             }, 'Parse::RecDescent::Rule' ),
10931             'body' => bless( {
10932             'impcount' => 0,
10933             'calls' => [
10934             'body_element'
10935             ],
10936             'changed' => 0,
10937             'opcount' => 0,
10938             'prods' => [
10939             bless( {
10940             'number' => 0,
10941             'strcount' => 0,
10942             'dircount' => 0,
10943             'uncommit' => undef,
10944             'error' => undef,
10945             'patcount' => 0,
10946             'actcount' => 1,
10947             'items' => [
10948             bless( {
10949             'subrule' => 'body_element',
10950             'expected' => undef,
10951             'min' => 0,
10952             'argcode' => undef,
10953             'max' => 100000000,
10954             'matchrule' => 0,
10955             'repspec' => 's?',
10956             'lookahead' => 0,
10957             'line' => 58
10958             }, 'Parse::RecDescent::Repetition' ),
10959             bless( {
10960             'hashname' => '__ACTION1__',
10961             'lookahead' => 0,
10962             'line' => 58,
10963             'code' => '{ $item[1] }'
10964             }, 'Parse::RecDescent::Action' )
10965             ],
10966             'line' => undef
10967             }, 'Parse::RecDescent::Production' )
10968             ],
10969             'name' => 'body',
10970             'vars' => '',
10971             'line' => 58
10972             }, 'Parse::RecDescent::Rule' ),
10973             'byte_code_line' => bless( {
10974             'impcount' => 0,
10975             'calls' => [],
10976             'changed' => 0,
10977             'opcount' => 0,
10978             'prods' => [
10979             bless( {
10980             'number' => 0,
10981             'strcount' => 0,
10982             'dircount' => 0,
10983             'uncommit' => undef,
10984             'error' => undef,
10985             'patcount' => 1,
10986             'actcount' => 0,
10987             'items' => [
10988             bless( {
10989             'pattern' => '(?!LineNumberTable)[^\\n]*',
10990             'hashname' => '__PATTERN1__',
10991             'description' => '/(?!LineNumberTable)[^\\\\n]*/',
10992             'lookahead' => 0,
10993             'rdelim' => '/',
10994             'line' => 150,
10995             'mod' => '',
10996             'ldelim' => '/'
10997             }, 'Parse::RecDescent::Token' )
10998             ],
10999             'line' => undef
11000             }, 'Parse::RecDescent::Production' )
11001             ],
11002             'name' => 'byte_code_line',
11003             'vars' => '',
11004             'line' => 149
11005             }, 'Parse::RecDescent::Rule' ),
11006             'array_depth' => bless( {
11007             'impcount' => 0,
11008             'calls' => [
11009             'ARRAY_LEVEL'
11010             ],
11011             'changed' => 0,
11012             'opcount' => 0,
11013             'prods' => [
11014             bless( {
11015             'number' => 0,
11016             'strcount' => 0,
11017             'dircount' => 0,
11018             'uncommit' => undef,
11019             'error' => undef,
11020             'patcount' => 0,
11021             'actcount' => 1,
11022             'items' => [
11023             bless( {
11024             'subrule' => 'ARRAY_LEVEL',
11025             'expected' => undef,
11026             'min' => 0,
11027             'argcode' => undef,
11028             'max' => 100000000,
11029             'matchrule' => 0,
11030             'repspec' => 's?',
11031             'lookahead' => 0,
11032             'line' => 219
11033             }, 'Parse::RecDescent::Repetition' ),
11034             bless( {
11035             'hashname' => '__ACTION1__',
11036             'lookahead' => 0,
11037             'line' => 219,
11038             'code' => '{
11039             my $depth = scalar @{ $item[1] };
11040             $depth;
11041             }'
11042             }, 'Parse::RecDescent::Action' )
11043             ],
11044             'line' => undef
11045             }, 'Parse::RecDescent::Production' )
11046             ],
11047             'name' => 'array_depth',
11048             'vars' => '',
11049             'line' => 219
11050             }, 'Parse::RecDescent::Rule' ),
11051             'method' => bless( {
11052             'impcount' => 0,
11053             'calls' => [
11054             'ACCESS',
11055             'method_qualifier',
11056             'arg',
11057             'NAME',
11058             'arg_list',
11059             'throws_clause',
11060             'verbose_method_detail',
11061             'qualified_name'
11062             ],
11063             'changed' => 0,
11064             'opcount' => 0,
11065             'prods' => [
11066             bless( {
11067             'number' => 0,
11068             'strcount' => 3,
11069             'dircount' => 0,
11070             'uncommit' => undef,
11071             'error' => undef,
11072             'patcount' => 0,
11073             'actcount' => 1,
11074             'items' => [
11075             bless( {
11076             'subrule' => 'ACCESS',
11077             'matchrule' => 0,
11078             'implicit' => undef,
11079             'argcode' => undef,
11080             'lookahead' => 0,
11081             'line' => 104
11082             }, 'Parse::RecDescent::Subrule' ),
11083             bless( {
11084             'subrule' => 'method_qualifier',
11085             'expected' => undef,
11086             'min' => 0,
11087             'argcode' => undef,
11088             'max' => 100000000,
11089             'matchrule' => 0,
11090             'repspec' => 's?',
11091             'lookahead' => 0,
11092             'line' => 104
11093             }, 'Parse::RecDescent::Repetition' ),
11094             bless( {
11095             'subrule' => 'arg',
11096             'matchrule' => 0,
11097             'implicit' => undef,
11098             'argcode' => undef,
11099             'lookahead' => 0,
11100             'line' => 105
11101             }, 'Parse::RecDescent::Subrule' ),
11102             bless( {
11103             'subrule' => 'NAME',
11104             'matchrule' => 0,
11105             'implicit' => undef,
11106             'argcode' => undef,
11107             'lookahead' => 0,
11108             'line' => 105
11109             }, 'Parse::RecDescent::Subrule' ),
11110             bless( {
11111             'pattern' => '(',
11112             'hashname' => '__STRING1__',
11113             'description' => '\'(\'',
11114             'lookahead' => 0,
11115             'line' => 105
11116             }, 'Parse::RecDescent::Literal' ),
11117             bless( {
11118             'subrule' => 'arg_list',
11119             'expected' => undef,
11120             'min' => 0,
11121             'argcode' => undef,
11122             'max' => 1,
11123             'matchrule' => 0,
11124             'repspec' => '?',
11125             'lookahead' => 0,
11126             'line' => 105
11127             }, 'Parse::RecDescent::Repetition' ),
11128             bless( {
11129             'pattern' => ')',
11130             'hashname' => '__STRING2__',
11131             'description' => '\')\'',
11132             'lookahead' => 0,
11133             'line' => 105
11134             }, 'Parse::RecDescent::Literal' ),
11135             bless( {
11136             'subrule' => 'throws_clause',
11137             'expected' => undef,
11138             'min' => 0,
11139             'argcode' => undef,
11140             'max' => 1,
11141             'matchrule' => 0,
11142             'repspec' => '?',
11143             'lookahead' => 0,
11144             'line' => 106
11145             }, 'Parse::RecDescent::Repetition' ),
11146             bless( {
11147             'pattern' => ';',
11148             'hashname' => '__STRING3__',
11149             'description' => '\';\'',
11150             'lookahead' => 0,
11151             'line' => 106
11152             }, 'Parse::RecDescent::Literal' ),
11153             bless( {
11154             'subrule' => 'verbose_method_detail',
11155             'expected' => undef,
11156             'min' => 0,
11157             'argcode' => undef,
11158             'max' => 100000000,
11159             'matchrule' => 0,
11160             'repspec' => 's?',
11161             'lookahead' => 0,
11162             'line' => 107
11163             }, 'Parse::RecDescent::Repetition' ),
11164             bless( {
11165             'hashname' => '__ACTION1__',
11166             'lookahead' => 0,
11167             'line' => 107,
11168             'code' => '{
11169             $methods{ $item[4] }++;
11170             {
11171             body_element => \'method\',
11172             access => $item[1],
11173             attrs => $item[2],
11174             type => $item[3][0],
11175             name => $item[4],
11176             args => $item{ \'arg_list(?)\' }[0] || [],
11177             throws => $item{ \'throws_clause(?)\' }[0] || [],
11178             }
11179             }'
11180             }, 'Parse::RecDescent::Action' )
11181             ],
11182             'line' => undef
11183             }, 'Parse::RecDescent::Production' ),
11184             bless( {
11185             'number' => 1,
11186             'strcount' => 3,
11187             'dircount' => 0,
11188             'uncommit' => undef,
11189             'error' => undef,
11190             'patcount' => 1,
11191             'actcount' => 1,
11192             'items' => [
11193             bless( {
11194             'subrule' => 'ACCESS',
11195             'matchrule' => 0,
11196             'implicit' => undef,
11197             'argcode' => undef,
11198             'lookahead' => 0,
11199             'line' => 119
11200             }, 'Parse::RecDescent::Subrule' ),
11201             bless( {
11202             'pattern' => '(native)?',
11203             'hashname' => '__PATTERN1__',
11204             'description' => '/(native)?/',
11205             'lookahead' => 0,
11206             'rdelim' => '/',
11207             'line' => 119,
11208             'mod' => '',
11209             'ldelim' => '/'
11210             }, 'Parse::RecDescent::Token' ),
11211             bless( {
11212             'subrule' => 'qualified_name',
11213             'matchrule' => 0,
11214             'implicit' => undef,
11215             'argcode' => undef,
11216             'lookahead' => 0,
11217             'line' => 119
11218             }, 'Parse::RecDescent::Subrule' ),
11219             bless( {
11220             'pattern' => '(',
11221             'hashname' => '__STRING1__',
11222             'description' => '\'(\'',
11223             'lookahead' => 0,
11224             'line' => 119
11225             }, 'Parse::RecDescent::Literal' ),
11226             bless( {
11227             'subrule' => 'arg_list',
11228             'expected' => undef,
11229             'min' => 0,
11230             'argcode' => undef,
11231             'max' => 1,
11232             'matchrule' => 0,
11233             'repspec' => '?',
11234             'lookahead' => 0,
11235             'line' => 119
11236             }, 'Parse::RecDescent::Repetition' ),
11237             bless( {
11238             'pattern' => ')',
11239             'hashname' => '__STRING2__',
11240             'description' => '\')\'',
11241             'lookahead' => 0,
11242             'line' => 119
11243             }, 'Parse::RecDescent::Literal' ),
11244             bless( {
11245             'subrule' => 'throws_clause',
11246             'expected' => undef,
11247             'min' => 0,
11248             'argcode' => undef,
11249             'max' => 1,
11250             'matchrule' => 0,
11251             'repspec' => '?',
11252             'lookahead' => 0,
11253             'line' => 120
11254             }, 'Parse::RecDescent::Repetition' ),
11255             bless( {
11256             'pattern' => ';',
11257             'hashname' => '__STRING3__',
11258             'description' => '\';\'',
11259             'lookahead' => 0,
11260             'line' => 120
11261             }, 'Parse::RecDescent::Literal' ),
11262             bless( {
11263             'subrule' => 'verbose_method_detail',
11264             'expected' => undef,
11265             'min' => 0,
11266             'argcode' => undef,
11267             'max' => 100000000,
11268             'matchrule' => 0,
11269             'repspec' => 's?',
11270             'lookahead' => 0,
11271             'line' => 121
11272             }, 'Parse::RecDescent::Repetition' ),
11273             bless( {
11274             'hashname' => '__ACTION1__',
11275             'lookahead' => 0,
11276             'line' => 121,
11277             'code' => '{
11278             $constructors++;
11279             $methods{ \'new\' }++;
11280             {
11281             body_element => \'constructor\',
11282             access => $item[1],
11283             native => ( $item[2] eq \'native\' ) ? \'native\' : \'\',
11284             args => $item{ \'arg_list(?)\' }[0] || [],
11285             throws => $item{ \'throws_clause(?)\' }[0] || [],
11286             # add name and type so constructor data is like a method
11287             name => \'new\',
11288             type => {
11289             array_depth => 0,
11290             array_text => \'\',
11291             name => $item[3],
11292             },
11293             }
11294             }'
11295             }, 'Parse::RecDescent::Action' )
11296             ],
11297             'line' => 119
11298             }, 'Parse::RecDescent::Production' )
11299             ],
11300             'name' => 'method',
11301             'vars' => '',
11302             'line' => 104
11303             }, 'Parse::RecDescent::Rule' ),
11304             'verbose_method_detail' => bless( {
11305             'impcount' => 0,
11306             'calls' => [
11307             'verbose_method_code',
11308             'verbose_line_number_table',
11309             'verbose_method_deprecated',
11310             'verbose_exceptions',
11311             'verbose_signature',
11312             'verbose_annotations'
11313             ],
11314             'changed' => 0,
11315             'opcount' => 0,
11316             'prods' => [
11317             bless( {
11318             'number' => 0,
11319             'strcount' => 0,
11320             'dircount' => 0,
11321             'uncommit' => undef,
11322             'error' => undef,
11323             'patcount' => 0,
11324             'actcount' => 0,
11325             'items' => [
11326             bless( {
11327             'subrule' => 'verbose_method_code',
11328             'matchrule' => 0,
11329             'implicit' => undef,
11330             'argcode' => undef,
11331             'lookahead' => 0,
11332             'line' => 140
11333             }, 'Parse::RecDescent::Subrule' )
11334             ],
11335             'line' => undef
11336             }, 'Parse::RecDescent::Production' ),
11337             bless( {
11338             'number' => 1,
11339             'strcount' => 0,
11340             'dircount' => 0,
11341             'uncommit' => undef,
11342             'error' => undef,
11343             'patcount' => 0,
11344             'actcount' => 0,
11345             'items' => [
11346             bless( {
11347             'subrule' => 'verbose_line_number_table',
11348             'matchrule' => 0,
11349             'implicit' => undef,
11350             'argcode' => undef,
11351             'lookahead' => 0,
11352             'line' => 141
11353             }, 'Parse::RecDescent::Subrule' )
11354             ],
11355             'line' => 141
11356             }, 'Parse::RecDescent::Production' ),
11357             bless( {
11358             'number' => 2,
11359             'strcount' => 0,
11360             'dircount' => 0,
11361             'uncommit' => undef,
11362             'error' => undef,
11363             'patcount' => 0,
11364             'actcount' => 0,
11365             'items' => [
11366             bless( {
11367             'subrule' => 'verbose_method_deprecated',
11368             'matchrule' => 0,
11369             'implicit' => undef,
11370             'argcode' => undef,
11371             'lookahead' => 0,
11372             'line' => 142
11373             }, 'Parse::RecDescent::Subrule' )
11374             ],
11375             'line' => 142
11376             }, 'Parse::RecDescent::Production' ),
11377             bless( {
11378             'number' => 3,
11379             'strcount' => 0,
11380             'dircount' => 0,
11381             'uncommit' => undef,
11382             'error' => undef,
11383             'patcount' => 0,
11384             'actcount' => 0,
11385             'items' => [
11386             bless( {
11387             'subrule' => 'verbose_exceptions',
11388             'matchrule' => 0,
11389             'implicit' => undef,
11390             'argcode' => undef,
11391             'lookahead' => 0,
11392             'line' => 143
11393             }, 'Parse::RecDescent::Subrule' )
11394             ],
11395             'line' => 143
11396             }, 'Parse::RecDescent::Production' ),
11397             bless( {
11398             'number' => 4,
11399             'strcount' => 0,
11400             'dircount' => 0,
11401             'uncommit' => undef,
11402             'error' => undef,
11403             'patcount' => 0,
11404             'actcount' => 0,
11405             'items' => [
11406             bless( {
11407             'subrule' => 'verbose_signature',
11408             'matchrule' => 0,
11409             'implicit' => undef,
11410             'argcode' => undef,
11411             'lookahead' => 0,
11412             'line' => 144
11413             }, 'Parse::RecDescent::Subrule' )
11414             ],
11415             'line' => 144
11416             }, 'Parse::RecDescent::Production' ),
11417             bless( {
11418             'number' => 5,
11419             'strcount' => 0,
11420             'dircount' => 0,
11421             'uncommit' => undef,
11422             'error' => undef,
11423             'patcount' => 0,
11424             'actcount' => 0,
11425             'items' => [
11426             bless( {
11427             'subrule' => 'verbose_annotations',
11428             'matchrule' => 0,
11429             'implicit' => undef,
11430             'argcode' => undef,
11431             'lookahead' => 0,
11432             'line' => 145
11433             }, 'Parse::RecDescent::Subrule' )
11434             ],
11435             'line' => 145
11436             }, 'Parse::RecDescent::Production' )
11437             ],
11438             'name' => 'verbose_method_detail',
11439             'vars' => '',
11440             'line' => 140
11441             }, 'Parse::RecDescent::Rule' ),
11442             'comp_unit' => bless( {
11443             'impcount' => 0,
11444             'calls' => [
11445             'comp_stmt',
11446             'comp_unit_decl',
11447             'body'
11448             ],
11449             'changed' => 0,
11450             'opcount' => 0,
11451             'prods' => [
11452             bless( {
11453             'number' => 0,
11454             'strcount' => 2,
11455             'dircount' => 0,
11456             'uncommit' => undef,
11457             'error' => undef,
11458             'patcount' => 0,
11459             'actcount' => 1,
11460             'items' => [
11461             bless( {
11462             'subrule' => 'comp_stmt',
11463             'expected' => undef,
11464             'min' => 0,
11465             'argcode' => undef,
11466             'max' => 1,
11467             'matchrule' => 0,
11468             'repspec' => '?',
11469             'lookahead' => 0,
11470             'line' => 15
11471             }, 'Parse::RecDescent::Repetition' ),
11472             bless( {
11473             'subrule' => 'comp_unit_decl',
11474             'matchrule' => 0,
11475             'implicit' => undef,
11476             'argcode' => undef,
11477             'lookahead' => 0,
11478             'line' => 16
11479             }, 'Parse::RecDescent::Subrule' ),
11480             bless( {
11481             'pattern' => '{',
11482             'hashname' => '__STRING1__',
11483             'description' => '\'\\{\'',
11484             'lookahead' => 0,
11485             'line' => 16
11486             }, 'Parse::RecDescent::Literal' ),
11487             bless( {
11488             'subrule' => 'body',
11489             'matchrule' => 0,
11490             'implicit' => undef,
11491             'argcode' => undef,
11492             'lookahead' => 0,
11493             'line' => 16
11494             }, 'Parse::RecDescent::Subrule' ),
11495             bless( {
11496             'pattern' => '}',
11497             'hashname' => '__STRING2__',
11498             'description' => '\'\\}\'',
11499             'lookahead' => 0,
11500             'line' => 16
11501             }, 'Parse::RecDescent::Literal' ),
11502             bless( {
11503             'hashname' => '__ACTION1__',
11504             'lookahead' => 0,
11505             'line' => 17,
11506             'code' => '{
11507             my $retval = $item{ comp_unit_decl };
11508             # Match of subrule X(?) always generates an array
11509             my $comp_stmt = $item{ q{comp_stmt(?)} }->[0];
11510             $retval->{ compiled_from } = "${comp_stmt}.java";
11511             $retval->{ contents } = $item{ body };
11512             $retval->{ methods } = { %methods }; %methods = ();
11513             $retval->{ constructors } = $constructors; $constructors = 0;
11514             $retval;
11515             }'
11516             }, 'Parse::RecDescent::Action' )
11517             ],
11518             'line' => undef
11519             }, 'Parse::RecDescent::Production' ),
11520             bless( {
11521             'number' => 1,
11522             'strcount' => 0,
11523             'dircount' => 1,
11524             'uncommit' => 0,
11525             'error' => 1,
11526             'patcount' => 0,
11527             'actcount' => 0,
11528             'items' => [
11529             bless( {
11530             'msg' => '',
11531             'hashname' => '__DIRECTIVE1__',
11532             'commitonly' => '',
11533             'lookahead' => 0,
11534             'line' => 27
11535             }, 'Parse::RecDescent::Error' )
11536             ],
11537             'line' => 27
11538             }, 'Parse::RecDescent::Production' )
11539             ],
11540             'name' => 'comp_unit',
11541             'vars' => '',
11542             'line' => 15
11543             }, 'Parse::RecDescent::Rule' ),
11544             'NAME' => bless( {
11545             'impcount' => 0,
11546             'calls' => [],
11547             'changed' => 0,
11548             'opcount' => 0,
11549             'prods' => [
11550             bless( {
11551             'number' => 0,
11552             'strcount' => 0,
11553             'dircount' => 0,
11554             'uncommit' => undef,
11555             'error' => undef,
11556             'patcount' => 1,
11557             'actcount' => 1,
11558             'items' => [
11559             bless( {
11560             'pattern' => '^([\\w\\d\\$]+)',
11561             'hashname' => '__PATTERN1__',
11562             'description' => '/^([\\\\w\\\\d\\\\$]+)/',
11563             'lookahead' => 0,
11564             'rdelim' => '/',
11565             'line' => 226,
11566             'mod' => '',
11567             'ldelim' => '/'
11568             }, 'Parse::RecDescent::Token' ),
11569             bless( {
11570             'hashname' => '__ACTION1__',
11571             'lookahead' => 0,
11572             'line' => 226,
11573             'code' => '{ $1 }'
11574             }, 'Parse::RecDescent::Action' )
11575             ],
11576             'line' => undef
11577             }, 'Parse::RecDescent::Production' )
11578             ],
11579             'name' => 'NAME',
11580             'vars' => '',
11581             'line' => 226
11582             }, 'Parse::RecDescent::Rule' ),
11583             'constant_value' => bless( {
11584             'impcount' => 0,
11585             'calls' => [],
11586             'changed' => 0,
11587             'opcount' => 0,
11588             'prods' => [
11589             bless( {
11590             'number' => 0,
11591             'strcount' => 0,
11592             'dircount' => 0,
11593             'uncommit' => undef,
11594             'error' => undef,
11595             'patcount' => 1,
11596             'actcount' => 0,
11597             'items' => [
11598             bless( {
11599             'pattern' => '[^\\n]*',
11600             'hashname' => '__PATTERN1__',
11601             'description' => '/[^\\\\n]*/',
11602             'lookahead' => 0,
11603             'rdelim' => '/',
11604             'line' => 100,
11605             'mod' => '',
11606             'ldelim' => '/'
11607             }, 'Parse::RecDescent::Token' )
11608             ],
11609             'line' => undef
11610             }, 'Parse::RecDescent::Production' )
11611             ],
11612             'name' => 'constant_value',
11613             'vars' => '',
11614             'line' => 100
11615             }, 'Parse::RecDescent::Rule' ),
11616             'verbose_constant_details' => bless( {
11617             'impcount' => 0,
11618             'calls' => [
11619             'arg',
11620             'constant_value'
11621             ],
11622             'changed' => 0,
11623             'opcount' => 0,
11624             'prods' => [
11625             bless( {
11626             'number' => 0,
11627             'strcount' => 2,
11628             'dircount' => 0,
11629             'uncommit' => undef,
11630             'error' => undef,
11631             'patcount' => 0,
11632             'actcount' => 1,
11633             'items' => [
11634             bless( {
11635             'pattern' => 'Constant',
11636             'hashname' => '__STRING1__',
11637             'description' => '\'Constant\'',
11638             'lookahead' => 0,
11639             'line' => 96
11640             }, 'Parse::RecDescent::Literal' ),
11641             bless( {
11642             'pattern' => 'value:',
11643             'hashname' => '__STRING2__',
11644             'description' => '\'value:\'',
11645             'lookahead' => 0,
11646             'line' => 96
11647             }, 'Parse::RecDescent::Literal' ),
11648             bless( {
11649             'subrule' => 'arg',
11650             'matchrule' => 0,
11651             'implicit' => undef,
11652             'argcode' => undef,
11653             'lookahead' => 0,
11654             'line' => 96
11655             }, 'Parse::RecDescent::Subrule' ),
11656             bless( {
11657             'subrule' => 'constant_value',
11658             'matchrule' => 0,
11659             'implicit' => undef,
11660             'argcode' => undef,
11661             'lookahead' => 0,
11662             'line' => 96
11663             }, 'Parse::RecDescent::Subrule' ),
11664             bless( {
11665             'hashname' => '__ACTION1__',
11666             'lookahead' => 0,
11667             'line' => 96,
11668             'code' => '{
11669             $item{ constant_value }
11670             }'
11671             }, 'Parse::RecDescent::Action' )
11672             ],
11673             'line' => undef
11674             }, 'Parse::RecDescent::Production' )
11675             ],
11676             'name' => 'verbose_constant_details',
11677             'vars' => '',
11678             'line' => 96
11679             }, 'Parse::RecDescent::Rule' ),
11680             'implements_clause' => bless( {
11681             'impcount' => 0,
11682             'calls' => [
11683             'comma_list'
11684             ],
11685             'changed' => 0,
11686             'opcount' => 0,
11687             'prods' => [
11688             bless( {
11689             'number' => 0,
11690             'strcount' => 1,
11691             'dircount' => 0,
11692             'uncommit' => undef,
11693             'error' => undef,
11694             'patcount' => 0,
11695             'actcount' => 1,
11696             'items' => [
11697             bless( {
11698             'pattern' => 'implements',
11699             'hashname' => '__STRING1__',
11700             'description' => '\'implements\'',
11701             'lookahead' => 0,
11702             'line' => 56
11703             }, 'Parse::RecDescent::Literal' ),
11704             bless( {
11705             'subrule' => 'comma_list',
11706             'matchrule' => 0,
11707             'implicit' => undef,
11708             'argcode' => undef,
11709             'lookahead' => 0,
11710             'line' => 56
11711             }, 'Parse::RecDescent::Subrule' ),
11712             bless( {
11713             'hashname' => '__ACTION1__',
11714             'lookahead' => 0,
11715             'line' => 56,
11716             'code' => '{ $item{ comma_list } }'
11717             }, 'Parse::RecDescent::Action' )
11718             ],
11719             'line' => undef
11720             }, 'Parse::RecDescent::Production' )
11721             ],
11722             'name' => 'implements_clause',
11723             'vars' => '',
11724             'line' => 56
11725             }, 'Parse::RecDescent::Rule' ),
11726             'verbose_exceptions' => bless( {
11727             'impcount' => 0,
11728             'calls' => [
11729             'throws_clause'
11730             ],
11731             'changed' => 0,
11732             'opcount' => 0,
11733             'prods' => [
11734             bless( {
11735             'number' => 0,
11736             'strcount' => 1,
11737             'dircount' => 0,
11738             'uncommit' => undef,
11739             'error' => undef,
11740             'patcount' => 0,
11741             'actcount' => 0,
11742             'items' => [
11743             bless( {
11744             'pattern' => 'Exceptions:',
11745             'hashname' => '__STRING1__',
11746             'description' => '\'Exceptions:\'',
11747             'lookahead' => 0,
11748             'line' => 156
11749             }, 'Parse::RecDescent::Literal' ),
11750             bless( {
11751             'subrule' => 'throws_clause',
11752             'matchrule' => 0,
11753             'implicit' => undef,
11754             'argcode' => undef,
11755             'lookahead' => 0,
11756             'line' => 156
11757             }, 'Parse::RecDescent::Subrule' )
11758             ],
11759             'line' => undef
11760             }, 'Parse::RecDescent::Production' )
11761             ],
11762             'name' => 'verbose_exceptions',
11763             'vars' => '',
11764             'line' => 156
11765             }, 'Parse::RecDescent::Rule' ),
11766             'constant' => bless( {
11767             'impcount' => 0,
11768             'calls' => [
11769             'ACCESS',
11770             'constant_modifier',
11771             'arg',
11772             'NAME',
11773             'verbose_constant_details'
11774             ],
11775             'changed' => 0,
11776             'opcount' => 0,
11777             'prods' => [
11778             bless( {
11779             'number' => 0,
11780             'strcount' => 2,
11781             'dircount' => 0,
11782             'uncommit' => undef,
11783             'error' => undef,
11784             'patcount' => 0,
11785             'actcount' => 1,
11786             'items' => [
11787             bless( {
11788             'subrule' => 'ACCESS',
11789             'matchrule' => 0,
11790             'implicit' => undef,
11791             'argcode' => undef,
11792             'lookahead' => 0,
11793             'line' => 70
11794             }, 'Parse::RecDescent::Subrule' ),
11795             bless( {
11796             'pattern' => 'static',
11797             'hashname' => '__STRING1__',
11798             'description' => '\'static\'',
11799             'lookahead' => 0,
11800             'line' => 70
11801             }, 'Parse::RecDescent::Literal' ),
11802             bless( {
11803             'subrule' => 'constant_modifier',
11804             'expected' => undef,
11805             'min' => 0,
11806             'argcode' => undef,
11807             'max' => 100000000,
11808             'matchrule' => 0,
11809             'repspec' => 's?',
11810             'lookahead' => 0,
11811             'line' => 70
11812             }, 'Parse::RecDescent::Repetition' ),
11813             bless( {
11814             'subrule' => 'arg',
11815             'matchrule' => 0,
11816             'implicit' => undef,
11817             'argcode' => undef,
11818             'lookahead' => 0,
11819             'line' => 70
11820             }, 'Parse::RecDescent::Subrule' ),
11821             bless( {
11822             'subrule' => 'NAME',
11823             'matchrule' => 0,
11824             'implicit' => undef,
11825             'argcode' => undef,
11826             'lookahead' => 0,
11827             'line' => 70
11828             }, 'Parse::RecDescent::Subrule' ),
11829             bless( {
11830             'pattern' => ';',
11831             'hashname' => '__STRING2__',
11832             'description' => '\';\'',
11833             'lookahead' => 0,
11834             'line' => 70
11835             }, 'Parse::RecDescent::Literal' ),
11836             bless( {
11837             'subrule' => 'verbose_constant_details',
11838             'expected' => undef,
11839             'min' => 0,
11840             'argcode' => undef,
11841             'max' => 1,
11842             'matchrule' => 0,
11843             'repspec' => '?',
11844             'lookahead' => 0,
11845             'line' => 71
11846             }, 'Parse::RecDescent::Repetition' ),
11847             bless( {
11848             'hashname' => '__ACTION1__',
11849             'lookahead' => 0,
11850             'line' => 71,
11851             'code' => '{
11852             my $type = $item{ arg }[0];
11853             my $value = $item{ \'verbose_constant_details(?)\' }[0];
11854             # remove trailing \'d\' from double constants
11855             $value =~ s/d$// if $type->{name} eq \'double\';
11856             # remove trailing \'l\' from long constants
11857             $value =~ s/l$// if $type->{name} eq \'long\';
11858             #warn "constant( $item{ NAME } ) @{[ %$type ]}: \'$value\'";
11859             {
11860             body_element => \'constant\',
11861             access => $item{ ACCESS },
11862             modifiers => $item{ \'constant_modifier(s?)\' },
11863             type => $type,
11864             name => $item{ NAME },
11865             value => $value,
11866             }
11867             }'
11868             }, 'Parse::RecDescent::Action' )
11869             ],
11870             'line' => undef
11871             }, 'Parse::RecDescent::Production' ),
11872             bless( {
11873             'number' => 1,
11874             'strcount' => 3,
11875             'dircount' => 0,
11876             'uncommit' => undef,
11877             'error' => undef,
11878             'patcount' => 0,
11879             'actcount' => 1,
11880             'items' => [
11881             bless( {
11882             'pattern' => 'static',
11883             'hashname' => '__STRING1__',
11884             'description' => '\'static\'',
11885             'lookahead' => 0,
11886             'line' => 88
11887             }, 'Parse::RecDescent::Literal' ),
11888             bless( {
11889             'pattern' => 'transient',
11890             'hashname' => '__STRING2__',
11891             'description' => '\'transient\'',
11892             'lookahead' => 0,
11893             'line' => 88
11894             }, 'Parse::RecDescent::Literal' ),
11895             bless( {
11896             'subrule' => 'arg',
11897             'matchrule' => 0,
11898             'implicit' => undef,
11899             'argcode' => undef,
11900             'lookahead' => 0,
11901             'line' => 88
11902             }, 'Parse::RecDescent::Subrule' ),
11903             bless( {
11904             'subrule' => 'NAME',
11905             'matchrule' => 0,
11906             'implicit' => undef,
11907             'argcode' => undef,
11908             'lookahead' => 0,
11909             'line' => 88
11910             }, 'Parse::RecDescent::Subrule' ),
11911             bless( {
11912             'pattern' => ';',
11913             'hashname' => '__STRING3__',
11914             'description' => '\';\'',
11915             'lookahead' => 0,
11916             'line' => 88
11917             }, 'Parse::RecDescent::Literal' ),
11918             bless( {
11919             'hashname' => '__ACTION1__',
11920             'lookahead' => 0,
11921             'line' => 88,
11922             'code' => '{
11923             {
11924             body_element => \'transient_constant\',
11925             type => $item{ arg }[0],
11926             name => $item{ NAME },
11927             }
11928             }'
11929             }, 'Parse::RecDescent::Action' )
11930             ],
11931             'line' => 88
11932             }, 'Parse::RecDescent::Production' )
11933             ],
11934             'name' => 'constant',
11935             'vars' => '',
11936             'line' => 70
11937             }, 'Parse::RecDescent::Rule' ),
11938             'verbose_line_number_table' => bless( {
11939             'impcount' => 0,
11940             'calls' => [
11941             'number_table_line'
11942             ],
11943             'changed' => 0,
11944             'opcount' => 0,
11945             'prods' => [
11946             bless( {
11947             'number' => 0,
11948             'strcount' => 1,
11949             'dircount' => 0,
11950             'uncommit' => undef,
11951             'error' => undef,
11952             'patcount' => 0,
11953             'actcount' => 0,
11954             'items' => [
11955             bless( {
11956             'pattern' => 'LineNumberTable:',
11957             'hashname' => '__STRING1__',
11958             'description' => '\'LineNumberTable:\'',
11959             'lookahead' => 0,
11960             'line' => 152
11961             }, 'Parse::RecDescent::Literal' ),
11962             bless( {
11963             'subrule' => 'number_table_line',
11964             'expected' => undef,
11965             'min' => 0,
11966             'argcode' => undef,
11967             'max' => 100000000,
11968             'matchrule' => 0,
11969             'repspec' => 's?',
11970             'lookahead' => 0,
11971             'line' => 152
11972             }, 'Parse::RecDescent::Repetition' )
11973             ],
11974             'line' => undef
11975             }, 'Parse::RecDescent::Production' )
11976             ],
11977             'name' => 'verbose_line_number_table',
11978             'vars' => '',
11979             'line' => 152
11980             }, 'Parse::RecDescent::Rule' ),
11981             'method_qualifier' => bless( {
11982             'impcount' => 0,
11983             'calls' => [],
11984             'changed' => 0,
11985             'opcount' => 0,
11986             'prods' => [
11987             bless( {
11988             'number' => 0,
11989             'strcount' => 1,
11990             'dircount' => 0,
11991             'uncommit' => undef,
11992             'error' => undef,
11993             'patcount' => 0,
11994             'actcount' => 1,
11995             'items' => [
11996             bless( {
11997             'pattern' => 'abstract',
11998             'hashname' => '__STRING1__',
11999             'description' => '\'abstract\'',
12000             'lookahead' => 0,
12001             'line' => 165
12002             }, 'Parse::RecDescent::Literal' ),
12003             bless( {
12004             'hashname' => '__ACTION1__',
12005             'lookahead' => 0,
12006             'line' => 165,
12007             'code' => '{ \'abstract\' }'
12008             }, 'Parse::RecDescent::Action' )
12009             ],
12010             'line' => undef
12011             }, 'Parse::RecDescent::Production' ),
12012             bless( {
12013             'number' => 1,
12014             'strcount' => 1,
12015             'dircount' => 0,
12016             'uncommit' => undef,
12017             'error' => undef,
12018             'patcount' => 0,
12019             'actcount' => 1,
12020             'items' => [
12021             bless( {
12022             'pattern' => 'native',
12023             'hashname' => '__STRING1__',
12024             'description' => '\'native\'',
12025             'lookahead' => 0,
12026             'line' => 166
12027             }, 'Parse::RecDescent::Literal' ),
12028             bless( {
12029             'hashname' => '__ACTION1__',
12030             'lookahead' => 0,
12031             'line' => 166,
12032             'code' => '{ \'native\' }'
12033             }, 'Parse::RecDescent::Action' )
12034             ],
12035             'line' => 166
12036             }, 'Parse::RecDescent::Production' ),
12037             bless( {
12038             'number' => 2,
12039             'strcount' => 1,
12040             'dircount' => 0,
12041             'uncommit' => undef,
12042             'error' => undef,
12043             'patcount' => 0,
12044             'actcount' => 1,
12045             'items' => [
12046             bless( {
12047             'pattern' => 'static',
12048             'hashname' => '__STRING1__',
12049             'description' => '\'static\'',
12050             'lookahead' => 0,
12051             'line' => 167
12052             }, 'Parse::RecDescent::Literal' ),
12053             bless( {
12054             'hashname' => '__ACTION1__',
12055             'lookahead' => 0,
12056             'line' => 167,
12057             'code' => '{ \'static\' }'
12058             }, 'Parse::RecDescent::Action' )
12059             ],
12060             'line' => 167
12061             }, 'Parse::RecDescent::Production' ),
12062             bless( {
12063             'number' => 3,
12064             'strcount' => 1,
12065             'dircount' => 0,
12066             'uncommit' => undef,
12067             'error' => undef,
12068             'patcount' => 0,
12069             'actcount' => 1,
12070             'items' => [
12071             bless( {
12072             'pattern' => 'synchronized',
12073             'hashname' => '__STRING1__',
12074             'description' => '\'synchronized\'',
12075             'lookahead' => 0,
12076             'line' => 168
12077             }, 'Parse::RecDescent::Literal' ),
12078             bless( {
12079             'hashname' => '__ACTION1__',
12080             'lookahead' => 0,
12081             'line' => 168,
12082             'code' => '{ \'synchronized\' }'
12083             }, 'Parse::RecDescent::Action' )
12084             ],
12085             'line' => 168
12086             }, 'Parse::RecDescent::Production' ),
12087             bless( {
12088             'number' => 4,
12089             'strcount' => 1,
12090             'dircount' => 0,
12091             'uncommit' => undef,
12092             'error' => undef,
12093             'patcount' => 0,
12094             'actcount' => 1,
12095             'items' => [
12096             bless( {
12097             'pattern' => 'final',
12098             'hashname' => '__STRING1__',
12099             'description' => '\'final\'',
12100             'lookahead' => 0,
12101             'line' => 169
12102             }, 'Parse::RecDescent::Literal' ),
12103             bless( {
12104             'hashname' => '__ACTION1__',
12105             'lookahead' => 0,
12106             'line' => 169,
12107             'code' => '{ \'final\' }'
12108             }, 'Parse::RecDescent::Action' )
12109             ],
12110             'line' => 169
12111             }, 'Parse::RecDescent::Production' )
12112             ],
12113             'name' => 'method_qualifier',
12114             'vars' => '',
12115             'line' => 165
12116             }, 'Parse::RecDescent::Rule' ),
12117             'verbose_class_details' => bless( {
12118             'impcount' => 0,
12119             'calls' => [],
12120             'changed' => 0,
12121             'opcount' => 0,
12122             'prods' => [
12123             bless( {
12124             'number' => 0,
12125             'strcount' => 0,
12126             'dircount' => 0,
12127             'uncommit' => undef,
12128             'error' => undef,
12129             'patcount' => 1,
12130             'actcount' => 0,
12131             'items' => [
12132             bless( {
12133             'pattern' => '[^{]*',
12134             'hashname' => '__PATTERN1__',
12135             'description' => '/[^\\{]*/',
12136             'lookahead' => 0,
12137             'rdelim' => '/',
12138             'line' => 50,
12139             'mod' => '',
12140             'ldelim' => '/'
12141             }, 'Parse::RecDescent::Token' )
12142             ],
12143             'line' => undef
12144             }, 'Parse::RecDescent::Production' )
12145             ],
12146             'name' => 'verbose_class_details',
12147             'vars' => '',
12148             'line' => 50
12149             }, 'Parse::RecDescent::Rule' ),
12150             'body_element' => bless( {
12151             'impcount' => 0,
12152             'calls' => [
12153             'constant',
12154             'static_block',
12155             'method',
12156             'variable'
12157             ],
12158             'changed' => 0,
12159             'opcount' => 0,
12160             'prods' => [
12161             bless( {
12162             'number' => 0,
12163             'strcount' => 0,
12164             'dircount' => 0,
12165             'uncommit' => undef,
12166             'error' => undef,
12167             'patcount' => 0,
12168             'actcount' => 1,
12169             'items' => [
12170             bless( {
12171             'subrule' => 'constant',
12172             'matchrule' => 0,
12173             'implicit' => undef,
12174             'argcode' => undef,
12175             'lookahead' => 0,
12176             'line' => 60
12177             }, 'Parse::RecDescent::Subrule' ),
12178             bless( {
12179             'hashname' => '__ACTION1__',
12180             'lookahead' => 0,
12181             'line' => 60,
12182             'code' => '{ $item[1] }'
12183             }, 'Parse::RecDescent::Action' )
12184             ],
12185             'line' => undef
12186             }, 'Parse::RecDescent::Production' ),
12187             bless( {
12188             'number' => 1,
12189             'strcount' => 0,
12190             'dircount' => 0,
12191             'uncommit' => undef,
12192             'error' => undef,
12193             'patcount' => 0,
12194             'actcount' => 1,
12195             'items' => [
12196             bless( {
12197             'subrule' => 'static_block',
12198             'matchrule' => 0,
12199             'implicit' => undef,
12200             'argcode' => undef,
12201             'lookahead' => 0,
12202             'line' => 61
12203             }, 'Parse::RecDescent::Subrule' ),
12204             bless( {
12205             'hashname' => '__ACTION1__',
12206             'lookahead' => 0,
12207             'line' => 61,
12208             'code' => '{ $item[1] }'
12209             }, 'Parse::RecDescent::Action' )
12210             ],
12211             'line' => 61
12212             }, 'Parse::RecDescent::Production' ),
12213             bless( {
12214             'number' => 2,
12215             'strcount' => 0,
12216             'dircount' => 0,
12217             'uncommit' => undef,
12218             'error' => undef,
12219             'patcount' => 0,
12220             'actcount' => 1,
12221             'items' => [
12222             bless( {
12223             'subrule' => 'method',
12224             'matchrule' => 0,
12225             'implicit' => undef,
12226             'argcode' => undef,
12227             'lookahead' => 0,
12228             'line' => 62
12229             }, 'Parse::RecDescent::Subrule' ),
12230             bless( {
12231             'hashname' => '__ACTION1__',
12232             'lookahead' => 0,
12233             'line' => 62,
12234             'code' => '{ $item[1] }'
12235             }, 'Parse::RecDescent::Action' )
12236             ],
12237             'line' => 62
12238             }, 'Parse::RecDescent::Production' ),
12239             bless( {
12240             'number' => 3,
12241             'strcount' => 0,
12242             'dircount' => 0,
12243             'uncommit' => undef,
12244             'error' => undef,
12245             'patcount' => 0,
12246             'actcount' => 1,
12247             'items' => [
12248             bless( {
12249             'subrule' => 'variable',
12250             'matchrule' => 0,
12251             'implicit' => undef,
12252             'argcode' => undef,
12253             'lookahead' => 0,
12254             'line' => 63
12255             }, 'Parse::RecDescent::Subrule' ),
12256             bless( {
12257             'hashname' => '__ACTION1__',
12258             'lookahead' => 0,
12259             'line' => 63,
12260             'code' => '{ $item[1] }'
12261             }, 'Parse::RecDescent::Action' )
12262             ],
12263             'line' => 63
12264             }, 'Parse::RecDescent::Production' )
12265             ],
12266             'name' => 'body_element',
12267             'vars' => '',
12268             'line' => 60
12269             }, 'Parse::RecDescent::Rule' ),
12270             'comma_list' => bless( {
12271             'impcount' => 0,
12272             'calls' => [
12273             'qualified_name',
12274             'comma_list'
12275             ],
12276             'changed' => 0,
12277             'opcount' => 0,
12278             'prods' => [
12279             bless( {
12280             'number' => 0,
12281             'strcount' => 1,
12282             'dircount' => 0,
12283             'uncommit' => undef,
12284             'error' => undef,
12285             'patcount' => 0,
12286             'actcount' => 1,
12287             'items' => [
12288             bless( {
12289             'subrule' => 'qualified_name',
12290             'matchrule' => 0,
12291             'implicit' => undef,
12292             'argcode' => undef,
12293             'lookahead' => 0,
12294             'line' => 188
12295             }, 'Parse::RecDescent::Subrule' ),
12296             bless( {
12297             'pattern' => ',',
12298             'hashname' => '__STRING1__',
12299             'description' => '\',\'',
12300             'lookahead' => 0,
12301             'line' => 188
12302             }, 'Parse::RecDescent::Literal' ),
12303             bless( {
12304             'subrule' => 'comma_list',
12305             'matchrule' => 0,
12306             'implicit' => undef,
12307             'argcode' => undef,
12308             'lookahead' => 0,
12309             'line' => 188
12310             }, 'Parse::RecDescent::Subrule' ),
12311             bless( {
12312             'hashname' => '__ACTION1__',
12313             'lookahead' => 0,
12314             'line' => 188,
12315             'code' => '{
12316             my @names = ( $item[1] );
12317             if ( ref( $item[3] ) eq \'ARRAY\' ) {
12318             push @names, @{ $item[3] };
12319             }
12320             else {
12321             push @names, $item[3];
12322             }
12323             \\@names;
12324             }'
12325             }, 'Parse::RecDescent::Action' )
12326             ],
12327             'line' => undef
12328             }, 'Parse::RecDescent::Production' ),
12329             bless( {
12330             'number' => 1,
12331             'strcount' => 0,
12332             'dircount' => 0,
12333             'uncommit' => undef,
12334             'error' => undef,
12335             'patcount' => 0,
12336             'actcount' => 1,
12337             'items' => [
12338             bless( {
12339             'subrule' => 'qualified_name',
12340             'matchrule' => 0,
12341             'implicit' => undef,
12342             'argcode' => undef,
12343             'lookahead' => 0,
12344             'line' => 198
12345             }, 'Parse::RecDescent::Subrule' ),
12346             bless( {
12347             'hashname' => '__ACTION1__',
12348             'lookahead' => 0,
12349             'line' => 198,
12350             'code' => '{
12351             [ $item[1] ]
12352             }'
12353             }, 'Parse::RecDescent::Action' )
12354             ],
12355             'line' => 198
12356             }, 'Parse::RecDescent::Production' )
12357             ],
12358             'name' => 'comma_list',
12359             'vars' => '',
12360             'line' => 188
12361             }, 'Parse::RecDescent::Rule' ),
12362             'comment' => bless( {
12363             'impcount' => 0,
12364             'calls' => [],
12365             'changed' => 0,
12366             'opcount' => 0,
12367             'prods' => [
12368             bless( {
12369             'number' => 0,
12370             'strcount' => 2,
12371             'dircount' => 0,
12372             'uncommit' => undef,
12373             'error' => undef,
12374             'patcount' => 1,
12375             'actcount' => 1,
12376             'items' => [
12377             bless( {
12378             'pattern' => '/*',
12379             'hashname' => '__STRING1__',
12380             'description' => '\'/*\'',
12381             'lookahead' => 0,
12382             'line' => 236
12383             }, 'Parse::RecDescent::Literal' ),
12384             bless( {
12385             'pattern' => '[^*]*',
12386             'hashname' => '__PATTERN1__',
12387             'description' => '/[^*]*/',
12388             'lookahead' => 0,
12389             'rdelim' => '/',
12390             'line' => 236,
12391             'mod' => '',
12392             'ldelim' => '/'
12393             }, 'Parse::RecDescent::Token' ),
12394             bless( {
12395             'pattern' => '*/',
12396             'hashname' => '__STRING2__',
12397             'description' => '\'*/\'',
12398             'lookahead' => 0,
12399             'line' => 236
12400             }, 'Parse::RecDescent::Literal' ),
12401             bless( {
12402             'hashname' => '__ACTION1__',
12403             'lookahead' => 0,
12404             'line' => 236,
12405             'code' => '{}'
12406             }, 'Parse::RecDescent::Action' )
12407             ],
12408             'line' => undef
12409             }, 'Parse::RecDescent::Production' ),
12410             bless( {
12411             'number' => 1,
12412             'strcount' => 0,
12413             'dircount' => 0,
12414             'uncommit' => undef,
12415             'error' => undef,
12416             'patcount' => 0,
12417             'actcount' => 0,
12418             'items' => [],
12419             'line' => 237
12420             }, 'Parse::RecDescent::Production' )
12421             ],
12422             'name' => 'comment',
12423             'vars' => '',
12424             'line' => 236
12425             }, 'Parse::RecDescent::Rule' ),
12426             'static_block' => bless( {
12427             'impcount' => 0,
12428             'calls' => [
12429             'verbose_method_detail'
12430             ],
12431             'changed' => 0,
12432             'opcount' => 0,
12433             'prods' => [
12434             bless( {
12435             'number' => 0,
12436             'strcount' => 4,
12437             'dircount' => 0,
12438             'uncommit' => undef,
12439             'error' => undef,
12440             'patcount' => 0,
12441             'actcount' => 1,
12442             'items' => [
12443             bless( {
12444             'pattern' => 'static',
12445             'hashname' => '__STRING1__',
12446             'description' => '\'static\'',
12447             'lookahead' => 0,
12448             'line' => 65
12449             }, 'Parse::RecDescent::Literal' ),
12450             bless( {
12451             'pattern' => '{',
12452             'hashname' => '__STRING2__',
12453             'description' => '\'\\{\'',
12454             'lookahead' => 0,
12455             'line' => 65
12456             }, 'Parse::RecDescent::Literal' ),
12457             bless( {
12458             'pattern' => '}',
12459             'hashname' => '__STRING3__',
12460             'description' => '\'\\}\'',
12461             'lookahead' => 0,
12462             'line' => 65
12463             }, 'Parse::RecDescent::Literal' ),
12464             bless( {
12465             'pattern' => ';',
12466             'hashname' => '__STRING4__',
12467             'description' => '\';\'',
12468             'lookahead' => 0,
12469             'line' => 65
12470             }, 'Parse::RecDescent::Literal' ),
12471             bless( {
12472             'subrule' => 'verbose_method_detail',
12473             'expected' => undef,
12474             'min' => 0,
12475             'argcode' => undef,
12476             'max' => 100000000,
12477             'matchrule' => 0,
12478             'repspec' => 's?',
12479             'lookahead' => 0,
12480             'line' => 66
12481             }, 'Parse::RecDescent::Repetition' ),
12482             bless( {
12483             'hashname' => '__ACTION1__',
12484             'lookahead' => 0,
12485             'line' => 66,
12486             'code' => '{
12487             { body_element => \'static_block\' }
12488             }'
12489             }, 'Parse::RecDescent::Action' )
12490             ],
12491             'line' => undef
12492             }, 'Parse::RecDescent::Production' )
12493             ],
12494             'name' => 'static_block',
12495             'vars' => '',
12496             'line' => 65
12497             }, 'Parse::RecDescent::Rule' ),
12498             'extends_clause' => bless( {
12499             'impcount' => 0,
12500             'calls' => [
12501             'qualified_name'
12502             ],
12503             'changed' => 0,
12504             'opcount' => 0,
12505             'prods' => [
12506             bless( {
12507             'number' => 0,
12508             'strcount' => 1,
12509             'dircount' => 0,
12510             'uncommit' => undef,
12511             'error' => undef,
12512             'patcount' => 0,
12513             'actcount' => 1,
12514             'items' => [
12515             bless( {
12516             'pattern' => 'extends',
12517             'hashname' => '__STRING1__',
12518             'description' => '\'extends\'',
12519             'lookahead' => 0,
12520             'line' => 55
12521             }, 'Parse::RecDescent::Literal' ),
12522             bless( {
12523             'subrule' => 'qualified_name',
12524             'matchrule' => 0,
12525             'implicit' => undef,
12526             'argcode' => undef,
12527             'lookahead' => 0,
12528             'line' => 55
12529             }, 'Parse::RecDescent::Subrule' ),
12530             bless( {
12531             'hashname' => '__ACTION1__',
12532             'lookahead' => 0,
12533             'line' => 55,
12534             'code' => '{ $item{ qualified_name } }'
12535             }, 'Parse::RecDescent::Action' )
12536             ],
12537             'line' => undef
12538             }, 'Parse::RecDescent::Production' )
12539             ],
12540             'name' => 'extends_clause',
12541             'vars' => '',
12542             'line' => 55
12543             }, 'Parse::RecDescent::Rule' ),
12544             'qualified_name' => bless( {
12545             'impcount' => 0,
12546             'calls' => [
12547             'NAME',
12548             'qualified_name'
12549             ],
12550             'changed' => 0,
12551             'opcount' => 0,
12552             'prods' => [
12553             bless( {
12554             'number' => 0,
12555             'strcount' => 1,
12556             'dircount' => 0,
12557             'uncommit' => undef,
12558             'error' => undef,
12559             'patcount' => 0,
12560             'actcount' => 1,
12561             'items' => [
12562             bless( {
12563             'subrule' => 'NAME',
12564             'matchrule' => 0,
12565             'implicit' => undef,
12566             'argcode' => undef,
12567             'lookahead' => 0,
12568             'line' => 184
12569             }, 'Parse::RecDescent::Subrule' ),
12570             bless( {
12571             'pattern' => '.',
12572             'hashname' => '__STRING1__',
12573             'description' => '\'.\'',
12574             'lookahead' => 0,
12575             'line' => 184
12576             }, 'Parse::RecDescent::Literal' ),
12577             bless( {
12578             'subrule' => 'qualified_name',
12579             'matchrule' => 0,
12580             'implicit' => undef,
12581             'argcode' => undef,
12582             'lookahead' => 0,
12583             'line' => 184
12584             }, 'Parse::RecDescent::Subrule' ),
12585             bless( {
12586             'hashname' => '__ACTION1__',
12587             'lookahead' => 0,
12588             'line' => 185,
12589             'code' => '{ "$item{NAME}.$item{qualified_name}" }'
12590             }, 'Parse::RecDescent::Action' )
12591             ],
12592             'line' => undef
12593             }, 'Parse::RecDescent::Production' ),
12594             bless( {
12595             'number' => 1,
12596             'strcount' => 0,
12597             'dircount' => 0,
12598             'uncommit' => undef,
12599             'error' => undef,
12600             'patcount' => 0,
12601             'actcount' => 1,
12602             'items' => [
12603             bless( {
12604             'subrule' => 'NAME',
12605             'matchrule' => 0,
12606             'implicit' => undef,
12607             'argcode' => undef,
12608             'lookahead' => 0,
12609             'line' => 186
12610             }, 'Parse::RecDescent::Subrule' ),
12611             bless( {
12612             'hashname' => '__ACTION1__',
12613             'lookahead' => 0,
12614             'line' => 186,
12615             'code' => '{ $item[1] }'
12616             }, 'Parse::RecDescent::Action' )
12617             ],
12618             'line' => 186
12619             }, 'Parse::RecDescent::Production' )
12620             ],
12621             'name' => 'qualified_name',
12622             'vars' => '',
12623             'line' => 184
12624             }, 'Parse::RecDescent::Rule' ),
12625             'CLASS_OR_INTERFACE' => bless( {
12626             'impcount' => 0,
12627             'calls' => [],
12628             'changed' => 0,
12629             'opcount' => 0,
12630             'prods' => [
12631             bless( {
12632             'number' => 0,
12633             'strcount' => 1,
12634             'dircount' => 0,
12635             'uncommit' => undef,
12636             'error' => undef,
12637             'patcount' => 0,
12638             'actcount' => 1,
12639             'items' => [
12640             bless( {
12641             'pattern' => 'class',
12642             'hashname' => '__STRING1__',
12643             'description' => '\'class\'',
12644             'lookahead' => 0,
12645             'line' => 233
12646             }, 'Parse::RecDescent::Literal' ),
12647             bless( {
12648             'hashname' => '__ACTION1__',
12649             'lookahead' => 0,
12650             'line' => 233,
12651             'code' => '{ $item[1] }'
12652             }, 'Parse::RecDescent::Action' )
12653             ],
12654             'line' => undef
12655             }, 'Parse::RecDescent::Production' ),
12656             bless( {
12657             'number' => 1,
12658             'strcount' => 1,
12659             'dircount' => 0,
12660             'uncommit' => undef,
12661             'error' => undef,
12662             'patcount' => 0,
12663             'actcount' => 1,
12664             'items' => [
12665             bless( {
12666             'pattern' => 'interface',
12667             'hashname' => '__STRING1__',
12668             'description' => '\'interface\'',
12669             'lookahead' => 0,
12670             'line' => 234
12671             }, 'Parse::RecDescent::Literal' ),
12672             bless( {
12673             'hashname' => '__ACTION1__',
12674             'lookahead' => 0,
12675             'line' => 234,
12676             'code' => '{ $item[1] }'
12677             }, 'Parse::RecDescent::Action' )
12678             ],
12679             'line' => 234
12680             }, 'Parse::RecDescent::Production' )
12681             ],
12682             'name' => 'CLASS_OR_INTERFACE',
12683             'vars' => '',
12684             'line' => 233
12685             }, 'Parse::RecDescent::Rule' )
12686             },
12687             '_AUTOTREE' => undef,
12688             '_check' => {
12689             'thisoffset' => '',
12690             'itempos' => '',
12691             'prevoffset' => '',
12692             'prevline' => '',
12693             'prevcolumn' => '',
12694             'thiscolumn' => ''
12695             },
12696             '_AUTOACTION' => undef
12697             }, 'Parse::RecDescent' );
12698             }