org.eclipse.team.cvs.core_3.3.400.I20110510-0800

ic boolean isIgnored(IResource resource)
    throws CVSException
  {
    // Byte code:
    //   0: aload_1
    //   1: invokeinterface 1024 1 0
    //   6: bipush 8
    //   8: if_icmpeq +22 -> 30
    //   11: aload_1
    //   12: invokeinterface 1024 1 0
    //   17: iconst_4
    //   18: if_icmpeq +12 -> 30
    //   21: aload_1
    //   22: invokeinterface 1025 1 0
    //   27: ifne +5 -> 32
    //   30: iconst_0
    //   31: ireturn
    //   32: aload_1
    //   33: invokeinterface 1028 1 0
    //   38: astore_2
    //   39: aload_0
    //   40: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   43: aload_2
    //   44: iconst_0
    //   45: invokevirtual 921	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:getFolderIgnores	(Lorg/eclipse/core/resources/IContainer;Z)Lorg/eclipse/team/internal/ccvs/core/util/FileNameMatcher;
    //   48: astore_3
    //   49: aload_3
    //   50: ifnonnull +29 -> 79
    //   53: aload_0
    //   54: invokespecial 865	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginOperation	()V
    //   57: aload_0
    //   58: aload_2
    //   59: invokespecial 907	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:cacheFolderIgnores	(Lorg/eclipse/core/resources/IContainer;)Lorg/eclipse/team/internal/ccvs/core/util/FileNameMatcher;
    //   62: astore_3
    //   63: goto +12 -> 75
    //   66: astore 4
    //   68: aload_0
    //   69: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   72: aload 4
    //   74: athrow
    //   75: aload_0
    //   76: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   79: aload_3
    //   80: aload_1
    //   81: invokeinterface 1027 1 0
    //   86: invokevirtual 967	org/eclipse/team/internal/ccvs/core/util/FileNameMatcher:match	(Ljava/lang/String;)Z
    //   89: ireturn
    // Line number table:
    //   Java source line #367	-> byte code offset #0
    //   Java source line #368	-> byte code offset #11
    //   Java source line #369	-> byte code offset #21
    //   Java source line #370	-> byte code offset #30
    //   Java source line #372	-> byte code offset #32
    //   Java source line #373	-> byte code offset #39
    //   Java source line #374	-> byte code offset #49
    //   Java source line #376	-> byte code offset #53
    //   Java source line #377	-> byte code offset #57
    //   Java source line #378	-> byte code offset #66
    //   Java source line #379	-> byte code offset #68
    //   Java source line #380	-> byte code offset #72
    //   Java source line #379	-> byte code offset #75
    //   Java source line #382	-> byte code offset #79
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	90	0	this	EclipseSynchronizer
    //   0	90	1	resource	IResource
    //   38	21	2	parent	IContainer
    //   48	32	3	matcher	FileNameMatcher
    //   66	7	4	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   53	66	66	finally
  }
  
  public void addIgnored(IContainer folder, String pattern)
    throws CVSException
  {
    if ((folder.getType() == 8) || (!folder.exists()))
    {
      IStatus status = new CVSStatus(4, -6, 
        NLS.bind(CVSMessages.EclipseSynchronizer_ErrorSettingIgnorePattern, new String[] { folder.getFullPath().toString() }), folder);
      throw new CVSException(status);
    }
    ISchedulingRule rule = null;
    try
    {
      rule = beginBatching(folder.getFile(new Path(".cvsignore")), null);
      try
      {
        beginOperation();
        String[] ignores = SyncFileWriter.readCVSIgnoreEntries(folder);
        String[] ignores;
        if (ignores != null)
        {
          int i;
          for (int i = 0; i < ignores.length; i++) {
            if (ignores[i].equals(pattern))
            {
              endOperation();return;
            }
          }
          String[] oldIgnores = ignores;
          ignores = new String[oldIgnores.length + 1];
          System.arraycopy(oldIgnores, 0, ignores, 0, oldIgnores.length);
          ignores[oldIgnores.length] = pattern;
        }
        else
        {
          ignores = new String[] { pattern };
        }
        setCachedFolderIgnores(folder, ignores);
        SyncFileWriter.writeCVSIgnoreEntries(folder, ignores);
        
        List possibleIgnores = new ArrayList();
        accumulateNonManagedChildren(folder, possibleIgnores);
        ResourceStateChangeListeners.getListener().resourceSyncInfoChanged((IResource[])possibleIgnores.toArray(new IResource[possibleIgnores.size()]));
      }
      finally
      {
        endOperation();
      }
      endOperation();
    }
    finally
    {
      if (rule != null) {
        endBatching(rule, null);
      }
    }
    if (rule != null) {
      endBatching(rule, null);
    }
  }
  
  /* Error */
  public IResource[] members(IContainer folder)
    throws CVSException
  {
    // Byte code:
    //   0: aload_0
    //   1: aload_1
    //   2: invokespecial 880	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:isValid	(Lorg/eclipse/core/resources/IResource;)Z
    //   5: ifne +8 -> 13
    //   8: iconst_0
    //   9: anewarray 405	org/eclipse/core/resources/IResource
    //   12: areturn
    //   13: aload_0
    //   14: invokespecial 865	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginOperation	()V
    //   17: aload_1
    //   18: invokeinterface 1010 1 0
    //   23: bipush 8
    //   25: if_icmpeq +45 -> 70
    //   28: aload_0
    //   29: aload_1
    //   30: iconst_0
    //   31: invokespecial 872	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:cacheResourceSyncForChildren	(Lorg/eclipse/core/resources/IContainer;Z)V
    //   34: goto +36 -> 70
    //   37: astore_2
    //   38: aload_0
    //   39: aload_2
    //   40: invokespecial 889	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:isCannotModifySynchronizer	(Lorg/eclipse/team/internal/ccvs/core/CVSException;)Z
    //   43: ifne +13 -> 56
    //   46: aload_0
    //   47: aload_2
    //   48: invokespecial 890	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:isResourceNotFound	(Lorg/eclipse/team/internal/ccvs/core/CVSException;)Z
    //   51: ifne +5 -> 56
    //   54: aload_2
    //   55: athrow
    //   56: aload_0
    //   57: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   60: goto +14 -> 74
    //   63: astore_3
    //   64: aload_0
    //   65: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   68: aload_3
    //   69: athrow
    //   70: aload_0
    //   71: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   74: aload_0
    //   75: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   78: aload_1
    //   79: invokevirtual 942	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:members	(Lorg/eclipse/core/resources/IContainer;)[Lorg/eclipse/core/resources/IResource;
    //   82: areturn
    //   83: astore_2
    //   84: aload_2
    //   85: invokestatic 855	org/eclipse/team/internal/ccvs/core/CVSException:wrapException	(Lorg/eclipse/core/runtime/CoreException;)Lorg/eclipse/team/internal/ccvs/core/CVSException;
    //   88: athrow
    // Line number table:
    //   Java source line #438	-> byte code offset #0
    //   Java source line #440	-> byte code offset #13
    //   Java source line #441	-> byte code offset #17
    //   Java source line #443	-> byte code offset #28
    //   Java source line #445	-> byte code offset #37
    //   Java source line #446	-> byte code offset #38
    //   Java source line #447	-> byte code offset #54
    //   Java source line #450	-> byte code offset #56
    //   Java source line #449	-> byte code offset #63
    //   Java source line #450	-> byte code offset #64
    //   Java source line #451	-> byte code offset #68
    //   Java source line #450	-> byte code offset #70
    //   Java source line #454	-> byte code offset #74
    //   Java source line #456	-> byte code offset #83
    //   Java source line #457	-> byte code offset #84
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	89	0	this	EclipseSynchronizer
    //   0	89	1	folder	IContainer
    //   37	18	2	e	CVSException
    //   83	2	2	e	CoreException
    //   63	6	3	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   13	34	37	org/eclipse/team/internal/ccvs/core/CVSException
    //   13	56	63	finally
    //   74	82	83	org/eclipse/core/runtime/CoreException
  }
  
  private boolean isCannotModifySynchronizer(CVSException e)
  {
    return (e.getStatus().getCode() == 380) || (e.getStatus().getCode() == -25);
  }
  
  private boolean isResourceNotFound(CVSException e)
  {
    return e.getStatus().getCode() == 368;
  }
  
  public ISchedulingRule beginBatching(ISchedulingRule resourceRule, IProgressMonitor monitor)
  {
    return resourceLock.acquire(resourceRule, this, monitor);
  }
  
  public void endBatching(ISchedulingRule rule, IProgressMonitor monitor)
    throws CVSException
  {
    try
    {
      resourceLock.release(rule, monitor);
    }
    catch (TeamException e)
    {
      throw CVSException.wrapException(e);
    }
  }
  
  public void flush(BatchingLock.ThreadInfo info, IProgressMonitor monitor)
    throws CVSException
  {
    if ((info != null) && (!info.isEmpty())) {
      try
      {
        ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable()
        {
          private final BatchingLock.ThreadInfo val$info;
          
          public void run(IProgressMonitor pm)
            throws CoreException
          {
            IStatus status = commitCache(val$info, pm);
            if (!status.isOK()) {
              throw new CVSException(status);
            }
          }
        }, null, 0, monitor);
      }
      catch (CoreException e)
      {
        throw CVSException.wrapException(e);
      }
    }
  }
  
  private void beginOperation()
  {
    try
    {
      if (ResourcesPlugin.getWorkspace().isTreeLocked()) {
        return;
      }
    }
    catch (RuntimeException e)
    {
      if (Platform.getBundle("org.eclipse.team.cvs.core").getState() == 32) {
        throw e;
      }
      throw new OperationCanceledException();
    }
    lock.acquire();
  }
  
  private void endOperation()
  {
    try
    {
      if (ResourcesPlugin.getWorkspace().isTreeLocked()) {
        return;
      }
    }
    catch (RuntimeException e)
    {
      if (Platform.getBundle("org.eclipse.team.cvs.core").getState() == 32) {
        throw e;
      }
      throw new OperationCanceledException();
    }
    lock.release();
  }
  
  /* Error */
  public void flush(IContainer root, boolean deep, IProgressMonitor monitor)
    throws CVSException
  {
    // Byte code:
    //   0: aload_3
    //   1: invokestatic 858	org/eclipse/team/internal/ccvs/core/Policy:monitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   4: astore_3
    //   5: aload_3
    //   6: aconst_null
    //   7: bipush 10
    //   9: invokeinterface 1040 3 0
    //   14: aconst_null
    //   15: astore 4
    //   17: aload_0
    //   18: aload_1
    //   19: aload_3
    //   20: iconst_1
    //   21: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   24: invokevirtual 909	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/jobs/ISchedulingRule;
    //   27: astore 4
    //   29: aload_0
    //   30: invokespecial 865	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginOperation	()V
    //   33: aload_0
    //   34: getfield 824	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:resourceLock	Lorg/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock;
    //   37: aload_3
    //   38: bipush 8
    //   40: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   43: invokevirtual 953	org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock:flush	(Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   46: goto +26 -> 72
    //   49: astore 5
    //   51: aload 5
    //   53: invokestatic 855	org/eclipse/team/internal/ccvs/core/CVSException:wrapException	(Lorg/eclipse/core/runtime/CoreException;)Lorg/eclipse/team/internal/ccvs/core/CVSException;
    //   56: athrow
    //   57: astore 6
    //   59: aload_0
    //   60: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   63: aload_1
    //   64: iload_2
    //   65: invokevirtual 919	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:purgeCache	(Lorg/eclipse/core/resources/IContainer;Z)[Lorg/eclipse/core/resources/IResource;
    //   68: pop
    //   69: aload 6
    //   71: athrow
    //   72: aload_0
    //   73: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   76: aload_1
    //   77: iload_2
    //   78: invokevirtual 919	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:purgeCache	(Lorg/eclipse/core/resources/IContainer;Z)[Lorg/eclipse/core/resources/IResource;
    //   81: pop
    //   82: goto +12 -> 94
    //   85: astore 7
    //   87: aload_0
    //   88: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   91: aload 7
    //   93: athrow
    //   94: aload_0
    //   95: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   98: goto +30 -> 128
    //   101: astore 8
    //   103: aload 4
    //   105: ifnull +14 -> 119
    //   108: aload_0
    //   109: aload 4
    //   111: aload_3
    //   112: iconst_1
    //   113: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   116: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   119: aload_3
    //   120: invokeinterface 1036 1 0
    //   125: aload 8
    //   127: athrow
    //   128: aload 4
    //   130: ifnull +14 -> 144
    //   133: aload_0
    //   134: aload 4
    //   136: aload_3
    //   137: iconst_1
    //   138: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   141: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   144: aload_3
    //   145: invokeinterface 1036 1 0
    //   150: return
    // Line number table:
    //   Java source line #586	-> byte code offset #0
    //   Java source line #587	-> byte code offset #5
    //   Java source line #588	-> byte code offset #14
    //   Java source line #590	-> byte code offset #17
    //   Java source line #592	-> byte code offset #29
    //   Java source line #595	-> byte code offset #33
    //   Java source line #596	-> byte code offset #49
    //   Java source line #597	-> byte code offset #51
    //   Java source line #598	-> byte code offset #57
    //   Java source line #600	-> byte code offset #59
    //   Java source line #601	-> byte code offset #69
    //   Java source line #600	-> byte code offset #72
    //   Java source line #601	-> byte code offset #82
    //   Java source line #602	-> byte code offset #85
    //   Java source line #603	-> byte code offset #87
    //   Java source line #604	-> byte code offset #91
    //   Java source line #603	-> byte code offset #94
    //   Java source line #605	-> byte code offset #101
    //   Java source line #606	-> byte code offset #103
    //   Java source line #607	-> byte code offset #119
    //   Java source line #608	-> byte code offset #125
    //   Java source line #606	-> byte code offset #128
    //   Java source line #607	-> byte code offset #144
    //   Java source line #609	-> byte code offset #150
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	151	0	this	EclipseSynchronizer
    //   0	151	1	root	IContainer
    //   0	151	2	deep	boolean
    //   0	151	3	monitor	IProgressMonitor
    //   15	120	4	rule	ISchedulingRule
    //   49	3	5	e	TeamException
    //   57	13	6	localObject1	Object
    //   85	7	7	localObject2	Object
    //   101	25	8	localObject3	Object
    // Exception table:
    //   from	to	target	type
    //   33	46	49	org/eclipse/team/core/TeamException
    //   33	57	57	finally
    //   29	85	85	finally
    //   17	101	101	finally
  }
  
  /* Error */
  public void deconfigure(IProject project, IProgressMonitor monitor)
    throws CVSException
  {
    // Byte code:
    //   0: aload_2
    //   1: invokestatic 858	org/eclipse/team/internal/ccvs/core/Policy:monitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   4: astore_2
    //   5: aload_2
    //   6: aconst_null
    //   7: bipush 100
    //   9: invokeinterface 1040 3 0
    //   14: aconst_null
    //   15: astore_3
    //   16: aload_0
    //   17: aload_1
    //   18: aload_2
    //   19: bipush 10
    //   21: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   24: invokevirtual 909	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/jobs/ISchedulingRule;
    //   27: astore_3
    //   28: aload_0
    //   29: aload_1
    //   30: iconst_1
    //   31: aload_2
    //   32: bipush 80
    //   34: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   37: invokevirtual 898	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:flush	(Lorg/eclipse/core/resources/IContainer;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    //   40: aload_0
    //   41: aload_1
    //   42: aload_2
    //   43: iconst_5
    //   44: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   47: invokespecial 899	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:purgeDirtyCache	(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   50: aload_0
    //   51: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   54: aload_1
    //   55: iconst_1
    //   56: invokevirtual 936	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:purgeCache	(Lorg/eclipse/core/resources/IContainer;Z)V
    //   59: goto +28 -> 87
    //   62: astore 4
    //   64: aload_3
    //   65: ifnull +13 -> 78
    //   68: aload_0
    //   69: aload_3
    //   70: aload_2
    //   71: iconst_5
    //   72: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   75: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   78: aload_2
    //   79: invokeinterface 1036 1 0
    //   84: aload 4
    //   86: athrow
    //   87: aload_3
    //   88: ifnull +13 -> 101
    //   91: aload_0
    //   92: aload_3
    //   93: aload_2
    //   94: iconst_5
    //   95: invokestatic 859	org/eclipse/team/internal/ccvs/core/Policy:subMonitorFor	(Lorg/eclipse/core/runtime/IProgressMonitor;I)Lorg/eclipse/core/runtime/IProgressMonitor;
    //   98: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   101: aload_2
    //   102: invokeinterface 1036 1 0
    //   107: return
    // Line number table:
    //   Java source line #612	-> byte code offset #0
    //   Java source line #613	-> byte code offset #5
    //   Java source line #614	-> byte code offset #14
    //   Java source line #616	-> byte code offset #16
    //   Java source line #618	-> byte code offset #28
    //   Java source line #620	-> byte code offset #40
    //   Java source line #624	-> byte code offset #50
    //   Java source line #625	-> byte code offset #62
    //   Java source line #626	-> byte code offset #64
    //   Java source line #627	-> byte code offset #78
    //   Java source line #628	-> byte code offset #84
    //   Java source line #626	-> byte code offset #87
    //   Java source line #627	-> byte code offset #101
    //   Java source line #629	-> byte code offset #107
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	108	0	this	EclipseSynchronizer
    //   0	108	1	project	IProject
    //   0	108	2	monitor	IProgressMonitor
    //   15	78	3	rule	ISchedulingRule
    //   62	23	4	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   16	62	62	finally
  }
  
  /* Error */
  public void ignoreFilesChanged(IContainer[] roots)
    throws CVSException
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore_2
    //   2: goto +295 -> 297
    //   5: aload_1
    //   6: iload_2
    //   7: aaload
    //   8: astore_3
    //   9: aload_3
    //   10: invokeinterface 1011 1 0
    //   15: ifeq +279 -> 294
    //   18: aconst_null
    //   19: astore 4
    //   21: new 396	java/util/HashSet
    //   24: dup
    //   25: invokespecial 838	java/util/HashSet:<init>	()V
    //   28: astore 5
    //   30: aload_0
    //   31: aload_3
    //   32: aconst_null
    //   33: invokevirtual 909	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/jobs/ISchedulingRule;
    //   36: astore 4
    //   38: aload_0
    //   39: invokespecial 865	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginOperation	()V
    //   42: aconst_null
    //   43: astore 6
    //   45: aload_0
    //   46: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   49: aload_3
    //   50: invokevirtual 914	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:isFolderSyncInfoCached	(Lorg/eclipse/core/resources/IContainer;)Z
    //   53: ifeq +10 -> 63
    //   56: aload_0
    //   57: aload_3
    //   58: invokespecial 907	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:cacheFolderIgnores	(Lorg/eclipse/core/resources/IContainer;)Lorg/eclipse/team/internal/ccvs/core/util/FileNameMatcher;
    //   61: astore 6
    //   63: aload 5
    //   65: aload_0
    //   66: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   69: aload_3
    //   70: aload 6
    //   72: ifnonnull +7 -> 79
    //   75: iconst_1
    //   76: goto +4 -> 80
    //   79: iconst_0
    //   80: invokevirtual 919	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:purgeCache	(Lorg/eclipse/core/resources/IContainer;Z)[Lorg/eclipse/core/resources/IResource;
    //   83: invokestatic 835	java/util/Arrays:asList	([Ljava/lang/Object;)Ljava/util/List;
    //   86: invokeinterface 1007 2 0
    //   91: pop
    //   92: aload 6
    //   94: ifnull +128 -> 222
    //   97: aload_0
    //   98: aload_3
    //   99: invokespecial 907	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:cacheFolderIgnores	(Lorg/eclipse/core/resources/IContainer;)Lorg/eclipse/team/internal/ccvs/core/util/FileNameMatcher;
    //   102: astore 7
    //   104: aload_3
    //   105: invokeinterface 1013 1 0
    //   110: astore 8
    //   112: iconst_0
    //   113: istore 9
    //   115: goto +77 -> 192
    //   118: aload 8
    //   120: iload 9
    //   122: aaload
    //   123: astore 10
    //   125: aload 10
    //   127: invokeinterface 1024 1 0
    //   132: iconst_2
    //   133: if_icmpne +56 -> 189
    //   136: aload 10
    //   138: invokeinterface 1027 1 0
    //   143: astore 11
    //   145: aload 6
    //   147: aload 11
    //   149: invokevirtual 967	org/eclipse/team/internal/ccvs/core/util/FileNameMatcher:match	(Ljava/lang/String;)Z
    //   152: ifeq +37 -> 189
    //   155: aload 7
    //   157: aload 11
    //   159: invokevirtual 967	org/eclipse/team/internal/ccvs/core/util/FileNameMatcher:match	(Ljava/lang/String;)Z
    //   162: ifne +27 -> 189
    //   165: aload 5
    //   167: aload_0
    //   168: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   171: aload 10
    //   173: checkcast 401	org/eclipse/core/resources/IContainer
    //   176: iconst_1
    //   177: invokevirtual 919	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:purgeCache	(Lorg/eclipse/core/resources/IContainer;Z)[Lorg/eclipse/core/resources/IResource;
    //   180: invokestatic 835	java/util/Arrays:asList	([Ljava/lang/Object;)Ljava/util/List;
    //   183: invokeinterface 1007 2 0
    //   188: pop
    //   189: iinc 9 1
    //   192: iload 9
    //   194: aload 8
    //   196: arraylength
    //   197: if_icmplt -79 -> 118
    //   200: goto +22 -> 222
    //   203: astore 8
    //   205: aload 8
    //   207: invokestatic 856	org/eclipse/team/internal/ccvs/core/CVSProviderPlugin:log	(Lorg/eclipse/core/runtime/CoreException;)V
    //   210: goto +12 -> 222
    //   213: astore 12
    //   215: aload_0
    //   216: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   219: aload 12
    //   221: athrow
    //   222: aload_0
    //   223: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   226: aload 5
    //   228: invokeinterface 1004 1 0
    //   233: ifne +49 -> 282
    //   236: invokestatic 970	org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners:getListener	()Lorg/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners;
    //   239: aload 5
    //   241: aload 5
    //   243: invokeinterface 1003 1 0
    //   248: anewarray 405	org/eclipse/core/resources/IResource
    //   251: invokeinterface 1009 2 0
    //   256: checkcast 384	[Lorg/eclipse/core/resources/IResource;
    //   259: invokevirtual 969	org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners:resourceSyncInfoChanged	([Lorg/eclipse/core/resources/IResource;)V
    //   262: goto +20 -> 282
    //   265: astore 13
    //   267: aload 4
    //   269: ifnull +10 -> 279
    //   272: aload_0
    //   273: aload 4
    //   275: aconst_null
    //   276: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   279: aload 13
    //   281: athrow
    //   282: aload 4
    //   284: ifnull +10 -> 294
    //   287: aload_0
    //   288: aload 4
    //   290: aconst_null
    //   291: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   294: iinc 2 1
    //   297: iload_2
    //   298: aload_1
    //   299: arraylength
    //   300: if_icmplt -295 -> 5
    //   303: return
    // Line number table:
    //   Java source line #638	-> byte code offset #0
    //   Java source line #639	-> byte code offset #5
    //   Java source line #640	-> byte code offset #9
    //   Java source line #641	-> byte code offset #18
    //   Java source line #643	-> byte code offset #21
    //   Java source line #644	-> byte code offset #30
    //   Java source line #646	-> byte code offset #38
    //   Java source line #649	-> byte code offset #42
    //   Java source line #650	-> byte code offset #45
    //   Java source line #651	-> byte code offset #56
    //   Java source line #655	-> byte code offset #63
    //   Java source line #656	-> byte code offset #65
    //   Java source line #655	-> byte code offset #83
    //   Java source line #659	-> byte code offset #92
    //   Java source line #660	-> byte code offset #97
    //   Java source line #662	-> byte code offset #104
    //   Java source line #663	-> byte code offset #112
    //   Java source line #664	-> byte code offset #118
    //   Java source line #665	-> byte code offset #125
    //   Java source line #666	-> byte code offset #136
    //   Java source line #667	-> byte code offset #145
    //   Java source line #668	-> byte code offset #165
    //   Java source line #669	-> byte code offset #167
    //   Java source line #668	-> byte code offset #180
    //   Java source line #663	-> byte code offset #189
    //   Java source line #673	-> byte code offset #203
    //   Java source line #675	-> byte code offset #205
    //   Java source line #678	-> byte code offset #213
    //   Java source line #679	-> byte code offset #215
    //   Java source line #680	-> byte code offset #219
    //   Java source line #679	-> byte code offset #222
    //   Java source line #681	-> byte code offset #226
    //   Java source line #682	-> byte code offset #236
    //   Java source line #683	-> byte code offset #239
    //   Java source line #682	-> byte code offset #259
    //   Java source line #685	-> byte code offset #265
    //   Java source line #686	-> byte code offset #267
    //   Java source line #687	-> byte code offset #279
    //   Java source line #686	-> byte code offset #282
    //   Java source line #638	-> byte code offset #294
    //   Java source line #690	-> byte code offset #303
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	304	0	this	EclipseSynchronizer
    //   0	304	1	roots	IContainer[]
    //   1	297	2	i	int
    //   8	97	3	container	IContainer
    //   19	270	4	rule	ISchedulingRule
    //   28	214	5	changed	Set
    //   43	103	6	oldIgnores	FileNameMatcher
    //   102	54	7	newIgnores	FileNameMatcher
    //   110	85	8	members	IResource[]
    //   203	3	8	e	CoreException
    //   113	80	9	j	int
    //   123	49	10	resource	IResource
    //   143	15	11	name	String
    //   213	7	12	localObject1	Object
    //   265	15	13	localObject2	Object
    // Exception table:
    //   from	to	target	type
    //   104	200	203	org/eclipse/core/runtime/CoreException
    //   38	213	213	finally
    //   21	265	265	finally
  }
  
  public void syncFilesChangedExternally(IContainer[] changedMetaFiles, IFile[] externalDeletions)
    throws CVSException
  {
    List changed = new ArrayList();
    for (int i = 0; i < changedMetaFiles.length; i++)
    {
      IContainer container = changedMetaFiles[i];
      if (!isWithinActiveOperationScope(container)) {
        changed.addAll(Arrays.asList(
          sessionPropertyCache.purgeCache(container, false)));
      }
    }
    for (int i = 0; i < externalDeletions.length; i++)
    {
      IFile file = externalDeletions[i];
      if (!isWithinActiveOperationScope(file))
      {
        sessionPropertyCache.purgeCache(file.getParent(), false);
        changed.add(file);
      }
    }
    if (!changed.isEmpty()) {
      ResourceStateChangeListeners.getListener().externalSyncInfoChange(
        (IResource[])changed.toArray(new IResource[changed.size()]));
    }
  }
  
  /* Error */
  boolean prepareForDeletion(IResource resource)
    throws CVSException
  {
    // Byte code:
    //   0: aload_1
    //   1: invokeinterface 1025 1 0
    //   6: ifne +5 -> 11
    //   9: iconst_0
    //   10: ireturn
    //   11: aconst_null
    //   12: astore_2
    //   13: aload_0
    //   14: aload_1
    //   15: aconst_null
    //   16: invokevirtual 909	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/jobs/ISchedulingRule;
    //   19: astore_2
    //   20: aload_0
    //   21: invokespecial 865	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:beginOperation	()V
    //   24: aload_0
    //   25: aload_1
    //   26: ldc 3
    //   28: invokevirtual 894	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:adjustDirtyStateRecursively	(Lorg/eclipse/core/resources/IResource;Ljava/lang/String;)V
    //   31: aload_1
    //   32: invokeinterface 1024 1 0
    //   37: iconst_1
    //   38: if_icmpne +73 -> 111
    //   41: aload_0
    //   42: aload_1
    //   43: invokevirtual 883	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:getSyncBytes	(Lorg/eclipse/core/resources/IResource;)[B
    //   46: astore_3
    //   47: aload_3
    //   48: ifnull +47 -> 95
    //   51: aload_3
    //   52: invokestatic 961	org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo:isAddition	([B)Z
    //   55: ifeq +11 -> 66
    //   58: aload_0
    //   59: aload_1
    //   60: invokevirtual 876	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:deleteResourceSync	(Lorg/eclipse/core/resources/IResource;)V
    //   63: goto +19 -> 82
    //   66: aload_0
    //   67: aload_3
    //   68: invokespecial 868	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:convertToDeletion	([B)[B
    //   71: astore_3
    //   72: aload_0
    //   73: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   76: aload_1
    //   77: aload_3
    //   78: iconst_1
    //   79: invokevirtual 941	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:setCachedSyncBytes	(Lorg/eclipse/core/resources/IResource;[BZ)V
    //   82: aload_0
    //   83: getfield 822	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:sessionPropertyCache	Lorg/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache;
    //   86: aload_1
    //   87: invokevirtual 916	org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache:purgeResourceSyncCache	(Lorg/eclipse/core/resources/IResource;)V
    //   90: aload_0
    //   91: aload_1
    //   92: invokespecial 877	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:resourceChanged	(Lorg/eclipse/core/resources/IResource;)V
    //   95: aload_0
    //   96: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   99: aload_2
    //   100: ifnull +9 -> 109
    //   103: aload_0
    //   104: aload_2
    //   105: aconst_null
    //   106: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   109: iconst_0
    //   110: ireturn
    //   111: aload_1
    //   112: checkcast 401	org/eclipse/core/resources/IContainer
    //   115: astore_3
    //   116: aload_3
    //   117: invokeinterface 1010 1 0
    //   122: iconst_4
    //   123: if_icmpne +30 -> 153
    //   126: aload_0
    //   127: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   130: aload_3
    //   131: checkcast 404	org/eclipse/core/resources/IProject
    //   134: invokevirtual 938	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:flush	(Lorg/eclipse/core/resources/IProject;)V
    //   137: aload_0
    //   138: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   141: aload_2
    //   142: ifnull +9 -> 151
    //   145: aload_0
    //   146: aload_2
    //   147: aconst_null
    //   148: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   151: iconst_0
    //   152: ireturn
    //   153: aload_0
    //   154: aload_3
    //   155: invokevirtual 903	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:getFolderSync	(Lorg/eclipse/core/resources/IContainer;)Lorg/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo;
    //   158: astore 4
    //   160: aload 4
    //   162: ifnonnull +19 -> 181
    //   165: aload_0
    //   166: invokespecial 866	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endOperation	()V
    //   169: aload_2
    //   170: ifnull +9 -> 179
    //   173: aload_0
    //   174: aload_2
    //   175: aconst_null
    //   176: invokevirtual 900	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:endBatching	(Lorg/eclipse/core/runtime/jobs/ISchedulingRule;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    //   179: iconst_0
    //   180: ireturn
    //   181: aload_0
    //   182: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   185: aload_3
    //   186: aload 4
    //   188: iconst_1
    //   189: invokevirtual 943	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:setCachedFolderSync	(Lorg/eclipse/core/resources/IContainer;Lorg/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo;Z)V
    //   192: aload_0
    //   193: aload_3
    //   194: invokespecial 871	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:folderChanged	(Lorg/eclipse/core/resources/IContainer;)V
    //   197: aload_0
    //   198: aload_1
    //   199: invokevirtual 883	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:getSyncBytes	(Lorg/eclipse/core/resources/IResource;)[B
    //   202: astore 5
    //   204: aload_0
    //   205: getfield 823	org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer:synchronizerCache	Lorg/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache;
    //   208: aload_1
    //   209: aload 5
    //   211: iconst_1
    //   212: invokevirtual 941	org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache:setCachedSyncBytes	(Lorg/eclips
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd