public class org.eclipse.jdt.internal.core.SetVariablesOperation extends org.eclipse.jdt.internal.core.ChangeClasspathOperation
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.SetVariablesOperation
  super_class: org.eclipse.jdt.internal.core.ChangeClasspathOperation
{
  java.lang.String[] variableNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  org.eclipse.core.runtime.IPath[] variablePaths;
    descriptor: [Lorg/eclipse/core/runtime/IPath;
    flags: (0x0000) 

  boolean updatePreferences;
    descriptor: Z
    flags: (0x0000) 

  public void <init>(java.lang.String[], org.eclipse.core.runtime.IPath[], boolean);
    descriptor: ([Ljava/lang/String;[Lorg/eclipse/core/runtime/IPath;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
        start local 1 // java.lang.String[] variableNames
        start local 2 // org.eclipse.core.runtime.IPath[] variablePaths
        start local 3 // boolean updatePreferences
         0: .line 40
            aload 0 /* this */
            iconst_1
            anewarray org.eclipse.jdt.core.IJavaElement
            dup
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            aastore
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.isTreeLocked:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: uninitialized-this java.lang.String[] org.eclipse.core.runtime.IPath[] int
      StackMap stack: uninitialized-this org.eclipse.jdt.core.IJavaElement[]
         1: iconst_1
      StackMap locals: uninitialized-this java.lang.String[] org.eclipse.core.runtime.IPath[] int
      StackMap stack: uninitialized-this org.eclipse.jdt.core.IJavaElement[] int
         2: invokespecial org.eclipse.jdt.internal.core.ChangeClasspathOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;Z)V
         3: .line 41
            aload 0 /* this */
            aload 1 /* variableNames */
            putfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
         4: .line 42
            aload 0 /* this */
            aload 2 /* variablePaths */
            putfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
         5: .line 43
            aload 0 /* this */
            iload 3 /* updatePreferences */
            putfield org.eclipse.jdt.internal.core.SetVariablesOperation.updatePreferences:Z
         6: .line 44
            return
        end local 3 // boolean updatePreferences
        end local 2 // org.eclipse.core.runtime.IPath[] variablePaths
        end local 1 // java.lang.String[] variableNames
        end local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
            0    7     1      variableNames  [Ljava/lang/String;
            0    7     2      variablePaths  [Lorg/eclipse/core/runtime/IPath;
            0    7     3  updatePreferences  Z
    MethodParameters:
                   Name  Flags
      variableNames      
      variablePaths      
      updatePreferences  

  protected void executeOperation();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=19, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
         0: .line 48
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.checkCanceled:()V
         1: .line 50
            aload 0 /* this */
            ldc ""
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.beginTask:(Ljava/lang/String;I)V
         2: .line 51
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifeq 4
         3: .line 52
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.verbose_set_variables:()V
         4: .line 54
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 1 /* manager */
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
         5: .line 55
            aload 1 /* manager */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variablePutIfInitializingWithSameValue:([Ljava/lang/String;[Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 8
         6: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
         7: .line 56
            return
         8: .line 58
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            arraylength
            istore 2 /* varLength */
        start local 2 // int varLength
         9: .line 61
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            astore 3 /* affectedProjectClasspaths */
        start local 3 // java.util.HashMap affectedProjectClasspaths
        10: .line 62
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.getJavaModel:()Lorg/eclipse/jdt/core/IJavaModel;
            astore 4 /* model */
        start local 4 // org.eclipse.jdt.core.IJavaModel model
        11: .line 65
            iconst_0
            istore 5 /* discardCount */
        start local 5 // int discardCount
        12: .line 66
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 22
        14: .line 67
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            astore 7 /* variableName */
        start local 7 // java.lang.String variableName
        15: .line 68
            aload 1 /* manager */
            aload 7 /* variableName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variableGet:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 8 /* oldPath */
        start local 8 // org.eclipse.core.runtime.IPath oldPath
        16: .line 69
            aload 8 /* oldPath */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/core/runtime/IPath;
            if_acmpne 18
        17: .line 70
            aconst_null
            astore 8 /* oldPath */
        18: .line 72
      StackMap locals: java.lang.String org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 8 /* oldPath */
            ifnull 21
            aload 8 /* oldPath */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 73
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 6 /* i */
            aconst_null
            aastore
        20: .line 74
            iinc 5 /* discardCount */ 1
        end local 8 // org.eclipse.core.runtime.IPath oldPath
        end local 7 // java.lang.String variableName
        21: .line 66
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 2 /* varLength */
            if_icmplt 14
        end local 6 // int i
        23: .line 77
            iload 5 /* discardCount */
            ifle 42
        24: .line 78
            iload 5 /* discardCount */
            iload 2 /* varLength */
            if_icmpne 27
        25: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
        26: .line 78
            return
        27: .line 79
      StackMap locals:
      StackMap stack:
            iload 2 /* varLength */
            iload 5 /* discardCount */
            isub
            istore 6 /* changedLength */
        start local 6 // int changedLength
        28: .line 80
            iload 6 /* changedLength */
            anewarray java.lang.String
            astore 7 /* changedVariableNames */
        start local 7 // java.lang.String[] changedVariableNames
        29: .line 81
            iload 6 /* changedLength */
            anewarray org.eclipse.core.runtime.IPath
            astore 8 /* changedVariablePaths */
        start local 8 // org.eclipse.core.runtime.IPath[] changedVariablePaths
        30: .line 82
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        31: iconst_0
            istore 10 /* index */
        start local 10 // int index
        32: goto 38
        33: .line 83
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int int java.lang.String[] org.eclipse.core.runtime.IPath[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            ifnull 37
        34: .line 84
            aload 7 /* changedVariableNames */
            iload 10 /* index */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            aastore
        35: .line 85
            aload 8 /* changedVariablePaths */
            iload 10 /* index */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            iload 9 /* i */
            aaload
            aastore
        36: .line 86
            iinc 10 /* index */ 1
        37: .line 82
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 9 /* i */
            iload 2 /* varLength */
            if_icmplt 33
        end local 10 // int index
        end local 9 // int i
        39: .line 89
            aload 0 /* this */
            aload 7 /* changedVariableNames */
            putfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
        40: .line 90
            aload 0 /* this */
            aload 8 /* changedVariablePaths */
            putfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
        41: .line 91
            iload 6 /* changedLength */
            istore 2 /* varLength */
        end local 8 // org.eclipse.core.runtime.IPath[] changedVariablePaths
        end local 7 // java.lang.String[] changedVariableNames
        end local 6 // int changedLength
        42: .line 94
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.isCanceled:()Z
            ifeq 45
        43: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
        44: .line 95
            return
        45: .line 97
      StackMap locals:
      StackMap stack:
            aload 4 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* projects */
        start local 6 // org.eclipse.jdt.core.IJavaProject[] projects
        46: .line 98
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        47: aload 6 /* projects */
            arraylength
            istore 8 /* projectLength */
        start local 8 // int projectLength
        48: goto 73
        49: .line 99
      StackMap locals: org.eclipse.jdt.core.IJavaProject[] int int
      StackMap stack:
            aload 6 /* projects */
            iload 7 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 9 /* project */
        start local 9 // org.eclipse.jdt.internal.core.JavaProject project
        50: .line 102
            aload 9 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* classpath */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        51: .line 103
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        52: aload 10 /* classpath */
            arraylength
            istore 12 /* cpLength */
        start local 12 // int cpLength
        53: goto 71
        54: .line 105
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int org.eclipse.jdt.core.IJavaProject[] int int org.eclipse.jdt.internal.core.JavaProject org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            aload 10 /* classpath */
            iload 11 /* j */
            aaload
            astore 13 /* entry */
        start local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        55: .line 106
            iconst_0
            istore 14 /* k */
        start local 14 // int k
        56: goto 69
        57: .line 108
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 14 /* k */
            aaload
            astore 15 /* variableName */
        start local 15 // java.lang.String variableName
        58: .line 109
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_4
            if_icmpne 68
        59: .line 111
            aload 15 /* variableName */
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 62
        60: .line 112
            aload 3 /* affectedProjectClasspaths */
            aload 9 /* project */
            aload 9 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        61: .line 113
            goto 72
        62: .line 116
      StackMap locals: java.lang.String
      StackMap stack:
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            dup
            astore 16 /* sourcePath */
        start local 16 // org.eclipse.core.runtime.IPath sourcePath
        63: ifnull 64
            aload 15 /* variableName */
            aload 16 /* sourcePath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 66
        64: .line 117
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            dup
            astore 17 /* sourceRootPath */
        start local 17 // org.eclipse.core.runtime.IPath sourceRootPath
        65: ifnull 68
            aload 15 /* variableName */
            aload 17 /* sourceRootPath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 68
        end local 17 // org.eclipse.core.runtime.IPath sourceRootPath
        66: .line 119
      StackMap locals:
      StackMap stack:
            aload 3 /* affectedProjectClasspaths */
            aload 9 /* project */
            aload 9 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        67: .line 120
            goto 72
        end local 16 // org.eclipse.core.runtime.IPath sourcePath
        end local 15 // java.lang.String variableName
        68: .line 106
      StackMap locals:
      StackMap stack:
            iinc 14 /* k */ 1
      StackMap locals:
      StackMap stack:
        69: iload 14 /* k */
            iload 2 /* varLength */
            if_icmplt 57
        end local 14 // int k
        end local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        70: .line 103
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        71: iload 11 /* j */
            iload 12 /* cpLength */
            if_icmplt 54
        end local 12 // int cpLength
        end local 11 // int j
        end local 10 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 9 // org.eclipse.jdt.internal.core.JavaProject project
        72: .line 98
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int org.eclipse.jdt.core.IJavaProject[] int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 7 /* i */
            iload 8 /* projectLength */
            if_icmplt 49
        end local 8 // int projectLength
        end local 7 // int i
        74: .line 128
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        75: goto 80
        76: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* manager */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            iload 7 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variablePut:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
        77: .line 130
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.updatePreferences:Z
            ifeq 79
        78: .line 131
            aload 1 /* manager */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            iload 7 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variablePreferencesPut:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
        79: .line 128
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 7 /* i */
            iload 2 /* varLength */
            if_icmplt 76
        end local 7 // int i
        81: .line 135
            aload 3 /* affectedProjectClasspaths */
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 107
        82: .line 136
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            astore 7 /* dbgVariableNames */
        start local 7 // java.lang.String[] dbgVariableNames
        83: .line 139
            aload 3 /* affectedProjectClasspaths */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* projectsToUpdate */
        start local 8 // java.util.Iterator projectsToUpdate
        84: .line 140
            goto 95
        85: .line 142
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int org.eclipse.jdt.core.IJavaProject[] java.lang.String[] java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.progressMonitor:Lorg/eclipse/core/runtime/SubMonitor;
            ifnull 88
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.progressMonitor:Lorg/eclipse/core/runtime/SubMonitor;
            invokevirtual org.eclipse.core.runtime.SubMonitor.isCanceled:()Z
            ifeq 88
        86: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
        87: .line 142
            return
        88: .line 144
      StackMap locals:
      StackMap stack:
            aload 8 /* projectsToUpdate */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 9 /* affectedProject */
        start local 9 // org.eclipse.jdt.internal.core.JavaProject affectedProject
        89: .line 147
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 91
        90: .line 148
            aload 0 /* this */
            aload 7 /* dbgVariableNames */
            aload 9 /* affectedProject */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.verbose_update_project:([Ljava/lang/String;Lorg/eclipse/jdt/internal/core/JavaProject;)V
        91: .line 149
      StackMap locals: org.eclipse.jdt.internal.core.JavaProject
      StackMap stack:
            aload 9 /* affectedProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo:()Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.resetResolvedClasspath:()Lorg/eclipse/jdt/internal/core/ClasspathChange;
            astore 10 /* classpathChange */
        start local 10 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
        92: .line 152
            aload 0 /* this */
            aload 10 /* classpathChange */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.classpathChanged:(Lorg/eclipse/jdt/internal/core/ClasspathChange;Z)V
        93: .line 154
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.canChangeResources:Z
            ifeq 95
        94: .line 156
            aload 9 /* affectedProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.progressMonitor:Lorg/eclipse/core/runtime/SubMonitor;
            invokeinterface org.eclipse.core.resources.IProject.touch:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        end local 10 // org.eclipse.jdt.internal.core.ClasspathChange classpathChange
        end local 9 // org.eclipse.jdt.internal.core.JavaProject affectedProject
        95: .line 140
      StackMap locals:
      StackMap stack:
            aload 8 /* projectsToUpdate */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 85
        end local 8 // java.util.Iterator projectsToUpdate
        96: .line 159
            goto 107
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap org.eclipse.jdt.core.IJavaModel int org.eclipse.jdt.core.IJavaProject[] java.lang.String[]
      StackMap stack: org.eclipse.core.runtime.CoreException
        97: astore 8 /* e */
        start local 8 // org.eclipse.core.runtime.CoreException e
        98: .line 160
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 99
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 101
        99: .line 161
      StackMap locals: org.eclipse.core.runtime.CoreException
      StackMap stack:
            aload 0 /* this */
            aload 7 /* dbgVariableNames */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.verbose_failure:([Ljava/lang/String;)V
       100: .line 162
            aload 8 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.printStackTrace:()V
       101: .line 164
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            instanceof org.eclipse.jdt.core.JavaModelException
            ifeq 103
       102: .line 165
            aload 8 /* e */
            checkcast org.eclipse.jdt.core.JavaModelException
            athrow
       103: .line 167
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 8 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 8 // org.eclipse.core.runtime.CoreException e
        end local 7 // java.lang.String[] dbgVariableNames
        end local 6 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 5 // int discardCount
        end local 4 // org.eclipse.jdt.core.IJavaModel model
        end local 3 // java.util.HashMap affectedProjectClasspaths
        end local 2 // int varLength
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager manager
       104: .line 171
      StackMap locals: org.eclipse.jdt.internal.core.SetVariablesOperation
      StackMap stack: java.lang.Throwable
            astore 18
       105: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
       106: .line 173
            aload 18
            athrow
       107: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.done:()V
       108: .line 174
            return
        end local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  109     0                       this  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
            5  104     1                    manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            9  104     2                  varLength  I
           10  104     3  affectedProjectClasspaths  Ljava/util/HashMap;
           11  104     4                      model  Lorg/eclipse/jdt/core/IJavaModel;
           12  104     5               discardCount  I
           13   23     6                          i  I
           15   21     7               variableName  Ljava/lang/String;
           16   21     8                    oldPath  Lorg/eclipse/core/runtime/IPath;
           28   42     6              changedLength  I
           29   42     7       changedVariableNames  [Ljava/lang/String;
           30   42     8       changedVariablePaths  [Lorg/eclipse/core/runtime/IPath;
           31   39     9                          i  I
           32   39    10                      index  I
           46  104     6                   projects  [Lorg/eclipse/jdt/core/IJavaProject;
           47   74     7                          i  I
           48   74     8              projectLength  I
           50   72     9                    project  Lorg/eclipse/jdt/internal/core/JavaProject;
           51   72    10                  classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           52   72    11                          j  I
           53   72    12                   cpLength  I
           55   70    13                      entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           56   70    14                          k  I
           58   68    15               variableName  Ljava/lang/String;
           63   68    16                 sourcePath  Lorg/eclipse/core/runtime/IPath;
           65   66    17             sourceRootPath  Lorg/eclipse/core/runtime/IPath;
           75   81     7                          i  I
           83  104     7           dbgVariableNames  [Ljava/lang/String;
           84   96     8           projectsToUpdate  Ljava/util/Iterator;
           89   95     9            affectedProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           92   95    10            classpathChange  Lorg/eclipse/jdt/internal/core/ClasspathChange;
           98  104     8                          e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          83    86      97  Class org.eclipse.core.runtime.CoreException
          88    96      97  Class org.eclipse.core.runtime.CoreException
           1     6     104  any
           8    25     104  any
          27    43     104  any
          45    86     104  any
          88   104     104  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  private void verbose_failure(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
        start local 1 // java.lang.String[] dbgVariableNames
         0: .line 178
            new java.lang.StringBuilder
            dup
            ldc "CPVariable SET  - FAILED DUE TO EXCEPTION\n\tvariables: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 179
            aload 1 /* dbgVariableNames */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 178
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 180
            getstatic java.lang.System.err:Ljava/io/PrintStream;
         4: .line 177
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;Ljava/io/PrintStream;)V
         5: .line 181
            return
        end local 1 // java.lang.String[] dbgVariableNames
        end local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
            0    6     1  dbgVariableNames  [Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      dbgVariableNames  

  private void verbose_update_project(java.lang.String[], org.eclipse.jdt.internal.core.JavaProject);
    descriptor: ([Ljava/lang/String;Lorg/eclipse/jdt/internal/core/JavaProject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
        start local 1 // java.lang.String[] dbgVariableNames
        start local 2 // org.eclipse.jdt.internal.core.JavaProject affectedProject
         0: .line 186
            new java.lang.StringBuilder
            dup
            ldc "CPVariable SET  - updating affected project due to setting variables\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 187
            aload 2 /* affectedProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 188
            ldc "\tvariables: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* dbgVariableNames */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 186
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 185
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         5: .line 189
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaProject affectedProject
        end local 1 // java.lang.String[] dbgVariableNames
        end local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
            0    6     1  dbgVariableNames  [Ljava/lang/String;
            0    6     2   affectedProject  Lorg/eclipse/jdt/internal/core/JavaProject;
    MethodParameters:
                  Name  Flags
      dbgVariableNames  
      affectedProject   

  private void verbose_set_variables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
         0: .line 193
            new java.lang.StringBuilder
            dup
            ldc "CPVariable SET  - setting variables\n\tvariables: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variableNames:[Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 195
            ldc "\tvalues: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.SetVariablesOperation.variablePaths:[Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 193
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 192
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         5: .line 196
            return
        end local 0 // org.eclipse.jdt.internal.core.SetVariablesOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
}
SourceFile: "SetVariablesOperation.java"
InnerClasses:
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager