516 case 'B':
517 case 'S':
518 case 'I':
519 push(Opcodes.INTEGER);
520 return;
521 case 'F':
522 push(Opcodes.FLOAT);
523 return;
524 case 'J':
525 push(Opcodes.LONG);
526 push(Opcodes.TOP);
527 return;
528 case 'D':
529 push(Opcodes.DOUBLE);
530 push(Opcodes.TOP);
531 return;
532 case '[':
533 push(descriptor);
534 break;
535 case 'L':
536 push(descriptor.substring(1, descriptor.length() - 1));
537 break;
538 default:
539 throw new AssertionError();
540 }
541 }
542
543 private Object pop() {
544 return stack.remove(stack.size() - 1);
545 }
546
547 private void pop(final int numSlots) {
548 int size = stack.size();
549 int end = size - numSlots;
550 for (int i = size - 1; i >= end; --i) {
551 stack.remove(i);
552 }
553 }
554
555 private void pop(final String descriptor) {
|
516 case 'B':
517 case 'S':
518 case 'I':
519 push(Opcodes.INTEGER);
520 return;
521 case 'F':
522 push(Opcodes.FLOAT);
523 return;
524 case 'J':
525 push(Opcodes.LONG);
526 push(Opcodes.TOP);
527 return;
528 case 'D':
529 push(Opcodes.DOUBLE);
530 push(Opcodes.TOP);
531 return;
532 case '[':
533 push(descriptor);
534 break;
535 case 'L':
536 case 'Q':
537 push(descriptor.substring(1, descriptor.length() - 1));
538 break;
539 default:
540 throw new AssertionError();
541 }
542 }
543
544 private Object pop() {
545 return stack.remove(stack.size() - 1);
546 }
547
548 private void pop(final int numSlots) {
549 int size = stack.size();
550 int end = size - numSlots;
551 for (int i = size - 1; i >= end; --i) {
552 stack.remove(i);
553 }
554 }
555
556 private void pop(final String descriptor) {
|