/* 763 */ ConstPool pool = this.methodInfo.getConstPool();
/* 764 */ CodeAttribute ca = this.methodInfo.getCodeAttribute();
/* 765 */ if (ca == null) {
/* 766 */ throw new CannotCompileException("no method body");
/* */ }
/* 768 */ CodeIterator iterator = ca.iterator();
/* 769 */ int retAddr = ca.getMaxLocals();
/* 770 */ Bytecode b = new Bytecode(pool, 0, retAddr + 1);
/* 771 */ b.setStackDepth(ca.getMaxStack() + 1);
/* 772 */ Javac jv = new Javac(b, cc);
/* */ try {
/* 774 */ int nvars = jv.recordParams(getParameterTypes(), Modifier.isStatic(getModifiers()));
/* */
/* 776 */ jv.recordParamNames(ca, nvars);
/* 777 */ CtClass rtype = getReturnType0();
/* 778 */ int varNo = jv.recordReturnType(rtype, true);
/* 779 */ jv.recordLocalVariables(ca, 0);
/* */
/* 782 */ int handlerLen = insertAfterHandler(asFinally, b, rtype, varNo, jv, src);
/* */
/* 785 */ insertAfterAdvice(b, jv, src, pool, rtype, varNo);
/* */
/* 787 */ ca.setMaxStack(b.getMaxStack());
/* 788 */ ca.setMaxLocals(b.getMaxLocals());
/* */
/* 790 */ int gapPos = iterator.append(b.get());
/* 791 */ iterator.append(b.getExceptionTable(), gapPos);
/* */
/* 793 */ if (asFinally) {
/* 794 */ ca.getExceptionTable().add(getStartPosOfBody(ca), gapPos, gapPos, 0);
/* */ }
/* 796 */ int gapLen = iterator.getCodeLength() - gapPos - handlerLen;
/* 797 */ int subr = iterator.getCodeLength() - gapLen;
/* */
/* 799 */ while (iterator.hasNext()) {
/* 800 */ int pos = iterator.next();
/* 801 */ if (pos >= subr) {
/* */ break;
/* */ }
/* 804 */ int c = iterator.byteAt(pos);
/* 805 */ if ((c == 176) || (c == 172) || (c == 174) || (c == 173) || (c == 175) || (c == 177))
/* */ {
/* 808 */ insertGoto(iterator, subr, pos);
/* 809 */ subr = iterator.getCodeLength() - gapLen;
/* */ }
/* */ }
/* */
/* 813 */ this.methodInfo.rebuildStackMapIf6(cc.getClassPool(), cc.getClassFile2());
/* */ }