public static CXErrorCode Create(CXIndex index, string astFileName, out CXTranslationUnit translationUnit) { using var marshaledAstFileName = new MarshaledString(astFileName); fixed(CXTranslationUnit *pTranslationUnit = &translationUnit) { return(clang.createTranslationUnit2(index, marshaledAstFileName, (CXTranslationUnitImpl **)pTranslationUnit)); } }
public static CXTranslationUnit Parse(CXIndex index, string sourceFileName, ReadOnlySpan <string> commandLineArgs, ReadOnlySpan <CXUnsavedFile> unsavedFiles, CXTranslationUnit_Flags options) { using var marshaledSourceFileName = new MarshaledString(sourceFileName); using var marshaledCommandLineArgs = new MarshaledStringArray(commandLineArgs); fixed(CXUnsavedFile *pUnsavedFiles = unsavedFiles) { var pCommandLineArgs = stackalloc sbyte *[commandLineArgs.Length]; marshaledCommandLineArgs.Fill(pCommandLineArgs); return(clang.parseTranslationUnit(index, marshaledSourceFileName, pCommandLineArgs, commandLineArgs.Length, pUnsavedFiles, (uint)unsavedFiles.Length, (uint)options)); } }
public static CXIndexAction Create(CXIndex index) => (CXIndexAction)clang.IndexAction_create(index);
public static CXTranslationUnit Create(CXIndex index, string astFileName) { using var marshaledAstFileName = new MarshaledString(astFileName); return(clang.createTranslationUnit(index, marshaledAstFileName)); }