public abstract class org.eclipse.core.runtime.Plugin implements org.osgi.framework.BundleActivator
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.core.runtime.Plugin
  super_class: java.lang.Object
{
  public static final java.lang.String PLUGIN_PREFERENCE_SCOPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "instance"

  private org.osgi.framework.Bundle bundle;
    descriptor: Lorg/osgi/framework/Bundle;
    flags: (0x0002) ACC_PRIVATE

  private boolean debug;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.osgi.util.tracker.ServiceTracker<org.eclipse.osgi.service.debug.DebugOptions, org.eclipse.osgi.service.debug.DebugOptions> debugTracker;
    descriptor: Lorg/osgi/util/tracker/ServiceTracker;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/osgi/util/tracker/ServiceTracker<Lorg/eclipse/osgi/service/debug/DebugOptions;Lorg/eclipse/osgi/service/debug/DebugOptions;>;

  public static final java.lang.String PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "preferences"

  public static final java.lang.String PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "preferences.ini"

  private org.eclipse.core.runtime.Preferences preferences;
    descriptor: Lorg/eclipse/core/runtime/Preferences;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 193
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 135
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.core.runtime.Plugin.debug:Z
         2: .line 140
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
         3: .line 172
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
         4: .line 194
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/core/runtime/Plugin;

  public final java.net.URL find(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/net/URL;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 207
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            aload 1 /* path */
            aconst_null
            invokestatic org.eclipse.core.runtime.FileLocator.find:(Lorg/osgi/framework/Bundle;Lorg/eclipse/core/runtime/IPath;Ljava/util/Map;)Ljava/net/URL;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
            0    1     1  path  Lorg/eclipse/core/runtime/IPath;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      path  

  public final java.net.URL find(org.eclipse.core.runtime.IPath, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/util/Map;)Ljava/net/URL;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // java.util.Map override
         0: .line 226
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            aload 1 /* path */
            aload 2 /* override */
            invokestatic org.eclipse.core.runtime.FileLocator.find:(Lorg/osgi/framework/Bundle;Lorg/eclipse/core/runtime/IPath;Ljava/util/Map;)Ljava/net/URL;
            areturn
        end local 2 // java.util.Map override
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/core/runtime/Plugin;
            0    1     1      path  Lorg/eclipse/core/runtime/IPath;
            0    1     2  override  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lorg/eclipse/core/runtime/IPath;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/net/URL;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      path      
      override  

  public final org.eclipse.core.runtime.ILog getLog();
    descriptor: ()Lorg/eclipse/core/runtime/ILog;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 237
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.getDefault:()Lorg/eclipse/core/internal/runtime/InternalPlatform;
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            invokevirtual org.eclipse.core.internal.runtime.InternalPlatform.getLog:(Lorg/osgi/framework/Bundle;)Lorg/eclipse/core/runtime/ILog;
            areturn
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;

  public final org.eclipse.core.runtime.IPath getStateLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 259
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.getDefault:()Lorg/eclipse/core/internal/runtime/InternalPlatform;
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            iconst_1
            invokevirtual org.eclipse.core.internal.runtime.InternalPlatform.getStateLocation:(Lorg/osgi/framework/Bundle;Z)Lorg/eclipse/core/runtime/IPath;
            areturn
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
    Exceptions:
      throws java.lang.IllegalStateException

  public final org.eclipse.core.runtime.Preferences getPluginPreferences();
    descriptor: ()Lorg/eclipse/core/runtime/Preferences;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 304
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 1 /* bundleCopy */
        start local 1 // org.osgi.framework.Bundle bundleCopy
         1: .line 305
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
            ifnull 5
         2: .line 306
            getstatic org.eclipse.core.internal.runtime.InternalPlatform.DEBUG_PLUGIN_PREFERENCES:Z
            ifeq 4
         3: .line 307
            new java.lang.StringBuilder
            dup
            ldc "Plugin preferences already loaded for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* bundleCopy */
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.message:(Ljava/lang/String;)V
         4: .line 308
      StackMap locals: org.osgi.framework.Bundle
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
            areturn
         5: .line 311
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.core.internal.runtime.InternalPlatform.DEBUG_PLUGIN_PREFERENCES:Z
            ifeq 7
         6: .line 312
            new java.lang.StringBuilder
            dup
            ldc "Loading preferences for plugin: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* bundleCopy */
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.message:(Ljava/lang/String;)V
         7: .line 317
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.core.runtime.Preferences
            astore 2 /* preferencesCopy */
        start local 2 // org.eclipse.core.runtime.Preferences[] preferencesCopy
         8: .line 318
            aload 0 /* this */
            aload 2 /* preferencesCopy */
            aload 1 /* bundleCopy */
            invokedynamic run(Lorg/eclipse/core/runtime/Plugin;[Lorg/eclipse/core/runtime/Preferences;Lorg/osgi/framework/Bundle;)Ljava/lang/Runnable;
              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:
                  ()V
                  org/eclipse/core/runtime/Plugin.lambda$0([Lorg/eclipse/core/runtime/Preferences;Lorg/osgi/framework/Bundle;)V (7)
                  ()V
            astore 3 /* innerCall */
        start local 3 // java.lang.Runnable innerCall
         9: .line 321
            aload 3 /* innerCall */
            invokeinterface java.lang.Runnable.run:()V
        10: .line 322
            aload 0 /* this */
            aload 2 /* preferencesCopy */
            iconst_0
            aaload
            putfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
        11: .line 323
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
            areturn
        end local 3 // java.lang.Runnable innerCall
        end local 2 // org.eclipse.core.runtime.Preferences[] preferencesCopy
        end local 1 // org.osgi.framework.Bundle bundleCopy
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/eclipse/core/runtime/Plugin;
            1   12     1       bundleCopy  Lorg/osgi/framework/Bundle;
            8   12     2  preferencesCopy  [Lorg/eclipse/core/runtime/Preferences;
            9   12     3        innerCall  Ljava/lang/Runnable;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void savePluginPreferences();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 341
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.getDefault:()Lorg/eclipse/core/internal/runtime/InternalPlatform;
            invokevirtual org.eclipse.core.internal.runtime.InternalPlatform.getInstanceLocation:()Lorg/eclipse/osgi/service/datalocation/Location;
            astore 1 /* instance */
        start local 1 // org.eclipse.osgi.service.datalocation.Location instance
         1: .line 342
            aload 1 /* instance */
            ifnull 2
            aload 1 /* instance */
            invokeinterface org.eclipse.osgi.service.datalocation.Location.isSet:()Z
            ifne 3
         2: .line 345
      StackMap locals: org.eclipse.osgi.service.datalocation.Location
      StackMap stack:
            return
         3: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getPluginPreferences:()Lorg/eclipse/core/runtime/Preferences;
            pop
         4: .line 354
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.preferences:Lorg/eclipse/core/runtime/Preferences;
            astore 2 /* preferencesCopy */
        start local 2 // org.eclipse.core.runtime.Preferences preferencesCopy
         5: .line 355
            aload 2 /* preferencesCopy */
            invokedynamic run(Lorg/eclipse/core/runtime/Preferences;)Ljava/lang/Runnable;
              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:
                  ()V
                  org/eclipse/core/runtime/Plugin.lambda$1(Lorg/eclipse/core/runtime/Preferences;)V (6)
                  ()V
            astore 3 /* innerCall */
        start local 3 // java.lang.Runnable innerCall
         6: .line 364
            aload 3 /* innerCall */
            invokeinterface java.lang.Runnable.run:()V
         7: .line 365
            return
        end local 3 // java.lang.Runnable innerCall
        end local 2 // org.eclipse.core.runtime.Preferences preferencesCopy
        end local 1 // org.eclipse.osgi.service.datalocation.Location instance
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/eclipse/core/runtime/Plugin;
            1    8     1         instance  Lorg/eclipse/osgi/service/datalocation/Location;
            5    8     2  preferencesCopy  Lorg/eclipse/core/runtime/Preferences;
            6    8     3        innerCall  Ljava/lang/Runnable;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected void initializeDefaultPluginPreferences();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 411
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final void internalInitializeDefaultPluginPreferences();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 423
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.initializeDefaultPluginPreferences:()V
         1: .line 424
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/runtime/Plugin;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public boolean isDebugging();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 440
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 1 /* debugBundle */
        start local 1 // org.osgi.framework.Bundle debugBundle
         1: .line 441
            aload 1 /* debugBundle */
            ifnonnull 3
         2: .line 442
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debug:Z
            ireturn
         3: .line 443
      StackMap locals: org.osgi.framework.Bundle
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* debugBundle */
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/debug"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* key */
        start local 2 // java.lang.String key
         4: .line 445
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getDebugOptions:()Lorg/eclipse/osgi/service/debug/DebugOptions;
            astore 3 /* debugOptions */
        start local 3 // org.eclipse.osgi.service.debug.DebugOptions debugOptions
         5: .line 446
            aload 3 /* debugOptions */
            ifnonnull 7
         6: .line 447
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debug:Z
            ireturn
         7: .line 449
      StackMap locals: java.lang.String org.eclipse.osgi.service.debug.DebugOptions
      StackMap stack:
            aload 3 /* debugOptions */
            invokeinterface org.eclipse.osgi.service.debug.DebugOptions.isDebugEnabled:()Z
            ifeq 8
            invokestatic org.eclipse.core.internal.runtime.InternalPlatform.getDefault:()Lorg/eclipse/core/internal/runtime/InternalPlatform;
            aload 2 /* key */
            iconst_0
            invokevirtual org.eclipse.core.internal.runtime.InternalPlatform.getBooleanOption:(Ljava/lang/String;Z)Z
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 3 // org.eclipse.osgi.service.debug.DebugOptions debugOptions
        end local 2 // java.lang.String key
        end local 1 // org.osgi.framework.Bundle debugBundle
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/eclipse/core/runtime/Plugin;
            1   10     1   debugBundle  Lorg/osgi/framework/Bundle;
            4   10     2           key  Ljava/lang/String;
            5   10     3  debugOptions  Lorg/eclipse/osgi/service/debug/DebugOptions;

  public final java.io.InputStream openStream(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/io/InputStream;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.eclipse.core.runtime.IPath file
         0: .line 465
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            aload 1 /* file */
            iconst_0
            invokestatic org.eclipse.core.runtime.FileLocator.openStream:(Lorg/osgi/framework/Bundle;Lorg/eclipse/core/runtime/IPath;Z)Ljava/io/InputStream;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath file
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
            0    1     1  file  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      file  

  public final java.io.InputStream openStream(org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Z)Ljava/io/InputStream;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.eclipse.core.runtime.IPath file
        start local 2 // boolean substituteArgs
         0: .line 488
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            aload 1 /* file */
            iload 2 /* substituteArgs */
            invokestatic org.eclipse.core.runtime.FileLocator.openStream:(Lorg/osgi/framework/Bundle;Lorg/eclipse/core/runtime/IPath;Z)Ljava/io/InputStream;
            areturn
        end local 2 // boolean substituteArgs
        end local 1 // org.eclipse.core.runtime.IPath file
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/eclipse/core/runtime/Plugin;
            0    1     1            file  Lorg/eclipse/core/runtime/IPath;
            0    1     2  substituteArgs  Z
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                Name  Flags
      file            
      substituteArgs  

  public void setDebugging(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // boolean value
         0: .line 505
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 2 /* debugBundle */
        start local 2 // org.osgi.framework.Bundle debugBundle
         1: .line 506
            aload 2 /* debugBundle */
            ifnonnull 4
         2: .line 507
            aload 0 /* this */
            iload 1 /* value */
            putfield org.eclipse.core.runtime.Plugin.debug:Z
         3: .line 508
            return
         4: .line 510
      StackMap locals: org.osgi.framework.Bundle
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* debugBundle */
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/debug"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 511
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getDebugOptions:()Lorg/eclipse/osgi/service/debug/DebugOptions;
            astore 4 /* options */
        start local 4 // org.eclipse.osgi.service.debug.DebugOptions options
         6: .line 512
            aload 4 /* options */
            ifnonnull 8
         7: .line 513
            aload 0 /* this */
            iload 1 /* value */
            putfield org.eclipse.core.runtime.Plugin.debug:Z
            goto 13
         8: .line 515
      StackMap locals: java.lang.String org.eclipse.osgi.service.debug.DebugOptions
      StackMap stack:
            aload 4 /* options */
            invokeinterface org.eclipse.osgi.service.debug.DebugOptions.isDebugEnabled:()Z
            ifne 10
         9: .line 516
            aload 4 /* options */
            iconst_1
            invokeinterface org.eclipse.osgi.service.debug.DebugOptions.setDebugEnabled:(Z)V
        10: .line 517
      StackMap locals:
      StackMap stack:
            aload 4 /* options */
            aload 3 /* key */
            iload 1 /* value */
            ifeq 11
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            goto 12
      StackMap locals: org.eclipse.core.runtime.Plugin int org.osgi.framework.Bundle java.lang.String org.eclipse.osgi.service.debug.DebugOptions
      StackMap stack: org.eclipse.osgi.service.debug.DebugOptions java.lang.String
        11: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
      StackMap locals: org.eclipse.core.runtime.Plugin int org.osgi.framework.Bundle java.lang.String org.eclipse.osgi.service.debug.DebugOptions
      StackMap stack: org.eclipse.osgi.service.debug.DebugOptions java.lang.String java.lang.String
        12: invokeinterface org.eclipse.osgi.service.debug.DebugOptions.setOption:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 519
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.osgi.service.debug.DebugOptions options
        end local 3 // java.lang.String key
        end local 2 // org.osgi.framework.Bundle debugBundle
        end local 1 // boolean value
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/eclipse/core/runtime/Plugin;
            0   14     1        value  Z
            1   14     2  debugBundle  Lorg/osgi/framework/Bundle;
            5   14     3          key  Ljava/lang/String;
            6   14     4      options  Lorg/eclipse/osgi/service/debug/DebugOptions;
    MethodParameters:
       Name  Flags
      value  

  private org.eclipse.osgi.service.debug.DebugOptions getDebugOptions();
    descriptor: ()Lorg/eclipse/osgi/service/debug/DebugOptions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 528
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 1 /* debugBundle */
        start local 1 // org.osgi.framework.Bundle debugBundle
         1: .line 529
            aload 1 /* debugBundle */
            ifnonnull 3
         2: .line 530
            aconst_null
            areturn
         3: .line 531
      StackMap locals: org.osgi.framework.Bundle
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
            ifnonnull 9
         4: .line 532
            aload 1 /* debugBundle */
            invokeinterface org.osgi.framework.Bundle.getBundleContext:()Lorg/osgi/framework/BundleContext;
            astore 2 /* context */
        start local 2 // org.osgi.framework.BundleContext context
         5: .line 533
            aload 2 /* context */
            ifnonnull 7
         6: .line 534
            aconst_null
            areturn
         7: .line 535
      StackMap locals: org.osgi.framework.BundleContext
      StackMap stack:
            aload 0 /* this */
            new org.osgi.util.tracker.ServiceTracker
            dup
            aload 2 /* context */
            ldc Lorg/eclipse/osgi/service/debug/DebugOptions;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aconst_null
            invokespecial org.osgi.util.tracker.ServiceTracker.<init>:(Lorg/osgi/framework/BundleContext;Ljava/lang/String;Lorg/osgi/util/tracker/ServiceTrackerCustomizer;)V
            putfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
         8: .line 536
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
            invokevirtual org.osgi.util.tracker.ServiceTracker.open:()V
        end local 2 // org.osgi.framework.BundleContext context
         9: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
            invokevirtual org.osgi.util.tracker.ServiceTracker.getService:()Ljava/lang/Object;
            checkcast org.eclipse.osgi.service.debug.DebugOptions
            areturn
        end local 1 // org.osgi.framework.Bundle debugBundle
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/core/runtime/Plugin;
            1   10     1  debugBundle  Lorg/osgi/framework/Bundle;
            5    9     2      context  Lorg/osgi/framework/BundleContext;

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 563
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void startup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 587
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/runtime/Plugin;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 595
            aload 0 /* this */
            invokevirtual org.eclipse.core.runtime.Plugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 1 /* myBundle */
        start local 1 // org.osgi.framework.Bundle myBundle
         1: .line 596
            aload 1 /* myBundle */
            ifnonnull 3
         2: .line 597
            ldc ""
            areturn
         3: .line 598
      StackMap locals: org.osgi.framework.Bundle
      StackMap stack:
            aload 1 /* myBundle */
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         4: .line 599
            aload 2 /* name */
            ifnonnull 5
            aload 1 /* myBundle */
            invokeinterface org.osgi.framework.Bundle.getBundleId:()J
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            goto 6
      StackMap locals: java.lang.String
      StackMap stack:
         5: aload 2 /* name */
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 2 // java.lang.String name
        end local 1 // org.osgi.framework.Bundle myBundle
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/runtime/Plugin;
            1    7     1  myBundle  Lorg/osgi/framework/Bundle;
            4    7     2      name  Ljava/lang/String;

  public void start(org.osgi.framework.BundleContext);
    descriptor: (Lorg/osgi/framework/BundleContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.osgi.framework.BundleContext context
         0: .line 645
            aload 0 /* this */
            aload 1 /* context */
            invokeinterface org.osgi.framework.BundleContext.getBundle:()Lorg/osgi/framework/Bundle;
            putfield org.eclipse.core.runtime.Plugin.bundle:Lorg/osgi/framework/Bundle;
         1: .line 646
            return
        end local 1 // org.osgi.framework.BundleContext context
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/core/runtime/Plugin;
            0    2     1  context  Lorg/osgi/framework/BundleContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      context  

  public void stop(org.osgi.framework.BundleContext);
    descriptor: (Lorg/osgi/framework/BundleContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.runtime.Plugin this
        start local 1 // org.osgi.framework.BundleContext context
         0: .line 686
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
            ifnull 3
         1: .line 687
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
            invokevirtual org.osgi.util.tracker.ServiceTracker.close:()V
         2: .line 688
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.core.runtime.Plugin.debugTracker:Lorg/osgi/util/tracker/ServiceTracker;
         3: .line 691
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.osgi.framework.BundleContext context
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/core/runtime/Plugin;
            0    4     1  context  Lorg/osgi/framework/BundleContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
         Name  Flags
      context  

  public final org.osgi.framework.Bundle getBundle();
    descriptor: ()Lorg/osgi/framework/Bundle;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 700
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.bundle:Lorg/osgi/framework/Bundle;
            ifnull 2
         1: .line 701
            aload 0 /* this */
            getfield org.eclipse.core.runtime.Plugin.bundle:Lorg/osgi/framework/Bundle;
            areturn
         2: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* cl */
        start local 1 // java.lang.ClassLoader cl
         3: .line 703
            aload 1 /* cl */
            instanceof org.osgi.framework.BundleReference
            ifeq 5
         4: .line 704
            aload 1 /* cl */
            checkcast org.osgi.framework.BundleReference
            invokeinterface org.osgi.framework.BundleReference.getBundle:()Lorg/osgi/framework/Bundle;
            areturn
         5: .line 705
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.ClassLoader cl
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/core/runtime/Plugin;
            3    6     1    cl  Ljava/lang/ClassLoader;

  private void lambda$0(org.eclipse.core.runtime.Preferences[], org.osgi.framework.Bundle);
    descriptor: ([Lorg/eclipse/core/runtime/Preferences;Lorg/osgi/framework/Bundle;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.core.runtime.Plugin this
         0: .line 318
            aload 1
            iconst_0
            new org.eclipse.core.internal.preferences.legacy.PreferenceForwarder
            dup
         1: .line 319
            aload 0 /* this */
            aload 2
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            invokespecial org.eclipse.core.internal.preferences.legacy.PreferenceForwarder.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 318
            dup_x2
            aastore
         3: .line 319
            return
        end local 0 // org.eclipse.core.runtime.Plugin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/core/runtime/Plugin;

  private static void lambda$1(org.eclipse.core.runtime.Preferences);
    descriptor: (Lorg/eclipse/core/runtime/Preferences;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=1
         0: .line 357
            aload 0
            checkcast org.eclipse.core.internal.preferences.legacy.PreferenceForwarder
            invokevirtual org.eclipse.core.internal.preferences.legacy.PreferenceForwarder.flush:()V
         1: .line 358
            goto 7
      StackMap locals:
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         2: astore 1 /* e */
        start local 1 // org.osgi.service.prefs.BackingStoreException e
         3: .line 359
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.core.runtime"
            iconst_4
         4: .line 360
            getstatic org.eclipse.core.internal.runtime.Messages.preferences_saveProblems:Ljava/lang/String;
            aload 1 /* e */
         5: .line 359
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 2 /* status */
        start local 2 // org.eclipse.core.runtime.IStatus status
         6: .line 361
            aload 2 /* status */
            invokestatic org.eclipse.core.internal.runtime.RuntimeLog.log:(Lorg/eclipse/core/runtime/IStatus;)V
        end local 2 // org.eclipse.core.runtime.IStatus status
        end local 1 // org.osgi.service.prefs.BackingStoreException e
         7: .line 363
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            3    7     1       e  Lorg/osgi/service/prefs/BackingStoreException;
            6    7     2  status  Lorg/eclipse/core/runtime/IStatus;
      Exception table:
        from    to  target  type
           0     1       2  Class org.osgi.service.prefs.BackingStoreException
}
SourceFile: "Plugin.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles