class org.springframework.data.web.MapDataBinder$MapPropertyAccessor extends org.springframework.beans.AbstractPropertyAccessor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.data.web.MapDataBinder$MapPropertyAccessor
  super_class: org.springframework.beans.AbstractPropertyAccessor
{
  private static final org.springframework.expression.spel.standard.SpelExpressionParser PARSER;
    descriptor: Lorg/springframework/expression/spel/standard/SpelExpressionParser;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Class<?> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final java.util.Map<java.lang.String, java.lang.Object> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  private final org.springframework.core.convert.ConversionService conversionService;
    descriptor: Lorg/springframework/core/convert/ConversionService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeInvisibleAnnotations: 
      lombok.NonNull()
    RuntimeInvisibleTypeAnnotations: 
      FIELD
        lombok.NonNull()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 116
            new org.springframework.expression.spel.standard.SpelExpressionParser
            dup
         1: .line 117
            new org.springframework.expression.spel.SpelParserConfiguration
            dup
            iconst_0
            iconst_1
            invokespecial org.springframework.expression.spel.SpelParserConfiguration.<init>:(ZZ)V
         2: .line 116
            invokespecial org.springframework.expression.spel.standard.SpelExpressionParser.<init>:(Lorg/springframework/expression/spel/SpelParserConfiguration;)V
            putstatic org.springframework.data.web.MapDataBinder$MapPropertyAccessor.PARSER:Lorg/springframework/expression/spel/standard/SpelExpressionParser;
         3: .line 117
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
         0: .line 103
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe constructor MapDataBinder.MapPropertyAccessor(Class<capture#29-of ?>, Map<String,Object>, ConversionService) is undefined\n\tThe blank final field type may not have been initialized\n\tThe blank final field map may not have been initialized\n\tThe blank final field conversionService may not have been initialized\n\tThe method getTypeInformation() is undefined for the type PropertyPath\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;

  public boolean isReadableProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.String propertyName
         0: .line 129
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    1     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  public boolean isWritableProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.String propertyName
         0: .line 140
            aload 0 /* this */
            aload 1 /* propertyName */
            invokevirtual org.springframework.data.web.MapDataBinder$MapPropertyAccessor.getPropertyPath:(Ljava/lang/String;)Lorg/springframework/data/mapping/PropertyPath;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 141
      StackMap locals:
      StackMap stack: org.springframework.data.mapping.PropertyReferenceException
            pop
         4: .line 142
            iconst_0
            ireturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    5     1  propertyName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       3  Class org.springframework.data.mapping.PropertyReferenceException
    MethodParameters:
              Name  Flags
      propertyName  

  public org.springframework.core.convert.TypeDescriptor getPropertyTypeDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/core/convert/TypeDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.String propertyName
         0: .line 153
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    1     1  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.BeansException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      propertyName  

  public java.lang.Object getPropertyValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.String propertyName
         0: .line 163
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    1     1  propertyName  Ljava/lang/String;
    Exceptions:
      throws org.springframework.beans.BeansException
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      propertyName  

  public void setPropertyValue(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
         0: .line 179
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tThe method getTypeInformation() is undefined for the type PropertyPath\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
    Exceptions:
      throws org.springframework.beans.BeansException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      propertyName  
      value         

  private boolean conversionRequired(, java.lang.Class<?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.Object source
        start local 2 // java.lang.Class targetType
         0: .line 221
            aload 1 /* source */
            ifnull 1
            aload 2 /* targetType */
            aload 1 /* source */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 222
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.data.web.MapDataBinder$MapPropertyAccessor.conversionService:Lorg/springframework/core/convert/ConversionService;
            aload 1 /* source */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* targetType */
            invokeinterface org.springframework.core.convert.ConversionService.canConvert:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ireturn
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.Object source
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    3     1      source  Ljava/lang/Object;
            0    3     2  targetType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
            Name  Flags
      source      
      targetType  

  private org.springframework.data.mapping.PropertyPath getPropertyPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/springframework/data/mapping/PropertyPath;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
        start local 1 // java.lang.String propertyName
         0: .line 230
            aload 1 /* propertyName */
            ldc "\\[.*?\\]"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* plainPropertyPath */
        start local 2 // java.lang.String plainPropertyPath
         1: .line 231
            aload 2 /* plainPropertyPath */
            aload 0 /* this */
            getfield org.springframework.data.web.MapDataBinder$MapPropertyAccessor.type:Ljava/lang/Class;
            invokestatic org.springframework.data.mapping.PropertyPath.from:(Ljava/lang/String;Ljava/lang/Class;)Lorg/springframework/data/mapping/PropertyPath;
            areturn
        end local 2 // java.lang.String plainPropertyPath
        end local 1 // java.lang.String propertyName
        end local 0 // org.springframework.data.web.MapDataBinder$MapPropertyAccessor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/springframework/data/web/MapDataBinder$MapPropertyAccessor;
            0    2     1       propertyName  Ljava/lang/String;
            1    2     2  plainPropertyPath  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  
}
SourceFile: "MapDataBinder.java"
NestHost: org.springframework.data.web.MapDataBinder
InnerClasses:
  private MapPropertyAccessor = org.springframework.data.web.MapDataBinder$MapPropertyAccessor of org.springframework.data.web.MapDataBinder
  private final PropertyTraversingMapAccessor = org.springframework.data.web.MapDataBinder$MapPropertyAccessor$PropertyTraversingMapAccessor of org.springframework.data.web.MapDataBinder$MapPropertyAccessor