code: void initInputFrame(
          final ClassWriter cw,
          final int access,
          final Type[] args,
          final int maxLocals)
      {
          inputLocals = new int[maxLocals];
          inputStack = new int[0];
          int i = 0;
          if ((access & Opcodes.ACC_STATIC) == 0) {
              if ((access & MethodWriter.ACC_CONSTRUCTOR) == 0) {
                  inputLocals[i++] = OBJECT | cw.addType(cw.thisName);
              } else {
                  inputLocals[i++] = UNINITIALIZED_THIS;
              }
          }
          for (int j = 0; j < args.length; ++j) {
              int t = type(cw, args[j].getDescriptor());
              inputLocals[i++] = t;
              if (t == LONG || t == DOUBLE) {
                  inputLocals[i++] = TOP;
              }
          }
          while (i < maxLocals) {
              inputLocals[i++] = TOP;
          }
      }
docs: Initializes the input frame of the first basic block from the method
  descriptor.
  
  @param cw the ClassWriter to which this label belongs.
  @param access the access flags of the method to which this label belongs.
  @param args the formal parameter types of this method.
  @param maxLocals the maximum number of local variables of this method.