public static extern int clang_indexTranslationUnit(
     CXIndexActionImpl *arg1,
     CXClientDataImpl *client_data,
     IndexerCallbacks *index_callbacks,
     uint index_callbacks_size,
     uint index_options,
     CXTranslationUnitImpl *arg6);
 public static extern CXCodeCompleteResults *clang_codeCompleteAt(
     CXTranslationUnitImpl *TU,
     sbyte *complete_filename,
     uint complete_line,
     uint complete_column,
     CXUnsavedFile *unsaved_files,
     uint num_unsaved_files,
     uint options);
        internal TranslationUnit(CXTranslationUnitImpl *ptr, Index index)
        {
            Debug.Assert(ptr != null);
            Debug.Assert(index != null);
            index.ThrowIfDisposed();

            Ptr   = ptr;
            Index = index;
        }
 public static extern CXDiagnosticSetImpl *clang_getDiagnosticSetFromTU(
     CXTranslationUnitImpl *Unit);
 public static extern CXString clang_getTranslationUnitSpelling(
     CXTranslationUnitImpl *CTUnit);
 public static extern uint clang_Module_getNumTopLevelHeaders(
     CXTranslationUnitImpl *arg1,
     CXModuleImpl *Module);
 public static extern void clang_tokenize(
     CXTranslationUnitImpl *TU,
     CXSourceRange Range,
     CXToken **Tokens,
     uint *NumTokens);
 public static extern CXTargetInfoImpl *clang_getTranslationUnitTargetInfo(
     CXTranslationUnitImpl *CTUnit);
 public static extern CXCursor clang_getCursor(
     CXTranslationUnitImpl *arg1,
     CXSourceLocation arg2);
 public static extern void clang_disposeTranslationUnit(
     CXTranslationUnitImpl *arg1);
 public static extern uint clang_isFileMultipleIncludeGuarded(
     CXTranslationUnitImpl *tu,
     CXFileImpl *file);
 public static extern CXResult clang_findIncludesInFile(
     CXTranslationUnitImpl *TU,
     CXFileImpl *file,
     CXCursorAndRangeVisitor visitor);
 public static extern CXSourceLocation clang_getLocation(
     CXTranslationUnitImpl *tu,
     CXFileImpl *file,
     uint line,
     uint column);
 public static extern void clang_getInclusions(
     CXTranslationUnitImpl *tu,
     IntPtr visitor,
     CXClientDataImpl *client_data);
 public static extern void clang_annotateTokens(
     CXTranslationUnitImpl *TU,
     CXToken *Tokens,
     uint NumTokens,
     CXCursor *Cursors);
 public static extern CXFileImpl *clang_getFile(
     CXTranslationUnitImpl *tu,
     sbyte *file_name);
 public static extern int clang_saveTranslationUnit(
     CXTranslationUnitImpl *TU,
     sbyte *FileName,
     uint options);
 public static extern int clang_reparseTranslationUnit(
     CXTranslationUnitImpl *TU,
     uint num_unsaved_files,
     CXUnsavedFile *unsaved_files,
     uint options);
 public static extern uint clang_suspendTranslationUnit(
     CXTranslationUnitImpl *arg1);
 public static extern void clang_disposeTokens(
     CXTranslationUnitImpl *TU,
     CXToken *Tokens,
     uint NumTokens);
 public static extern uint clang_defaultReparseOptions(
     CXTranslationUnitImpl *TU);
 public static extern CXSourceLocation clang_getLocationForOffset(
     CXTranslationUnitImpl *tu,
     CXFileImpl *file,
     uint offset);
 public static extern CXTUResourceUsage clang_getCXTUResourceUsage(
     CXTranslationUnitImpl *TU);
 public static extern CXSourceRangeList *clang_getSkippedRanges(
     CXTranslationUnitImpl *tu,
     CXFileImpl *file);
 public static extern CXCursor clang_getTranslationUnitCursor(
     CXTranslationUnitImpl *arg1);
 public static extern CXSourceRangeList *clang_getAllSkippedRanges(
     CXTranslationUnitImpl *tu);
 public static extern CXModuleImpl *clang_getModuleForFile(
     CXTranslationUnitImpl *arg1,
     CXFileImpl *arg2);
 public static extern uint clang_getNumDiagnostics(
     CXTranslationUnitImpl *Unit);
 public static extern CXDiagnosticImpl *clang_getDiagnostic(
     CXTranslationUnitImpl *Unit,
     uint Index);
 public static extern CXSourceRange clang_getTokenExtent(
     CXTranslationUnitImpl *arg1,
     CXToken arg2);