final class org.springframework.boot.devtools.restart.ChangeableUrls implements java.lang.Iterable<java.net.URL>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.springframework.boot.devtools.restart.ChangeableUrls
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.List<java.net.URL> urls;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/net/URL;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc Lorg/springframework/boot/devtools/restart/ChangeableUrls;
            invokestatic org.springframework.boot.devtools.logger.DevToolsLogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.boot.devtools.restart.ChangeableUrls.logger:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.net.URL[]);
    descriptor: ([Ljava/net/URL;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
        start local 1 // java.net.URL[] urls
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            invokestatic org.springframework.boot.devtools.settings.DevToolsSettings.get:()Lorg/springframework/boot/devtools/settings/DevToolsSettings;
            astore 2 /* settings */
        start local 2 // org.springframework.boot.devtools.settings.DevToolsSettings settings
         2: .line 57
            new java.util.ArrayList
            dup
            aload 1 /* urls */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* reloadableUrls */
        start local 3 // java.util.List reloadableUrls
         3: .line 58
            aload 1 /* urls */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.springframework.boot.devtools.restart.ChangeableUrls java.net.URL[] org.springframework.boot.devtools.settings.DevToolsSettings java.util.List top int int java.net.URL[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* url */
        start local 4 // java.net.URL url
         5: .line 59
            aload 2 /* settings */
            aload 4 /* url */
            invokevirtual org.springframework.boot.devtools.settings.DevToolsSettings.isRestartInclude:(Ljava/net/URL;)Z
            ifne 6
            aload 0 /* this */
            aload 4 /* url */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual org.springframework.boot.devtools.restart.ChangeableUrls.isDirectoryUrl:(Ljava/lang/String;)Z
            ifeq 8
      StackMap locals: org.springframework.boot.devtools.restart.ChangeableUrls java.net.URL[] org.springframework.boot.devtools.settings.DevToolsSettings java.util.List java.net.URL int int java.net.URL[]
      StackMap stack:
         6: aload 2 /* settings */
            aload 4 /* url */
            invokevirtual org.springframework.boot.devtools.settings.DevToolsSettings.isRestartExclude:(Ljava/net/URL;)Z
            ifne 8
         7: .line 60
            aload 3 /* reloadableUrls */
            aload 4 /* url */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.net.URL url
         8: .line 58
      StackMap locals: org.springframework.boot.devtools.restart.ChangeableUrls java.net.URL[] org.springframework.boot.devtools.settings.DevToolsSettings java.util.List top int int java.net.URL[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 4
        10: .line 63
            getstatic org.springframework.boot.devtools.restart.ChangeableUrls.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 64
            getstatic org.springframework.boot.devtools.restart.ChangeableUrls.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Matching URLs for reloading : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* reloadableUrls */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        12: .line 66
      StackMap locals: org.springframework.boot.devtools.restart.ChangeableUrls java.net.URL[] org.springframework.boot.devtools.settings.DevToolsSettings java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 3 /* reloadableUrls */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
        13: .line 67
            return
        end local 3 // java.util.List reloadableUrls
        end local 2 // org.springframework.boot.devtools.settings.DevToolsSettings settings
        end local 1 // java.net.URL[] urls
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;
            0   14     1            urls  [Ljava/net/URL;
            2   14     2        settings  Lorg/springframework/boot/devtools/settings/DevToolsSettings;
            3   14     3  reloadableUrls  Ljava/util/List<Ljava/net/URL;>;
            5    8     4             url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      urls  

  private boolean isDirectoryUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
        start local 1 // java.lang.String urlString
         0: .line 70
            aload 1 /* urlString */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* urlString */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String urlString
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;
            0    2     1  urlString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      urlString  

  public java.util.Iterator<java.net.URL> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
         0: .line 75
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    Signature: ()Ljava/util/Iterator<Ljava/net/URL;>;

  int size();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
         0: .line 79
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;

  java.net.URL[] toArray();
    descriptor: ()[Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
         0: .line 83
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
            iconst_0
            anewarray java.net.URL
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.net.URL[]
            areturn
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;

  java.util.List<java.net.URL> toList();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
         0: .line 87
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    Signature: ()Ljava/util/List<Ljava/net/URL;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
         0: .line 92
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.ChangeableUrls.urls:Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.boot.devtools.restart.ChangeableUrls this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/devtools/restart/ChangeableUrls;

  static org.springframework.boot.devtools.restart.ChangeableUrls fromClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.ClassLoader classLoader
         0: .line 96
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* urls */
        start local 1 // java.util.List urls
         1: .line 97
            aload 0 /* classLoader */
            invokestatic org.springframework.boot.devtools.restart.ChangeableUrls.urlsFromClassLoader:(Ljava/lang/ClassLoader;)[Ljava/net/URL;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.ClassLoader java.util.List top int int java.net.URL[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* url */
        start local 2 // java.net.URL url
         3: .line 98
            aload 1 /* urls */
            aload 2 /* url */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 99
            aload 1 /* urls */
            aload 2 /* url */
            invokestatic org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromClassPathOfJarManifestIfPossible:(Ljava/net/URL;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 2 // java.net.URL url
         5: .line 97
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 101
            aload 1 /* urls */
            invokestatic org.springframework.boot.devtools.restart.ChangeableUrls.fromUrls:(Ljava/util/Collection;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
            areturn
        end local 1 // java.util.List urls
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  classLoader  Ljava/lang/ClassLoader;
            1    8     1         urls  Ljava/util/List<Ljava/net/URL;>;
            3    5     2          url  Ljava/net/URL;
    MethodParameters:
             Name  Flags
      classLoader  

  private static java.net.URL[] urlsFromClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)[Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader classLoader
         0: .line 105
            aload 0 /* classLoader */
            instanceof java.net.URLClassLoader
            ifeq 2
         1: .line 106
            aload 0 /* classLoader */
            checkcast java.net.URLClassLoader
            invokevirtual java.net.URLClassLoader.getURLs:()[Ljava/net/URL;
            areturn
         2: .line 108
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
            invokeinterface java.lang.management.RuntimeMXBean.getClassPath:()Ljava/lang/String;
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         3: .line 109
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/springframework/boot/devtools/restart/ChangeableUrls.toURL(Ljava/lang/String;)Ljava/net/URL; (6)
                  (Ljava/lang/String;)Ljava/net/URL;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  org/springframework/boot/devtools/restart/ChangeableUrls.lambda$1(I)[Ljava/net/URL; (6)
                  (I)[Ljava/net/URL;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.net.URL[]
         4: .line 108
            areturn
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
             Name  Flags
      classLoader  

  private static java.net.URL toURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String classPathEntry
         0: .line 114
            new java.io.File
            dup
            aload 0 /* classPathEntry */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.toURI:()Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
         1: areturn
         2: .line 116
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 1 /* ex */
        start local 1 // java.net.MalformedURLException ex
         3: .line 117
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "URL could not be created from '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* classPathEntry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.MalformedURLException ex
        end local 0 // java.lang.String classPathEntry
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  classPathEntry  Ljava/lang/String;
            3    4     1              ex  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.MalformedURLException
    MethodParameters:
                Name  Flags
      classPathEntry  

  private static java.util.List<java.net.URL> getUrlsFromClassPathOfJarManifestIfPossible(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.net.URL url
         0: .line 123
            new java.io.File
            dup
            aload 0 /* url */
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            invokespecial java.io.File.<init>:(Ljava/net/URI;)V
            astore 1 /* file */
        start local 1 // java.io.File file
         1: .line 124
            aload 1 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifeq 18
         2: .line 125
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: new java.util.jar.JarFile
            dup
            aload 1 /* file */
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
            astore 4 /* jarFile */
        start local 4 // java.util.jar.JarFile jarFile
         4: .line 127
            aload 0 /* url */
            aload 4 /* jarFile */
            invokestatic org.springframework.boot.devtools.restart.ChangeableUrls.getUrlsFromManifestClassPathAttribute:(Ljava/net/URL;Ljava/util/jar/JarFile;)Ljava/util/List;
         5: .line 133
            aload 4 /* jarFile */
            ifnull 6
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
         6: .line 127
      StackMap locals: java.net.URL java.io.File java.lang.Throwable java.lang.Throwable java.util.jar.JarFile
      StackMap stack: java.util.List
            areturn
         7: .line 129
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
         8: .line 130
            new java.lang.IllegalStateException
            dup
         9: .line 131
            new java.lang.StringBuilder
            dup
            ldc "Failed to read Class-Path attribute from manifest of jar "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* ex */
        10: .line 130
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException ex
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
        12: .line 133
            aload 4 /* jarFile */
            ifnull 13
            aload 4 /* jarFile */
            invokevirtual java.util.jar.JarFile.close:()V
        end local 4 // java.util.jar.JarFile jarFile
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        end local 1 // java.io.File file
        17: .line 136
      StackMap locals: java.net.URL
      StackMap stack: java.lang.Exception
            pop
        18: .line 139
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // java.net.URL url
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0      url  Ljava/net/URL;
            1   17     1     file  Ljava/io/File;
            4   13     4  jarFile  Ljava/util/jar/JarFile;
            8   11     5       ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       7  Class java.io.IOException
           4     5      11  any
           7    11      11  any
           3     6      14  any
           7    14      14  any
           0     6      17  Class java.lang.Exception
           7    17      17  Class java.lang.Exception
    Signature: (Ljava/net/URL;)Ljava/util/List<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      url   

  private static java.util.List<java.net.URL> getUrlsFromManifestClassPathAttribute(java.net.URL, java.util.jar.JarFile);
    descriptor: (Ljava/net/URL;Ljava/util/jar/JarFile;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.net.URL jarUrl
        start local 1 // java.util.jar.JarFile jarFile
         0: .line 143
            aload 1 /* jarFile */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 2 /* manifest */
        start local 2 // java.util.jar.Manifest manifest
         1: .line 144
            aload 2 /* manifest */
            ifnonnull 3
         2: .line 145
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 147
      StackMap locals: java.util.jar.Manifest
      StackMap stack:
            aload 2 /* manifest */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 3 /* classPath */
        start local 3 // java.lang.String classPath
         4: .line 148
            aload 3 /* classPath */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 6
         5: .line 149
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         6: .line 151
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* classPath */
            ldc " "
            invokestatic org.springframework.util.StringUtils.delimitedListToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* entries */
        start local 4 // java.lang.String[] entries
         7: .line 152
            new java.util.ArrayList
            dup
            aload 4 /* entries */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* urls */
        start local 5 // java.util.List urls
         8: .line 153
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* nonExistentEntries */
        start local 6 // java.util.List nonExistentEntries
         9: .line 154
            aload 4 /* entries */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: java.net.URL java.util.jar.JarFile java.util.jar.Manifest java.lang.String java.lang.String[] java.util.List java.util.List top int int java.lang.String[]
      StackMap stack:
        10: aload 10
            iload 8
            aaload
            astore 7 /* entry */
        start local 7 // java.lang.String entry
        11: .line 156
            new java.net.URL
            dup
            aload 0 /* jarUrl */
            aload 7 /* entry */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 11 /* referenced */
        start local 11 // java.net.URL referenced
        12: .line 157
            new java.io.File
            dup
            aload 11 /* referenced */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 15
        13: .line 158
            aload 5 /* urls */
            aload 11 /* referenced */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 159
            goto 23
        15: .line 161
      StackMap locals: java.net.URL java.util.jar.JarFile java.util.jar.Manifest java.lang.String java.lang.String[] java.util.List java.util.List java.lang.String int int java.lang.String[] java.net.URL
      StackMap stack:
            new java.net.URL
            dup
            aload 0 /* jarUrl */
            aload 7 /* entry */
            ldc "UTF-8"
            invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 11 /* referenced */
        16: .line 162
            new java.io.File
            dup
            aload 11 /* referenced */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.exists:()Z
            ifeq 19
        17: .line 163
            aload 5 /* urls */
            aload 11 /* referenced */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 164
            goto 23
        19: .line 166
      StackMap locals:
      StackMap stack:
            aload 6 /* nonExistentEntries */
            aload 11 /* referenced */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.net.URL referenced
        20: .line 169
            goto 23
        21: .line 170
      StackMap locals: java.net.URL java.util.jar.JarFile java.util.jar.Manifest java.lang.String java.lang.String[] java.util.List java.util.List java.lang.String int int java.lang.String[]
      StackMap stack: java.net.MalformedURLException
            astore 11 /* ex */
        start local 11 // java.net.MalformedURLException ex
        22: .line 171
            new java.lang.IllegalStateException
            dup
            ldc "Class-Path attribute contains malformed URL"
            aload 11 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.net.MalformedURLException ex
        end local 7 // java.lang.String entry
        23: .line 154
      StackMap locals: java.net.URL java.util.jar.JarFile java.util.jar.Manifest java.lang.String java.lang.String[] java.util.List java.util.List top int int java.lang.String[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 10
        25: .line 174
            aload 6 /* nonExistentEntries */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 27
        26: .line 175
            getstatic org.springframework.boot.devtools.restart.ChangeableUrls.logger:Lorg/apache/commons/logging/Log;
            aload 1 /* jarFile */
            aload 6 /* nonExistentEntries */
            invokedynamic get(Ljava/util/jar/JarFile;Ljava/util/List;)Ljava/util/function/Supplier;
              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;
                  org/springframework/boot/devtools/restart/ChangeableUrls.lambda$2(Ljava/util/jar/JarFile;Ljava/util/List;)Ljava/lang/CharSequence; (6)
                  ()Ljava/lang/CharSequence;
            invokestatic org.springframework.core.log.LogMessage.of:(Ljava/util/function/Supplier;)Lorg/springframework/core/log/LogMessage;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        27: .line 179
      StackMap locals: java.net.URL java.util.jar.JarFile java.util.jar.Manifest java.lang.String java.lang.String[] java.util.List java.util.List
      StackMap stack:
            aload 5 /* urls */
            areturn
        end local 6 // java.util.List nonExistentEntries
        end local 5 // java.util.List urls
        end local 4 // java.lang.String[] entries
        end local 3 // java.lang.String classPath
        end local 2 // java.util.jar.Manifest manifest
        end local 1 // java.util.jar.JarFile jarFile
        end local 0 // java.net.URL jarUrl
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0              jarUrl  Ljava/net/URL;
            0   28     1             jarFile  Ljava/util/jar/JarFile;
            1   28     2            manifest  Ljava/util/jar/Manifest;
            4   28     3           classPath  Ljava/lang/String;
            7   28     4             entries  [Ljava/lang/String;
            8   28     5                urls  Ljava/util/List<Ljava/net/URL;>;
            9   28     6  nonExistentEntries  Ljava/util/List<Ljava/net/URL;>;
           11   23     7               entry  Ljava/lang/String;
           12   20    11          referenced  Ljava/net/URL;
           22   23    11                  ex  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
          11    20      21  Class java.net.MalformedURLException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;Ljava/util/jar/JarFile;)Ljava/util/List<Ljava/net/URL;>;
    MethodParameters:
         Name  Flags
      jarUrl   
      jarFile  

  static org.springframework.boot.devtools.restart.ChangeableUrls fromUrls(java.util.Collection<java.net.URL>);
    descriptor: (Ljava/util/Collection;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection urls
         0: .line 183
            new java.util.ArrayList
            dup
            aload 0 /* urls */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            aload 0 /* urls */
            invokeinterface java.util.Collection.size:()I
            anewarray java.net.URL
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.net.URL[]
            invokestatic org.springframework.boot.devtools.restart.ChangeableUrls.fromUrls:([Ljava/net/URL;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
            areturn
        end local 0 // java.util.Collection urls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  urls  Ljava/util/Collection<Ljava/net/URL;>;
    Signature: (Ljava/util/Collection<Ljava/net/URL;>;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    MethodParameters:
      Name  Flags
      urls  

  static org.springframework.boot.devtools.restart.ChangeableUrls fromUrls(java.net.URL[]);
    descriptor: ([Ljava/net/URL;)Lorg/springframework/boot/devtools/restart/ChangeableUrls;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.URL[] urls
         0: .line 187
            new org.springframework.boot.devtools.restart.ChangeableUrls
            dup
            aload 0 /* urls */
            invokespecial org.springframework.boot.devtools.restart.ChangeableUrls.<init>:([Ljava/net/URL;)V
            areturn
        end local 0 // java.net.URL[] urls
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  urls  [Ljava/net/URL;
    MethodParameters:
      Name  Flags
      urls  

  private static java.net.URL[] lambda$1(int);
    descriptor: (I)[Ljava/net/URL;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.net.URL
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.CharSequence lambda$2(java.util.jar.JarFile, java.util.List);
    descriptor: (Ljava/util/jar/JarFile;Ljava/util/List;)Ljava/lang/CharSequence;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 175
            new java.lang.StringBuilder
            dup
            ldc "The Class-Path manifest attribute in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 176
            ldc " referenced one or more files that do not exist: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 177
            aload 1
            invokestatic org.springframework.util.StringUtils.collectionToCommaDelimitedString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 175
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 177
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Ljava/net/URL;>;
SourceFile: "ChangeableUrls.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes