AvalonStudio.Languages.CPlusPlus.CPlusPlusLanguageService.GetAndParseTranslationUnit C# (CSharp) Method

GetAndParseTranslationUnit() private method

private GetAndParseTranslationUnit ( ISourceFile sourceFile, List unsavedFiles ) : ClangTranslationUnit
sourceFile ISourceFile
unsavedFiles List
return ClangTranslationUnit
        private ClangTranslationUnit GetAndParseTranslationUnit(ISourceFile sourceFile, List<ClangUnsavedFile> unsavedFiles)
        {
            var dataAssociation = GetAssociatedData(sourceFile);

            if (dataAssociation.TranslationUnit == null)
            {
                dataAssociation.TranslationUnit = GenerateTranslationUnit(sourceFile, unsavedFiles);
            }

            // Always do a reparse, as a workaround for some issues in libclang 3.7.1
            dataAssociation.TranslationUnit.Reparse(unsavedFiles.ToArray(), ReparseTranslationUnitFlags.None);

            return dataAssociation.TranslationUnit;
        }