code: private void visitImplicitFirstFrame() {
          // There can be at most descriptor.length() + 1 locals
          int frameIndex = startFrame(0, descriptor.length() + 1, 0);
          if ((access & Opcodes.ACC_STATIC) == 0) {
              if ((access & ACC_CONSTRUCTOR) == 0) {
                  frame[frameIndex++] = Frame.OBJECT | cw.addType(cw.thisName);
              } else {
                  frame[frameIndex++] = Frame.UNINITIALIZED_THIS;
              }
          }
          int i = 1;
          loop: while (true) {
              int j = i;
              switch (descriptor.charAt(i++)) {
              case 'Z':
              case 'C':
              case 'B':
              case 'S':
              case 'I':
                  frame[frameIndex++] = Frame.INTEGER;
                  break;
              case 'F':
                  frame[frameIndex++] = Frame.FLOAT;
                  break;
              case 'J':
                  frame[frameIndex++] = Frame.LONG;
                  break;
              case 'D':
                  frame[frameIndex++] = Frame.DOUBLE;
                  break;
              case '[':
                  while (descriptor.charAt(i) == '[') {
                      ++i;
                  }
                  if (descriptor.charAt(i) == 'L') {
                      ++i;
                      while (descriptor.charAt(i) != ';') {
                          ++i;
                      }
                  }
                  frame[frameIndex++] = Frame.type(cw, descriptor.substring(j, ++i));
                  break;
              case 'L':
                  while (descriptor.charAt(i) != ';') {
                      ++i;
                  }
                  frame[frameIndex++] = Frame.OBJECT
                          | cw.addType(descriptor.substring(j + 1, i++));
                  break;
              default:
                  break loop;
              }
          }
          frame[1] = frameIndex - 3;
          endFrame();
      }
docs: Visit the implicit first frame of this method.