示例#1
0
        public void SyncUpdate(bool underTransaction)
        {
            myShellLocks.AssertReadAccessAllowed();

            if (myDirtyFiles.Count > 0)
            {
                foreach (IPsiSourceFile projectFile in new List <IPsiSourceFile>(myDirtyFiles))
                {
                    using (WriteLockCookie.Create())
                    {
                        ICollection <ILexSymbol> ret = LexCacheBuilder.Build(projectFile);
                        if (ret != null)
                        {
                            ((ICache)this).Merge(projectFile, ret.ToList());
                        }
                        else
                        {
                            ((ICache)this).Merge(projectFile, null);
                        }
                    }
                }
            }
        }
示例#2
0
 public object Build(IPsiSourceFile sourceFile, bool isStartup)
 {
     return(LexCacheBuilder.Build(sourceFile));
 }