class GeneratorAdapter extends LocalVariablesSorter {

  public void unbox(final Type type) {
    Type boxedType = NUMBER_TYPE;
    Method unboxMethod;
    switch (type.getSort()) {
      case Type.VOID:
        return;
      case Type.CHAR:
        boxedType = CHARACTER_TYPE;
        unboxMethod = CHAR_VALUE;
        break;
      case Type.BOOLEAN:
        boxedType = BOOLEAN_TYPE;
        unboxMethod = BOOLEAN_VALUE;
        break;
      case Type.DOUBLE:
        unboxMethod = DOUBLE_VALUE;
        break;
      case Type.FLOAT:
        unboxMethod = FLOAT_VALUE;
        break;
      case Type.LONG:
        unboxMethod = LONG_VALUE;
        break;
      case Type.INT:
      case Type.SHORT:
      case Type.BYTE:
        unboxMethod = INT_VALUE;
        break;
      default:
        unboxMethod = null;
        break;
    }
    if (unboxMethod == null) {
      checkCast(type);
    } else {
      checkCast(boxedType);
      invokeVirtual(boxedType, unboxMethod);
    }
  }

  public  GeneratorAdapter(
      final MethodVisitor methodVisitor,
      final int access,
      final String name,
      final String descriptor);
  protected  GeneratorAdapter(
      final int api,
      final MethodVisitor methodVisitor,
      final int access,
      final String name,
      final String descriptor);
  public  GeneratorAdapter(
      final int access, final Method method, final MethodVisitor methodVisitor);
  public  GeneratorAdapter(
      final int access,
      final Method method,
      final String signature,
      final Type[] exceptions,
      final ClassVisitor classVisitor);

}