()
| 294 | /** |
| 295 | */ |
| 296 | final public void ClassDeclaration() throws ParseException { |
| 297 | /*@bgen(jjtree) ClassDeclaration */ |
| 298 | BSHClassDeclaration jjtn000 = new BSHClassDeclaration(JJTCLASSDECLARATION); |
| 299 | boolean jjtc000 = true; |
| 300 | jjtree.openNodeScope(jjtn000); |
| 301 | jjtreeOpenNodeScope(jjtn000);Modifiers mods; |
| 302 | Token name; |
| 303 | int numInterfaces; |
| 304 | try { |
| 305 | mods = Modifiers(Modifiers.CLASS, false); |
| 306 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| 307 | case CLASS: |
| 308 | jj_consume_token(CLASS); |
| 309 | break; |
| 310 | case INTERFACE: |
| 311 | jj_consume_token(INTERFACE); |
| 312 | jjtn000.isInterface=true; |
| 313 | break; |
| 314 | default: |
| 315 | jj_la1[3] = jj_gen; |
| 316 | jj_consume_token(-1); |
| 317 | throw new ParseException(); |
| 318 | } |
| 319 | name = jj_consume_token(IDENTIFIER); |
| 320 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| 321 | case EXTENDS: |
| 322 | jj_consume_token(EXTENDS); |
| 323 | AmbiguousName(); |
| 324 | jjtn000.extend = true; |
| 325 | break; |
| 326 | default: |
| 327 | jj_la1[4] = jj_gen; |
| 328 | ; |
| 329 | } |
| 330 | switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { |
| 331 | case IMPLEMENTS: |
| 332 | jj_consume_token(IMPLEMENTS); |
| 333 | numInterfaces = NameList(); |
| 334 | jjtn000.numInterfaces=numInterfaces; |
| 335 | break; |
| 336 | default: |
| 337 | jj_la1[5] = jj_gen; |
| 338 | ; |
| 339 | } |
| 340 | Block(); |
| 341 | jjtree.closeNodeScope(jjtn000, true); |
| 342 | jjtc000 = false; |
| 343 | jjtreeCloseNodeScope(jjtn000); |
| 344 | jjtn000.modifiers = mods; |
| 345 | jjtn000.name = name.image; |
| 346 | } catch (Throwable jjte000) { |
| 347 | if (jjtc000) { |
| 348 | jjtree.clearNodeScope(jjtn000); |
| 349 | jjtc000 = false; |
| 350 | } else { |
| 351 | jjtree.popNode(); |
| 352 | } |
| 353 | if (jjte000 instanceof RuntimeException) { |
no test coverage detected