public abstract class org.springframework.core.io.support.PropertiesLoaderUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.core.io.support.PropertiesLoaderUtils
  super_class: java.lang.Object
{
  private static final java.lang.String XML_FILE_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".xml"

  private static final boolean shouldIgnoreXml;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 57
            ldc "spring.xml.ignore"
            invokestatic org.springframework.core.SpringProperties.getFlag:(Ljava/lang/String;)Z
            putstatic org.springframework.core.io.support.PropertiesLoaderUtils.shouldIgnoreXml:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.io.support.PropertiesLoaderUtils this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.core.io.support.PropertiesLoaderUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/io/support/PropertiesLoaderUtils;

  public static java.util.Properties loadProperties(org.springframework.core.io.support.EncodedResource);
    descriptor: (Lorg/springframework/core/io/support/EncodedResource;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.core.io.support.EncodedResource resource
         0: .line 66
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* props */
        start local 1 // java.util.Properties props
         1: .line 67
            aload 1 /* props */
            aload 0 /* resource */
            invokestatic org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties:(Ljava/util/Properties;Lorg/springframework/core/io/support/EncodedResource;)V
         2: .line 68
            aload 1 /* props */
            areturn
        end local 1 // java.util.Properties props
        end local 0 // org.springframework.core.io.support.EncodedResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  resource  Lorg/springframework/core/io/support/EncodedResource;
            1    3     1     props  Ljava/util/Properties;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  

  public static void fillProperties(java.util.Properties, org.springframework.core.io.support.EncodedResource);
    descriptor: (Ljava/util/Properties;Lorg/springframework/core/io/support/EncodedResource;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.Properties props
        start local 1 // org.springframework.core.io.support.EncodedResource resource
         0: .line 81
            aload 0 /* props */
            aload 1 /* resource */
            getstatic org.springframework.core.io.support.ResourcePropertiesPersister.INSTANCE:Lorg/springframework/core/io/support/ResourcePropertiesPersister;
            invokestatic org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties:(Ljava/util/Properties;Lorg/springframework/core/io/support/EncodedResource;Lorg/springframework/util/PropertiesPersister;)V
         1: .line 82
            return
        end local 1 // org.springframework.core.io.support.EncodedResource resource
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0     props  Ljava/util/Properties;
            0    2     1  resource  Lorg/springframework/core/io/support/EncodedResource;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      props     
      resource  

  static void fillProperties(java.util.Properties, org.springframework.core.io.support.EncodedResource, org.springframework.util.PropertiesPersister);
    descriptor: (Ljava/util/Properties;Lorg/springframework/core/io/support/EncodedResource;Lorg/springframework/util/PropertiesPersister;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.util.Properties props
        start local 1 // org.springframework.core.io.support.EncodedResource resource
        start local 2 // org.springframework.util.PropertiesPersister persister
         0: .line 94
            aconst_null
            astore 3 /* stream */
        start local 3 // java.io.InputStream stream
         1: .line 95
            aconst_null
            astore 4 /* reader */
        start local 4 // java.io.Reader reader
         2: .line 97
            aload 1 /* resource */
            invokevirtual org.springframework.core.io.support.EncodedResource.getResource:()Lorg/springframework/core/io/Resource;
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            astore 5 /* filename */
        start local 5 // java.lang.String filename
         3: .line 98
            aload 5 /* filename */
            ifnull 9
            aload 5 /* filename */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 9
         4: .line 99
            getstatic org.springframework.core.io.support.PropertiesLoaderUtils.shouldIgnoreXml:Z
            ifeq 6
         5: .line 100
            new java.lang.UnsupportedOperationException
            dup
            ldc "XML support disabled"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 102
      StackMap locals: java.io.InputStream java.io.Reader java.lang.String
      StackMap stack:
            aload 1 /* resource */
            invokevirtual org.springframework.core.io.support.EncodedResource.getInputStream:()Ljava/io/InputStream;
            astore 3 /* stream */
         7: .line 103
            aload 2 /* persister */
            aload 0 /* props */
            aload 3 /* stream */
            invokeinterface org.springframework.util.PropertiesPersister.loadFromXml:(Ljava/util/Properties;Ljava/io/InputStream;)V
         8: .line 104
            goto 22
         9: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            invokevirtual org.springframework.core.io.support.EncodedResource.requiresReader:()Z
            ifeq 13
        10: .line 106
            aload 1 /* resource */
            invokevirtual org.springframework.core.io.support.EncodedResource.getReader:()Ljava/io/Reader;
            astore 4 /* reader */
        11: .line 107
            aload 2 /* persister */
            aload 0 /* props */
            aload 4 /* reader */
            invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/Reader;)V
        12: .line 108
            goto 22
        13: .line 110
      StackMap locals:
      StackMap stack:
            aload 1 /* resource */
            invokevirtual org.springframework.core.io.support.EncodedResource.getInputStream:()Ljava/io/InputStream;
            astore 3 /* stream */
        14: .line 111
            aload 2 /* persister */
            aload 0 /* props */
            aload 3 /* stream */
            invokeinterface org.springframework.util.PropertiesPersister.load:(Ljava/util/Properties;Ljava/io/InputStream;)V
        end local 5 // java.lang.String filename
        15: .line 113
            goto 22
        16: .line 114
      StackMap locals: java.util.Properties org.springframework.core.io.support.EncodedResource org.springframework.util.PropertiesPersister java.io.InputStream java.io.Reader
      StackMap stack: java.lang.Throwable
            astore 6
        17: .line 115
            aload 3 /* stream */
            ifnull 19
        18: .line 116
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        19: .line 118
      StackMap locals: java.util.Properties org.springframework.core.io.support.EncodedResource org.springframework.util.PropertiesPersister java.io.InputStream java.io.Reader top java.lang.Throwable
      StackMap stack:
            aload 4 /* reader */
            ifnull 21
        20: .line 119
            aload 4 /* reader */
            invokevirtual java.io.Reader.close:()V
        21: .line 121
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        22: .line 115
      StackMap locals: java.util.Properties org.springframework.core.io.support.EncodedResource org.springframework.util.PropertiesPersister java.io.InputStream java.io.Reader
      StackMap stack:
            aload 3 /* stream */
            ifnull 24
        23: .line 116
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        24: .line 118
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            ifnull 26
        25: .line 119
            aload 4 /* reader */
            invokevirtual java.io.Reader.close:()V
        26: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.io.Reader reader
        end local 3 // java.io.InputStream stream
        end local 2 // org.springframework.util.PropertiesPersister persister
        end local 1 // org.springframework.core.io.support.EncodedResource resource
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0      props  Ljava/util/Properties;
            0   27     1   resource  Lorg/springframework/core/io/support/EncodedResource;
            0   27     2  persister  Lorg/springframework/util/PropertiesPersister;
            1   27     3     stream  Ljava/io/InputStream;
            2   27     4     reader  Ljava/io/Reader;
            3   15     5   filename  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2    16      16  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      props      
      resource   
      persister  

  public static java.util.Properties loadProperties(org.springframework.core.io.Resource);
    descriptor: (Lorg/springframework/core/io/Resource;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.core.io.Resource resource
         0: .line 132
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* props */
        start local 1 // java.util.Properties props
         1: .line 133
            aload 1 /* props */
            aload 0 /* resource */
            invokestatic org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties:(Ljava/util/Properties;Lorg/springframework/core/io/Resource;)V
         2: .line 134
            aload 1 /* props */
            areturn
        end local 1 // java.util.Properties props
        end local 0 // org.springframework.core.io.Resource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  resource  Lorg/springframework/core/io/Resource;
            1    3     1     props  Ljava/util/Properties;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      resource  

  public static void fillProperties(java.util.Properties, org.springframework.core.io.Resource);
    descriptor: (Ljava/util/Properties;Lorg/springframework/core/io/Resource;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.Properties props
        start local 1 // org.springframework.core.io.Resource resource
         0: .line 144
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         2: .line 145
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.getFilename:()Ljava/lang/String;
            astore 5 /* filename */
        start local 5 // java.lang.String filename
         3: .line 146
            aload 5 /* filename */
            ifnull 8
            aload 5 /* filename */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 8
         4: .line 147
            getstatic org.springframework.core.io.support.PropertiesLoaderUtils.shouldIgnoreXml:Z
            ifeq 6
         5: .line 148
            new java.lang.UnsupportedOperationException
            dup
            ldc "XML support disabled"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 150
      StackMap locals: java.util.Properties org.springframework.core.io.Resource java.lang.Throwable java.lang.Throwable java.io.InputStream java.lang.String
      StackMap stack:
            aload 0 /* props */
            aload 4 /* is */
            invokevirtual java.util.Properties.loadFromXML:(Ljava/io/InputStream;)V
         7: .line 151
            goto 9
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* props */
            aload 4 /* is */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        end local 5 // java.lang.String filename
         9: .line 155
      StackMap locals:
      StackMap stack:
            aload 4 /* is */
            ifnull 15
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 4 /* is */
            ifnull 11
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 2
            ifnonnull 13
            aload 3
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2
            aload 3
            if_acmpeq 14
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
        15: .line 156
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.springframework.core.io.Resource resource
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0     props  Ljava/util/Properties;
            0   16     1  resource  Lorg/springframework/core/io/Resource;
            2   11     4        is  Ljava/io/InputStream;
            3    9     5  filename  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     9      10  any
           1    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      props     
      resource  

  public static java.util.Properties loadAllProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String resourceName
         0: .line 168
            aload 0 /* resourceName */
            aconst_null
            invokestatic org.springframework.core.io.support.PropertiesLoaderUtils.loadAllProperties:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Properties;
            areturn
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  resourceName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      resourceName  

  public static java.util.Properties loadAllProperties(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.lang.String resourceName
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 183
            aload 0 /* resourceName */
            ldc "Resource name must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 184
            aload 1 /* classLoader */
            astore 2 /* classLoaderToUse */
        start local 2 // java.lang.ClassLoader classLoaderToUse
         2: .line 185
            aload 2 /* classLoaderToUse */
            ifnonnull 4
         3: .line 186
            invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* classLoaderToUse */
         4: .line 188
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 2 /* classLoaderToUse */
            ifnull 5
            aload 2 /* classLoaderToUse */
            aload 0 /* resourceName */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            goto 6
         5: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* resourceName */
            invokestatic java.lang.ClassLoader.getSystemResources:(Ljava/lang/String;)Ljava/util/Enumeration;
         6: .line 188
      StackMap locals:
      StackMap stack: java.util.Enumeration
            astore 3 /* urls */
        start local 3 // java.util.Enumeration urls
         7: .line 190
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 4 /* props */
        start local 4 // java.util.Properties props
         8: .line 191
            goto 26
         9: .line 192
      StackMap locals: java.util.Enumeration java.util.Properties
      StackMap stack:
            aload 3 /* urls */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 5 /* url */
        start local 5 // java.net.URL url
        10: .line 193
            aload 5 /* url */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 6 /* con */
        start local 6 // java.net.URLConnection con
        11: .line 194
            aload 6 /* con */
            invokestatic org.springframework.util.ResourceUtils.useCachesIfNecessary:(Ljava/net/URLConnection;)V
        12: .line 195
            aconst_null
            astore 7
            aconst_null
            astore 8
        13: aload 6 /* con */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 9 /* is */
        start local 9 // java.io.InputStream is
        14: .line 196
            aload 0 /* resourceName */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 19
        15: .line 197
            getstatic org.springframework.core.io.support.PropertiesLoaderUtils.shouldIgnoreXml:Z
            ifeq 17
        16: .line 198
            new java.lang.UnsupportedOperationException
            dup
            ldc "XML support disabled"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 200
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.ClassLoader java.util.Enumeration java.util.Properties java.net.URL java.net.URLConnection java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
            aload 4 /* props */
            aload 9 /* is */
            invokevirtual java.util.Properties.loadFromXML:(Ljava/io/InputStream;)V
        18: .line 201
            goto 20
        19: .line 203
      StackMap locals:
      StackMap stack:
            aload 4 /* props */
            aload 9 /* is */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        20: .line 205
      StackMap locals:
      StackMap stack:
            aload 9 /* is */
            ifnull 26
            aload 9 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 7
            aload 9 /* is */
            ifnull 22
            aload 9 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 9 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        22: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 8
            aload 7
            ifnonnull 24
            aload 8
            astore 7
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 7
            aload 8
            if_acmpeq 25
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 7
            athrow
        end local 6 // java.net.URLConnection con
        end local 5 // java.net.URL url
        26: .line 191
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.ClassLoader java.util.Enumeration java.util.Properties
      StackMap stack:
            aload 3 /* urls */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        27: .line 207
            aload 4 /* props */
            areturn
        end local 4 // java.util.Properties props
        end local 3 // java.util.Enumeration urls
        end local 2 // java.lang.ClassLoader classLoaderToUse
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String resourceName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0      resourceName  Ljava/lang/String;
            0   28     1       classLoader  Ljava/lang/ClassLoader;
            2   28     2  classLoaderToUse  Ljava/lang/ClassLoader;
            7   28     3              urls  Ljava/util/Enumeration<Ljava/net/URL;>;
            8   28     4             props  Ljava/util/Properties;
           10   26     5               url  Ljava/net/URL;
           11   26     6               con  Ljava/net/URLConnection;
           14   22     9                is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
          14    20      21  any
          13    23      23  any
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      resourceName  
      classLoader   
}
SourceFile: "PropertiesLoaderUtils.java"