public class io.vertx.config.spi.utils.JsonObjectHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.config.spi.utils.JsonObjectHelper
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.config.spi.utils.JsonObjectHelper this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.config.spi.utils.JsonObjectHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/config/spi/utils/JsonObjectHelper;

  public static io.vertx.core.buffer.Buffer toBuffer(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/core/buffer/Buffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.json.JsonObject json
         0: .line 41
            aload 0 /* json */
            invokevirtual io.vertx.core.json.JsonObject.toBuffer:()Lio/vertx/core/buffer/Buffer;
            areturn
        end local 0 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  json  Lio/vertx/core/json/JsonObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      json  

  public static void put(io.vertx.core.json.JsonObject, java.lang.String, java.lang.String, boolean);
    descriptor: (Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.core.json.JsonObject json
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
        start local 3 // boolean rawData
         0: .line 45
            aload 0 /* json */
            aload 1 /* name */
            iload 3 /* rawData */
            ifeq 1
            aload 2 /* value */
            goto 2
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String int
      StackMap stack: io.vertx.core.json.JsonObject java.lang.String
         1: aload 2 /* value */
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.convert:(Ljava/lang/String;)Ljava/lang/Object;
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String int
      StackMap stack: io.vertx.core.json.JsonObject java.lang.String java.lang.Object
         2: invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 46
            return
        end local 3 // boolean rawData
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     json  Lio/vertx/core/json/JsonObject;
            0    4     1     name  Ljava/lang/String;
            0    4     2    value  Ljava/lang/String;
            0    4     3  rawData  Z
    MethodParameters:
         Name  Flags
      json     
      name     
      value    
      rawData  

  public static java.lang.Object convert(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=5, args_size=1
        start local 0 // java.lang.String value
         0: .line 49
            aload 0 /* value */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 51
            aload 0 /* value */
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.asBoolean:(Ljava/lang/String;)Ljava/lang/Boolean;
            astore 1 /* bool */
        start local 1 // java.lang.Boolean bool
         2: .line 52
            aload 1 /* bool */
            ifnull 4
         3: .line 53
            aload 1 /* bool */
            areturn
         4: .line 56
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* value */
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.asNumber:(Ljava/lang/String;)Ljava/lang/Double;
            astore 2 /* integer */
        start local 2 // java.lang.Double integer
         5: .line 57
            aload 2 /* integer */
            ifnull 7
         6: .line 58
            aload 2 /* integer */
            areturn
         7: .line 61
      StackMap locals: java.lang.Double
      StackMap stack:
            aload 0 /* value */
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.asJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            astore 3 /* obj */
        start local 3 // io.vertx.core.json.JsonObject obj
         8: .line 62
            aload 3 /* obj */
            ifnull 10
         9: .line 63
            aload 3 /* obj */
            areturn
        10: .line 66
      StackMap locals: io.vertx.core.json.JsonObject
      StackMap stack:
            aload 0 /* value */
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.asJsonArray:(Ljava/lang/String;)Lio/vertx/core/json/JsonArray;
            astore 4 /* arr */
        start local 4 // io.vertx.core.json.JsonArray arr
        11: .line 67
            aload 4 /* arr */
            ifnull 13
        12: .line 68
            aload 4 /* arr */
            areturn
        13: .line 71
      StackMap locals: io.vertx.core.json.JsonArray
      StackMap stack:
            aload 0 /* value */
            areturn
        end local 4 // io.vertx.core.json.JsonArray arr
        end local 3 // io.vertx.core.json.JsonObject obj
        end local 2 // java.lang.Double integer
        end local 1 // java.lang.Boolean bool
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0    value  Ljava/lang/String;
            2   14     1     bool  Ljava/lang/Boolean;
            5   14     2  integer  Ljava/lang/Double;
            8   14     3      obj  Lio/vertx/core/json/JsonObject;
           11   14     4      arr  Lio/vertx/core/json/JsonArray;
    MethodParameters:
       Name  Flags
      value  

  private static java.lang.Double asNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Double;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 76
            aload 0 /* s */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
         1: areturn
         2: .line 77
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         3: .line 78
            aconst_null
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.Boolean asBoolean(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 83
            aload 0 /* s */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 84
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            areturn
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            ldc "false"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 86
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            areturn
         4: .line 88
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static io.vertx.core.json.JsonObject asJsonObject(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 93
            aload 0 /* s */
            ldc "{"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
            aload 0 /* s */
            ldc "}"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 95
            new io.vertx.core.json.JsonObject
            dup
            aload 0 /* s */
            invokespecial io.vertx.core.json.JsonObject.<init>:(Ljava/lang/String;)V
         2: areturn
         3: .line 96
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 97
            aconst_null
            areturn
         5: .line 100
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     

  private static io.vertx.core.json.JsonArray asJsonArray(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/json/JsonArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 104
            aload 0 /* s */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
            aload 0 /* s */
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         1: .line 106
            new io.vertx.core.json.JsonArray
            dup
            aload 0 /* s */
            invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/lang/String;)V
         2: areturn
         3: .line 107
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 108
            aconst_null
            areturn
         5: .line 111
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     

  public static io.vertx.core.json.JsonObject from(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Lio/vertx/core/json/JsonObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Properties props
         0: .line 115
            aload 0 /* props */
            iconst_0
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.from:(Ljava/util/Properties;Z)Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  props  Ljava/util/Properties;
    MethodParameters:
       Name  Flags
      props  

  public static io.vertx.core.json.JsonObject from(java.util.Properties, boolean);
    descriptor: (Ljava/util/Properties;Z)Lio/vertx/core/json/JsonObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.Properties props
        start local 1 // boolean rawData
         0: .line 119
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 2 /* json */
        start local 2 // io.vertx.core.json.JsonObject json
         1: .line 120
            aload 0 /* props */
            invokevirtual java.util.Properties.stringPropertyNames:()Ljava/util/Set;
         2: .line 121
            aload 2 /* json */
            aload 0 /* props */
            iload 1 /* rawData */
            invokedynamic accept(Lio/vertx/core/json/JsonObject;Ljava/util/Properties;Z)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/config/spi/utils/JsonObjectHelper.lambda$0(Lio/vertx/core/json/JsonObject;Ljava/util/Properties;ZLjava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         3: .line 122
            aload 2 /* json */
            areturn
        end local 2 // io.vertx.core.json.JsonObject json
        end local 1 // boolean rawData
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    props  Ljava/util/Properties;
            0    4     1  rawData  Z
            1    4     2     json  Lio/vertx/core/json/JsonObject;
    MethodParameters:
         Name  Flags
      props    
      rawData  

  private static void lambda$0(io.vertx.core.json.JsonObject, java.util.Properties, boolean, java.lang.String);
    descriptor: (Lio/vertx/core/json/JsonObject;Ljava/util/Properties;ZLjava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 3 // java.lang.String name
         0: .line 121
            aload 0
            aload 3 /* name */
            aload 1
            aload 3 /* name */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            iload 2
            invokestatic io.vertx.config.spi.utils.JsonObjectHelper.put:(Lio/vertx/core/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Z)V
            return
        end local 3 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     3  name  Ljava/lang/String;
}
SourceFile: "JsonObjectHelper.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles