class sun.reflect.UnsafeCharacterFieldAccessorImpl extends sun.reflect.UnsafeFieldAccessorImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.reflect.UnsafeCharacterFieldAccessorImpl
  super_class: sun.reflect.UnsafeFieldAccessorImpl
{
  void <init>(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.reflect.Field field
         0: .line 32
            aload 0 /* this */
            aload 1 /* field */
            invokespecial sun.reflect.UnsafeFieldAccessorImpl.<init>:(Ljava/lang/reflect/Field;)V
         1: .line 33
            return
        end local 1 // java.lang.reflect.Field field
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1  field  Ljava/lang/reflect/Field;
    MethodParameters:
       Name  Flags
      field  

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 36
            new java.lang.Character
            dup
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.getChar:(Ljava/lang/Object;)C
            invokespecial java.lang.Character.<init>:(C)V
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public boolean getBoolean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 40
            aload 0 /* this */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.newGetBooleanIllegalArgumentException:()Ljava/lang/IllegalArgumentException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public byte getByte(java.lang.Object);
    descriptor: (Ljava/lang/Object;)B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 44
            aload 0 /* this */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.newGetByteIllegalArgumentException:()Ljava/lang/IllegalArgumentException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public char getChar(java.lang.Object);
    descriptor: (Ljava/lang/Object;)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 48
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.ensureObj:(Ljava/lang/Object;)V
         1: .line 49
            getstatic sun.reflect.UnsafeCharacterFieldAccessorImpl.unsafe:Lsun/misc/Unsafe;
            aload 1 /* obj */
            aload 0 /* this */
            getfield sun.reflect.UnsafeCharacterFieldAccessorImpl.fieldOffset:I
            invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;I)C
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public short getShort(java.lang.Object);
    descriptor: (Ljava/lang/Object;)S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 53
            aload 0 /* this */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.newGetShortIllegalArgumentException:()Ljava/lang/IllegalArgumentException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public int getInt(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 57
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.getChar:(Ljava/lang/Object;)C
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public long getLong(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 61
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.getChar:(Ljava/lang/Object;)C
            i2l
            lreturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public float getFloat(java.lang.Object);
    descriptor: (Ljava/lang/Object;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 65
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.getChar:(Ljava/lang/Object;)C
            i2f
            freturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public double getDouble(java.lang.Object);
    descriptor: (Ljava/lang/Object;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
         0: .line 69
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.getChar:(Ljava/lang/Object;)C
            i2d
            dreturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      obj   

  public void set(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object value
         0: .line 75
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.ensureObj:(Ljava/lang/Object;)V
         1: .line 76
            aload 0 /* this */
            getfield sun.reflect.UnsafeCharacterFieldAccessorImpl.isFinal:Z
            ifeq 3
         2: .line 77
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwFinalFieldIllegalAccessException:(Ljava/lang/Object;)V
         3: .line 79
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ifnonnull 5
         4: .line 80
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(Ljava/lang/Object;)V
         5: .line 82
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Character
            ifeq 8
         6: .line 83
            getstatic sun.reflect.UnsafeCharacterFieldAccessorImpl.unsafe:Lsun/misc/Unsafe;
            aload 1 /* obj */
            aload 0 /* this */
            getfield sun.reflect.UnsafeCharacterFieldAccessorImpl.fieldOffset:I
            aload 2 /* value */
            checkcast java.lang.Character
            invokevirtual java.lang.Character.charValue:()C
            invokevirtual sun.misc.Unsafe.putChar:(Ljava/lang/Object;IC)V
         7: .line 84
            return
         8: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(Ljava/lang/Object;)V
         9: .line 87
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0   10     1    obj  Ljava/lang/Object;
            0   10     2  value  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
       Name  Flags
      obj    
      value  

  public void setBoolean(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // boolean z
         0: .line 92
            aload 0 /* this */
            iload 2 /* z */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(Z)V
         1: .line 93
            return
        end local 2 // boolean z
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     z  Z
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      z     

  public void setByte(java.lang.Object, byte);
    descriptor: (Ljava/lang/Object;B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // byte b
         0: .line 98
            aload 0 /* this */
            iload 2 /* b */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(B)V
         1: .line 99
            return
        end local 2 // byte b
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     b  B
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      b     

  public void setChar(java.lang.Object, char);
    descriptor: (Ljava/lang/Object;C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // char c
         0: .line 104
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.ensureObj:(Ljava/lang/Object;)V
         1: .line 105
            aload 0 /* this */
            getfield sun.reflect.UnsafeCharacterFieldAccessorImpl.isFinal:Z
            ifeq 3
         2: .line 106
            aload 0 /* this */
            iload 2 /* c */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwFinalFieldIllegalAccessException:(C)V
         3: .line 108
      StackMap locals:
      StackMap stack:
            getstatic sun.reflect.UnsafeCharacterFieldAccessorImpl.unsafe:Lsun/misc/Unsafe;
            aload 1 /* obj */
            aload 0 /* this */
            getfield sun.reflect.UnsafeCharacterFieldAccessorImpl.fieldOffset:I
            iload 2 /* c */
            invokevirtual sun.misc.Unsafe.putChar:(Ljava/lang/Object;IC)V
         4: .line 109
            return
        end local 2 // char c
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    5     1   obj  Ljava/lang/Object;
            0    5     2     c  C
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      c     

  public void setShort(java.lang.Object, short);
    descriptor: (Ljava/lang/Object;S)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // short s
         0: .line 114
            aload 0 /* this */
            iload 2 /* s */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(S)V
         1: .line 115
            return
        end local 2 // short s
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     s  S
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      s     

  public void setInt(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // int i
         0: .line 120
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(I)V
         1: .line 121
            return
        end local 2 // int i
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     i  I
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      i     

  public void setLong(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // long l
         0: .line 126
            aload 0 /* this */
            lload 2 /* l */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(J)V
         1: .line 127
            return
        end local 2 // long l
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     l  J
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      l     

  public void setFloat(java.lang.Object, float);
    descriptor: (Ljava/lang/Object;F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // float f
         0: .line 132
            aload 0 /* this */
            fload 2 /* f */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(F)V
         1: .line 133
            return
        end local 2 // float f
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     f  F
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      f     

  public void setDouble(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
        start local 1 // java.lang.Object obj
        start local 2 // double d
         0: .line 138
            aload 0 /* this */
            dload 2 /* d */
            invokevirtual sun.reflect.UnsafeCharacterFieldAccessorImpl.throwSetIllegalArgumentException:(D)V
         1: .line 139
            return
        end local 2 // double d
        end local 1 // java.lang.Object obj
        end local 0 // sun.reflect.UnsafeCharacterFieldAccessorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/reflect/UnsafeCharacterFieldAccessorImpl;
            0    2     1   obj  Ljava/lang/Object;
            0    2     2     d  D
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      obj   
      d     
}
SourceFile: "UnsafeCharacterFieldAccessorImpl.java"