public class ch.qos.logback.core.util.ContextUtil extends ch.qos.logback.core.spi.ContextAwareBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.core.util.ContextUtil
  super_class: ch.qos.logback.core.spi.ContextAwareBase
{
  public void <init>(ch.qos.logback.core.Context);
    descriptor: (Lch/qos/logback/core/Context;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.util.ContextUtil this
        start local 1 // ch.qos.logback.core.Context context
         0: .line 36
            aload 0 /* this */
            invokespecial ch.qos.logback.core.spi.ContextAwareBase.<init>:()V
         1: .line 37
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual ch.qos.logback.core.util.ContextUtil.setContext:(Lch/qos/logback/core/Context;)V
         2: .line 38
            return
        end local 1 // ch.qos.logback.core.Context context
        end local 0 // ch.qos.logback.core.util.ContextUtil this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lch/qos/logback/core/util/ContextUtil;
            0    3     1  context  Lch/qos/logback/core/Context;
    MethodParameters:
         Name  Flags
      context  

  public static java.lang.String getLocalHostName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 42
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            astore 0 /* localhost */
        start local 0 // java.net.InetAddress localhost
         1: .line 43
            aload 0 /* localhost */
            invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
         2: areturn
        end local 0 // java.net.InetAddress localhost
         3: .line 44
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            pop
         4: .line 45
            invokestatic ch.qos.logback.core.util.ContextUtil.getLocalAddressAsString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    3     0  localhost  Ljava/net/InetAddress;
      Exception table:
        from    to  target  type
           0     2       3  Class java.net.UnknownHostException
    Exceptions:
      throws java.net.UnknownHostException, java.net.SocketException

  private static java.lang.String getLocalAddressAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 50
            invokestatic java.net.NetworkInterface.getNetworkInterfaces:()Ljava/util/Enumeration;
            astore 0 /* interfaces */
        start local 0 // java.util.Enumeration interfaces
         1: .line 51
            goto 8
         2: .line 52
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 0 /* interfaces */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.NetworkInterface
            invokevirtual java.net.NetworkInterface.getInetAddresses:()Ljava/util/Enumeration;
            astore 1 /* addresses */
        start local 1 // java.util.Enumeration addresses
         3: .line 53
            goto 7
         4: .line 54
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 1 /* addresses */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 2 /* address */
        start local 2 // java.net.InetAddress address
         5: .line 55
            aload 2 /* address */
            invokestatic ch.qos.logback.core.util.ContextUtil.acceptableAddress:(Ljava/net/InetAddress;)Z
            ifeq 7
         6: .line 56
            aload 2 /* address */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            areturn
        end local 2 // java.net.InetAddress address
         7: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* addresses */
            ifnull 8
            aload 1 /* addresses */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 1 // java.util.Enumeration addresses
         8: .line 51
      StackMap locals:
      StackMap stack:
            aload 0 /* interfaces */
            ifnull 9
            aload 0 /* interfaces */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
         9: .line 60
      StackMap locals:
      StackMap stack:
            new java.net.UnknownHostException
            dup
            invokespecial java.net.UnknownHostException.<init>:()V
            athrow
        end local 0 // java.util.Enumeration interfaces
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   10     0  interfaces  Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;
            3    8     1   addresses  Ljava/util/Enumeration<Ljava/net/InetAddress;>;
            5    7     2     address  Ljava/net/InetAddress;
    Exceptions:
      throws java.net.UnknownHostException, java.net.SocketException

  private static boolean acceptableAddress(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 64
            aload 0 /* address */
            ifnull 1
            aload 0 /* address */
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifne 1
            aload 0 /* address */
            invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
            ifne 1
            aload 0 /* address */
            invokevirtual java.net.InetAddress.isLinkLocalAddress:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  address  Ljava/net/InetAddress;
    MethodParameters:
         Name  Flags
      address  

  public java.lang.String safelyGetLocalHostName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.util.ContextUtil this
         0: .line 72
            invokestatic ch.qos.logback.core.util.ContextUtil.getLocalHostName:()Ljava/lang/String;
            astore 1 /* localhostName */
        start local 1 // java.lang.String localhostName
         1: .line 73
            aload 1 /* localhostName */
         2: areturn
        end local 1 // java.lang.String localhostName
         3: .line 74
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            astore 1 /* e */
        start local 1 // java.net.UnknownHostException e
         4: .line 75
            aload 0 /* this */
            ldc "Failed to get local hostname"
            aload 1 /* e */
            invokevirtual ch.qos.logback.core.util.ContextUtil.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.net.UnknownHostException e
         5: goto 11
         6: .line 76
      StackMap locals:
      StackMap stack: java.net.SocketException
            astore 1 /* e */
        start local 1 // java.net.SocketException e
         7: .line 77
            aload 0 /* this */
            ldc "Failed to get local hostname"
            aload 1 /* e */
            invokevirtual ch.qos.logback.core.util.ContextUtil.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.net.SocketException e
         8: goto 11
         9: .line 78
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 1 /* e */
        start local 1 // java.lang.SecurityException e
        10: .line 79
            aload 0 /* this */
            ldc "Failed to get local hostname"
            aload 1 /* e */
            invokevirtual ch.qos.logback.core.util.ContextUtil.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.SecurityException e
        11: .line 81
      StackMap locals:
      StackMap stack:
            ldc "UNKNOWN_LOCALHOST"
            areturn
        end local 0 // ch.qos.logback.core.util.ContextUtil this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lch/qos/logback/core/util/ContextUtil;
            1    3     1  localhostName  Ljava/lang/String;
            4    5     1              e  Ljava/net/UnknownHostException;
            7    8     1              e  Ljava/net/SocketException;
           10   11     1              e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.net.UnknownHostException
           0     2       6  Class java.net.SocketException
           0     2       9  Class java.lang.SecurityException

  public void addProperties(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // ch.qos.logback.core.util.ContextUtil this
        start local 1 // java.util.Properties props
         0: .line 85
            aload 1 /* props */
            ifnonnull 2
         1: .line 86
            return
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* props */
            invokevirtual java.util.Properties.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: .line 90
            goto 6
         4: .line 91
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 92
            aload 0 /* this */
            getfield ch.qos.logback.core.util.ContextUtil.context:Lch/qos/logback/core/Context;
            aload 3 /* key */
            aload 1 /* props */
            aload 3 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface ch.qos.logback.core.Context.putProperty:(Ljava/lang/String;Ljava/lang/String;)V
        end local 3 // java.lang.String key
         6: .line 90
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 94
            return
        end local 2 // java.util.Iterator i
        end local 1 // java.util.Properties props
        end local 0 // ch.qos.logback.core.util.ContextUtil this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lch/qos/logback/core/util/ContextUtil;
            0    8     1  props  Ljava/util/Properties;
            3    8     2      i  Ljava/util/Iterator;
            5    6     3    key  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      props  

  public static java.util.Map<java.lang.String, java.lang.String> getFilenameCollisionMap(ch.qos.logback.core.Context);
    descriptor: (Lch/qos/logback/core/Context;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.Context context
         0: .line 97
            aload 0 /* context */
            ifnonnull 2
         1: .line 98
            aconst_null
            areturn
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc "FA_FILENAME_COLLISION_MAP"
            invokeinterface ch.qos.logback.core.Context.getObject:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 1 /* map */
        start local 1 // java.util.Map map
         3: .line 101
            aload 1 /* map */
            areturn
        end local 1 // java.util.Map map
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lch/qos/logback/core/Context;
            3    4     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lch/qos/logback/core/Context;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      context  

  public static java.util.Map<java.lang.String, ch.qos.logback.core.rolling.helper.FileNamePattern> getFilenamePatternCollisionMap(ch.qos.logback.core.Context);
    descriptor: (Lch/qos/logback/core/Context;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // ch.qos.logback.core.Context context
         0: .line 105
            aload 0 /* context */
            ifnonnull 2
         1: .line 106
            aconst_null
            areturn
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            ldc "RFA_FILENAME_PATTERN_COLLISION_MAP"
            invokeinterface ch.qos.logback.core.Context.getObject:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 1 /* map */
        start local 1 // java.util.Map map
         3: .line 109
            aload 1 /* map */
            areturn
        end local 1 // java.util.Map map
        end local 0 // ch.qos.logback.core.Context context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lch/qos/logback/core/Context;
            3    4     1      map  Ljava/util/Map<Ljava/lang/String;Lch/qos/logback/core/rolling/helper/FileNamePattern;>;
    Signature: (Lch/qos/logback/core/Context;)Ljava/util/Map<Ljava/lang/String;Lch/qos/logback/core/rolling/helper/FileNamePattern;>;
    MethodParameters:
         Name  Flags
      context  

  public void addGroovyPackages(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // ch.qos.logback.core.util.ContextUtil this
        start local 1 // java.util.List frameworkPackages
         0: .line 114
            aload 0 /* this */
            aload 1 /* frameworkPackages */
            ldc "org.codehaus.groovy.runtime"
            invokevirtual ch.qos.logback.core.util.ContextUtil.addFrameworkPackage:(Ljava/util/List;Ljava/lang/String;)V
         1: .line 115
            return
        end local 1 // java.util.List frameworkPackages
        end local 0 // ch.qos.logback.core.util.ContextUtil this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lch/qos/logback/core/util/ContextUtil;
            0    2     1  frameworkPackages  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
                   Name  Flags
      frameworkPackages  

  public void addFrameworkPackage(java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // ch.qos.logback.core.util.ContextUtil this
        start local 1 // java.util.List frameworkPackages
        start local 2 // java.lang.String packageName
         0: .line 118
            aload 1 /* frameworkPackages */
            aload 2 /* packageName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 119
            aload 1 /* frameworkPackages */
            aload 2 /* packageName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 121
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String packageName
        end local 1 // java.util.List frameworkPackages
        end local 0 // ch.qos.logback.core.util.ContextUtil this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lch/qos/logback/core/util/ContextUtil;
            0    3     1  frameworkPackages  Ljava/util/List<Ljava/lang/String;>;
            0    3     2        packageName  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
                   Name  Flags
      frameworkPackages  
      packageName        
}
SourceFile: "ContextUtil.java"