Exemplo n.º 1
0
        /// <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}");
            }
        }
Exemplo n.º 2
0
        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);