public final class sun.misc.ObjectInputFilter$Config
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.misc.ObjectInputFilter$Config
  super_class: java.lang.Object
{
  private static final java.lang.Object serialFilterLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.logging.Logger configLog;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SERIAL_FILTER_PROPNAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk.serialFilter"

  private static final sun.misc.ObjectInputFilter configuredFilter;
    descriptor: Lsun/misc/ObjectInputFilter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static sun.misc.ObjectInputFilter serialFilter;
    descriptor: Lsun/misc/ObjectInputFilter;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 204
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic sun.misc.ObjectInputFilter$Config.serialFilterLock:Ljava/lang/Object;
         1: .line 241
            new sun.misc.ObjectInputFilter$Config$1
            dup
            invokespecial sun.misc.ObjectInputFilter$Config$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.misc.ObjectInputFilter
         2: .line 240
            putstatic sun.misc.ObjectInputFilter$Config.configuredFilter:Lsun/misc/ObjectInputFilter;
         3: .line 259
            getstatic sun.misc.ObjectInputFilter$Config.configuredFilter:Lsun/misc/ObjectInputFilter;
            ifnull 4
            ldc "java.io.serialization"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.util.logging.Logger
         5: putstatic sun.misc.ObjectInputFilter$Config.configLog:Ljava/util/logging/Logger;
         6: .line 265
            getstatic sun.misc.ObjectInputFilter$Config.configuredFilter:Lsun/misc/ObjectInputFilter;
            putstatic sun.misc.ObjectInputFilter$Config.serialFilter:Lsun/misc/ObjectInputFilter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.ObjectInputFilter$Config this
         0: .line 199
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.ObjectInputFilter$Config this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/ObjectInputFilter$Config;

  static void filterLog(java.util.logging.Level, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.logging.Level level
        start local 1 // java.lang.String msg
        start local 2 // java.lang.Object[] args
         0: .line 215
            getstatic sun.misc.ObjectInputFilter$Config.configLog:Ljava/util/logging/Logger;
            ifnull 8
         1: .line 216
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            aload 0 /* level */
            invokevirtual java.util.logging.Level.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 217
            getstatic sun.misc.ObjectInputFilter$Config.configLog:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.INFO:Ljava/util/logging/Level;
            aload 1 /* msg */
            aload 2 /* args */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 218
            goto 8
      StackMap locals:
      StackMap stack:
         4: getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 0 /* level */
            invokevirtual java.util.logging.Level.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 219
            getstatic sun.misc.ObjectInputFilter$Config.configLog:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 1 /* msg */
            aload 2 /* args */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 220
            goto 8
         7: .line 221
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.ObjectInputFilter$Config.configLog:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aload 1 /* msg */
            aload 2 /* args */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 224
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String msg
        end local 0 // java.util.logging.Level level
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  level  Ljava/util/logging/Level;
            0    9     1    msg  Ljava/lang/String;
            0    9     2   args  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      level  
      msg    
      args   

  public static sun.misc.ObjectInputFilter getObjectInputFilter(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)Lsun/misc/ObjectInputFilter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream inputStream
         0: .line 274
            aload 0 /* inputStream */
            ldc "inputStream"
            invokestatic sun.misc.ObjectInputFilter$Config.objectsRequireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 275
            invokestatic sun.misc.SharedSecrets.getJavaOISAccess:()Lsun/misc/JavaOISAccess;
            aload 0 /* inputStream */
            invokeinterface sun.misc.JavaOISAccess.getObjectInputFilter:(Ljava/io/ObjectInputStream;)Lsun/misc/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream inputStream
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  inputStream  Ljava/io/ObjectInputStream;
    MethodParameters:
             Name  Flags
      inputStream  

  private static <T> T objectsRequireNonNull(T, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // java.lang.String message
         0: .line 279
            aload 0 /* obj */
            ifnonnull 2
         1: .line 280
            new java.lang.NullPointerException
            dup
            aload 1 /* message */
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            areturn
        end local 1 // java.lang.String message
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0      obj  TT;
            0    3     1  message  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/lang/String;)TT;
    MethodParameters:
         Name  Flags
      obj      
      message  

  public static void setObjectInputFilter(java.io.ObjectInputStream, sun.misc.ObjectInputFilter);
    descriptor: (Ljava/io/ObjectInputStream;Lsun/misc/ObjectInputFilter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream inputStream
        start local 1 // sun.misc.ObjectInputFilter filter
         0: .line 295
            aload 0 /* inputStream */
            ldc "inputStream"
            invokestatic sun.misc.ObjectInputFilter$Config.objectsRequireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 296
            invokestatic sun.misc.SharedSecrets.getJavaOISAccess:()Lsun/misc/JavaOISAccess;
            aload 0 /* inputStream */
            aload 1 /* filter */
            invokeinterface sun.misc.JavaOISAccess.setObjectInputFilter:(Ljava/io/ObjectInputStream;Lsun/misc/ObjectInputFilter;)V
         2: .line 297
            return
        end local 1 // sun.misc.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream inputStream
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  inputStream  Ljava/io/ObjectInputStream;
            0    3     1       filter  Lsun/misc/ObjectInputFilter;
    MethodParameters:
             Name  Flags
      inputStream  
      filter       

  public static sun.misc.ObjectInputFilter getSerialFilter();
    descriptor: ()Lsun/misc/ObjectInputFilter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 305
            getstatic sun.misc.ObjectInputFilter$Config.serialFilterLock:Ljava/lang/Object;
            dup
            astore 0
            monitorenter
         1: .line 306
            getstatic sun.misc.ObjectInputFilter$Config.serialFilter:Lsun/misc/ObjectInputFilter;
            aload 0
            monitorexit
         2: areturn
         3: .line 305
      StackMap locals: java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 0
            monitorexit
         4: athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public static void setSerialFilter(sun.misc.ObjectInputFilter);
    descriptor: (Lsun/misc/ObjectInputFilter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.misc.ObjectInputFilter filter
         0: .line 319
            aload 0 /* filter */
            ldc "filter"
            invokestatic sun.misc.ObjectInputFilter$Config.objectsRequireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 320
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         2: .line 321
            aload 1 /* sm */
            ifnull 4
         3: .line 322
            aload 1 /* sm */
            new java.io.SerializablePermission
            dup
            ldc "serialFilter"
            invokespecial java.io.SerializablePermission.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         4: .line 324
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic sun.misc.ObjectInputFilter$Config.serialFilterLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         5: .line 325
            getstatic sun.misc.ObjectInputFilter$Config.serialFilter:Lsun/misc/ObjectInputFilter;
            ifnull 7
         6: .line 326
            new java.lang.IllegalStateException
            dup
            ldc "Serial filter can only be set once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 328
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* filter */
            putstatic sun.misc.ObjectInputFilter$Config.serialFilter:Lsun/misc/ObjectInputFilter;
         8: .line 324
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 330
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.misc.ObjectInputFilter filter
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0  filter  Lsun/misc/ObjectInputFilter;
            2   13     1      sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           5     9      10  any
          10    11      10  any
    MethodParameters:
        Name  Flags
      filter  

  public static sun.misc.ObjectInputFilter createFilter(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/misc/ObjectInputFilter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pattern
         0: .line 381
            aload 0 /* pattern */
            ldc "pattern"
            invokestatic sun.misc.ObjectInputFilter$Config.objectsRequireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 382
            aload 0 /* pattern */
            invokestatic sun.misc.ObjectInputFilter$Config$Global.createFilter:(Ljava/lang/String;)Lsun/misc/ObjectInputFilter;
            areturn
        end local 0 // java.lang.String pattern
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  pattern  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      pattern  
}
SourceFile: "ObjectInputFilter.java"
NestHost: sun.misc.ObjectInputFilter
InnerClasses:
  public final Config = sun.misc.ObjectInputFilter$Config of sun.misc.ObjectInputFilter
  sun.misc.ObjectInputFilter$Config$1
  final Global = sun.misc.ObjectInputFilter$Config$Global of sun.misc.ObjectInputFilter$Config
  abstract GlobalFilter = sun.misc.ObjectInputFilter$Config$GlobalFilter of sun.misc.ObjectInputFilter$Config