public void ParseAndBecomeValid() { using (TranslationUnit tu = new TranslationUnit(TestCode.TranslationUnits.Index, TestCode.SimpleClassCppFile.Path)) { Assert.IsFalse(tu.Valid); tu.Parse(null, null); Assert.IsTrue(tu.Valid); } }
public void ParseNonExistantFileThrows() { try { using (TranslationUnit tu = new TranslationUnit(TestCode.TranslationUnits.Index, "BlahBlah")) { tu.Parse(null, null); } } catch (System.IO.FileNotFoundException) { return; } Assert.Fail(); }
public static ParseResult Parse(IProjectIndex index, FilePath path, string[] compilerArgs, IUnsavedFileProvider unsavedFiles) { TranslationUnit tu = new TranslationUnit(index.LibClangIndex, path.Str); //Take a snapshot of the source IEnumerable<ParseFile> files = unsavedFiles.UnsavedFiles; List<Tuple<string, string>> unsavedList = new List<Tuple<string, string>>(); foreach (var i in files) { unsavedList.Add(new Tuple<string, string>(i.Path.Str, i.Content)); } if (tu.Parse(compilerArgs, unsavedList) == false) { tu.Dispose(); return null; } return new ParseResult(index, path, files, tu); ; }
static TranslationUnit CreateTranslationUnit(string path) { TranslationUnit tu = new TranslationUnit(Index, path); tu.Parse(new string[] { "-Weverything" }, null); return tu; }