public class org.apache.tomcat.util.file.ConfigurationSource$Resource implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.file.ConfigurationSource$Resource
  super_class: java.lang.Object
{
  private final java.io.InputStream inputStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.net.URI uri;
    descriptor: Ljava/net/URI;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.InputStream, java.net.URI);
    descriptor: (Ljava/io/InputStream;Ljava/net/URI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
        start local 1 // java.io.InputStream inputStream
        start local 2 // java.net.URI uri
         0: .line 84
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            aload 0 /* this */
            aload 1 /* inputStream */
            putfield org.apache.tomcat.util.file.ConfigurationSource$Resource.inputStream:Ljava/io/InputStream;
         2: .line 86
            aload 0 /* this */
            aload 2 /* uri */
            putfield org.apache.tomcat.util.file.ConfigurationSource$Resource.uri:Ljava/net/URI;
         3: .line 87
            return
        end local 2 // java.net.URI uri
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
            0    4     1  inputStream  Ljava/io/InputStream;
            0    4     2          uri  Ljava/net/URI;
    MethodParameters:
             Name  Flags
      inputStream  
      uri          

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
         0: .line 89
            aload 0 /* this */
            getfield org.apache.tomcat.util.file.ConfigurationSource$Resource.inputStream:Ljava/io/InputStream;
            areturn
        end local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;

  public java.net.URI getURI();
    descriptor: ()Ljava/net/URI;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
         0: .line 92
            aload 0 /* this */
            getfield org.apache.tomcat.util.file.ConfigurationSource$Resource.uri:Ljava/net/URI;
            areturn
        end local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;

  public long getLastModified();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
         0: .line 96
            aconst_null
            astore 1 /* connection */
        start local 1 // java.net.URLConnection connection
         1: .line 98
            aload 0 /* this */
            getfield org.apache.tomcat.util.file.ConfigurationSource$Resource.uri:Ljava/net/URI;
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 1 /* connection */
         2: .line 99
            aload 1 /* connection */
            invokevirtual java.net.URLConnection.getLastModified:()J
            lstore 3
         3: .line 101
            aload 1 /* connection */
            ifnull 5
         4: .line 102
            aload 1 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         5: .line 99
      StackMap locals: org.apache.tomcat.util.file.ConfigurationSource$Resource java.net.URLConnection top long
      StackMap stack:
            lload 3
            lreturn
         6: .line 100
      StackMap locals: org.apache.tomcat.util.file.ConfigurationSource$Resource java.net.URLConnection
      StackMap stack: java.lang.Throwable
            astore 2
         7: .line 101
            aload 1 /* connection */
            ifnull 9
         8: .line 102
            aload 1 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         9: .line 104
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        end local 1 // java.net.URLConnection connection
        end local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
            1   10     1  connection  Ljava/net/URLConnection;
      Exception table:
        from    to  target  type
           1     3       6  any
    Exceptions:
      throws java.net.MalformedURLException, java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
         0: .line 108
            aload 0 /* this */
            getfield org.apache.tomcat.util.file.ConfigurationSource$Resource.inputStream:Ljava/io/InputStream;
            ifnull 2
         1: .line 109
            aload 0 /* this */
            getfield org.apache.tomcat.util.file.ConfigurationSource$Resource.inputStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         2: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.tomcat.util.file.ConfigurationSource$Resource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/tomcat/util/file/ConfigurationSource$Resource;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "ConfigurationSource.java"
NestHost: org.apache.tomcat.util.file.ConfigurationSource
InnerClasses:
  public Resource = org.apache.tomcat.util.file.ConfigurationSource$Resource of org.apache.tomcat.util.file.ConfigurationSource