public final class jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin implements jdk.tools.jlink.plugin.Plugin
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin
  super_class: java.lang.Object
{
  public static final java.lang.String NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strip-debug"

  private static final java.lang.String STRIP_NATIVE_DEBUG_PLUGIN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "strip-native-debug-symbols"

  private static final java.lang.String EXCLUDE_DEBUGINFO;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "exclude-debuginfo-files"

  private final jdk.tools.jlink.plugin.Plugin javaStripPlugin;
    descriptor: Ljdk/tools/jlink/plugin/Plugin;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory stripNativePluginFactory;
    descriptor: Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
         0: .line 52
            aload 0 /* this */
            new jdk.tools.jlink.internal.plugins.StripJavaDebugAttributesPlugin
            dup
            invokespecial jdk.tools.jlink.internal.plugins.StripJavaDebugAttributesPlugin.<init>:()V
         1: .line 53
            new jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$DefaultNativePluginFactory
            dup
            invokespecial jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$DefaultNativePluginFactory.<init>:()V
            invokespecial jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.<init>:(Ljdk/tools/jlink/plugin/Plugin;Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;)V
         2: .line 54
            return
        end local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin;

  public void <init>(jdk.tools.jlink.plugin.Plugin, jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory);
    descriptor: (Ljdk/tools/jlink/plugin/Plugin;Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
        start local 1 // jdk.tools.jlink.plugin.Plugin javaStripPlugin
        start local 2 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory nativeStripPluginFact
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aload 1 /* javaStripPlugin */
            putfield jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.javaStripPlugin:Ljdk/tools/jlink/plugin/Plugin;
         2: .line 59
            aload 0 /* this */
            aload 2 /* nativeStripPluginFact */
            putfield jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.stripNativePluginFactory:Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;
         3: .line 60
            return
        end local 2 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory nativeStripPluginFact
        end local 1 // jdk.tools.jlink.plugin.Plugin javaStripPlugin
        end local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    4     0                   this  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin;
            0    4     1        javaStripPlugin  Ljdk/tools/jlink/plugin/Plugin;
            0    4     2  nativeStripPluginFact  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;
    MethodParameters:
                       Name  Flags
      javaStripPlugin        
      nativeStripPluginFact  

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
         0: .line 64
            ldc "strip-debug"
            areturn
        end local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin;

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
         0: .line 69
            ldc "strip-debug"
            invokestatic jdk.tools.jlink.internal.plugins.PluginsResourceBundle.getDescription:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin;

  public jdk.tools.jlink.plugin.ResourcePool transform(jdk.tools.jlink.plugin.ResourcePool, jdk.tools.jlink.plugin.ResourcePoolBuilder);
    descriptor: (Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
        start local 1 // jdk.tools.jlink.plugin.ResourcePool in
        start local 2 // jdk.tools.jlink.plugin.ResourcePoolBuilder out
         0: .line 74
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.stripNativePluginFactory:Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin$NativePluginFactory;
            invokeinterface jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory.create:()Ljdk/tools/jlink/plugin/Plugin;
            astore 3 /* stripNativePlugin */
        start local 3 // jdk.tools.jlink.plugin.Plugin stripNativePlugin
         1: .line 75
            aload 3 /* stripNativePlugin */
            ifnull 13
         2: .line 77
            ldc "strip-native-debug-symbols"
            ldc "exclude-debuginfo-files"
         3: .line 76
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 4 /* stripNativeConfig */
        start local 4 // java.util.Map stripNativeConfig
         4: .line 78
            aload 3 /* stripNativePlugin */
            aload 4 /* stripNativeConfig */
            invokeinterface jdk.tools.jlink.plugin.Plugin.configure:(Ljava/util/Map;)V
         5: .line 80
            new jdk.tools.jlink.internal.ResourcePoolManager
            dup
            aload 1 /* in */
            invokeinterface jdk.tools.jlink.plugin.ResourcePool.byteOrder:()Ljava/nio/ByteOrder;
         6: .line 81
            aload 1 /* in */
            checkcast jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl
            invokevirtual jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl.getStringTable:()Ljdk/tools/jlink/internal/StringTable;
         7: .line 80
            invokespecial jdk.tools.jlink.internal.ResourcePoolManager.<init>:(Ljava/nio/ByteOrder;Ljdk/tools/jlink/internal/StringTable;)V
         8: .line 79
            astore 5 /* outRes */
        start local 5 // jdk.tools.jlink.internal.ResourcePoolManager outRes
         9: .line 82
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.javaStripPlugin:Ljdk/tools/jlink/plugin/Plugin;
            aload 1 /* in */
        10: .line 83
            aload 5 /* outRes */
            invokevirtual jdk.tools.jlink.internal.ResourcePoolManager.resourcePoolBuilder:()Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
        11: .line 82
            invokeinterface jdk.tools.jlink.plugin.Plugin.transform:(Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
            astore 6 /* strippedJava */
        start local 6 // jdk.tools.jlink.plugin.ResourcePool strippedJava
        12: .line 84
            aload 3 /* stripNativePlugin */
            aload 6 /* strippedJava */
            aload 2 /* out */
            invokeinterface jdk.tools.jlink.plugin.Plugin.transform:(Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
            areturn
        end local 6 // jdk.tools.jlink.plugin.ResourcePool strippedJava
        end local 5 // jdk.tools.jlink.internal.ResourcePoolManager outRes
        end local 4 // java.util.Map stripNativeConfig
        13: .line 86
      StackMap locals: jdk.tools.jlink.plugin.Plugin
      StackMap stack:
            aload 0 /* this */
            getfield jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin.javaStripPlugin:Ljdk/tools/jlink/plugin/Plugin;
            aload 1 /* in */
            aload 2 /* out */
            invokeinterface jdk.tools.jlink.plugin.Plugin.transform:(Ljdk/tools/jlink/plugin/ResourcePool;Ljdk/tools/jlink/plugin/ResourcePoolBuilder;)Ljdk/tools/jlink/plugin/ResourcePool;
            areturn
        end local 3 // jdk.tools.jlink.plugin.Plugin stripNativePlugin
        end local 2 // jdk.tools.jlink.plugin.ResourcePoolBuilder out
        end local 1 // jdk.tools.jlink.plugin.ResourcePool in
        end local 0 // jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Ljdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin;
            0   14     1                 in  Ljdk/tools/jlink/plugin/ResourcePool;
            0   14     2                out  Ljdk/tools/jlink/plugin/ResourcePoolBuilder;
            1   14     3  stripNativePlugin  Ljdk/tools/jlink/plugin/Plugin;
            4   13     4  stripNativeConfig  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            9   13     5             outRes  Ljdk/tools/jlink/internal/ResourcePoolManager;
           12   13     6       strippedJava  Ljdk/tools/jlink/plugin/ResourcePool;
    MethodParameters:
      Name  Flags
      in    
      out   
}
SourceFile: "DefaultStripDebugPlugin.java"
NestMembers:
  jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$DefaultNativePluginFactory  jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory
InnerClasses:
  public ResourcePoolImpl = jdk.tools.jlink.internal.ResourcePoolManager$ResourcePoolImpl of jdk.tools.jlink.internal.ResourcePoolManager
  private DefaultNativePluginFactory = jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$DefaultNativePluginFactory of jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin
  public abstract NativePluginFactory = jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin$NativePluginFactory of jdk.tools.jlink.internal.plugins.DefaultStripDebugPlugin