public bool TryIndexTranslationUnit(CXClientData clientData, ReadOnlySpan <IndexerCallbacks> indexCallbacks, CXIndexOptFlags indexOptions, CXTranslationUnit tu) { fixed(IndexerCallbacks *pIndexCallbacks = indexCallbacks) { return(clang.indexTranslationUnit(this, clientData, pIndexCallbacks, (uint)indexCallbacks.Length, (uint)indexOptions, tu) == 0); } }
public void GetInclusions(CXInclusionVisitor visitor, CXClientData clientData) { var pVisitor = Marshal.GetFunctionPointerForDelegate(visitor); clang.getInclusions(this, pVisitor, clientData); GC.KeepAlive(visitor); }
public CXVisitorResult VisitFields(CXFieldVisitor visitor, CXClientData clientData) { var pVisitor = Marshal.GetFunctionPointerForDelegate(visitor); var result = (CXVisitorResult)clang.Type_visitFields(this, pVisitor, clientData); GC.KeepAlive(visitor); return(result); }
public CXChildVisitResult VisitChildren(CXCursorVisitor visitor, CXClientData clientData) { var pVisitor = Marshal.GetFunctionPointerForDelegate(visitor); var result = (CXChildVisitResult)clang.visitChildren(this, pVisitor, clientData); GC.KeepAlive(visitor); return(result); }
public bool TryIndexSourceFileFullArgv(CXClientData clientData, ReadOnlySpan <IndexerCallbacks> indexCallbacks, CXIndexOptFlags indexOptions, string sourceFilename, ReadOnlySpan <string> commandLineArgs, ReadOnlySpan <CXUnsavedFile> unsavedFiles, out CXTranslationUnit tu, CXTranslationUnit_Flags tuOptions) { using var marshaledSourceFilename = new MarshaledString(sourceFilename); using var marshaledCommandLineArgs = new MarshaledStringArray(commandLineArgs); fixed(IndexerCallbacks *pIndexCallbacks = indexCallbacks) fixed(CXUnsavedFile * pUnsavedFiles = unsavedFiles) fixed(CXTranslationUnit * pTU = &tu) { var pCommandLineArgs = stackalloc sbyte *[commandLineArgs.Length]; marshaledCommandLineArgs.Fill(pCommandLineArgs); return(clang.indexSourceFileFullArgv(this, clientData, pIndexCallbacks, (uint)indexCallbacks.Length, (uint)indexOptions, marshaledSourceFilename, pCommandLineArgs, commandLineArgs.Length, pUnsavedFiles, (uint)unsavedFiles.Length, (CXTranslationUnitImpl **)pTU, (uint)tuOptions) == 0); } }