/// <summary> /// Reparse Clang Translation Unit /// </summary> /// <param name="unsaved_files">Clang Unsaved File Array</param> /// <param name="options">Translation Unit Reparse Options</param> public void Reparse(ClangUnsavedFile[] unsaved_files, ReparseTranslationUnitFlags options) { var ret = LibClang.clang_reparseTranslationUnit(this.Handle, (uint)unsaved_files.Length, unsaved_files.ToNativeArray(), options); if (ret != ErrorCode.Success) { throw new ClangServiceException($"Translation Unit Reparse Failed : {ret}"); } }
public void Reparse(ClangUnsavedFile [] unsavedFiles, ReparseTranslationUnitFlags options) { var cx = unsavedFiles.Select(o => new CXUnsavedFile(o.FileName, o.Contents)).ToArray(); var ret = LibClang.clang_reparseTranslationUnit(Handle, (uint)unsavedFiles.Length, cx, options); if (ret != ErrorCode.Success) { throw new InvalidOperationException("Failed to reparse translation unit: " + ret); } }
internal static extern ErrorCode clang_reparseTranslationUnit(CXTranslationUnit TU, uint num_unsaved_files, [MarshalAs(UnmanagedType.LPArray)] CXUnsavedFile [] unsaved_files, ReparseTranslationUnitFlags options);