예제 #1
0
        public static ClangCompilationDatabase CreateDatabaseFromDirectory(string buildDir)
        {
            CompilationDatabaseError error;
            var ret = LibClang.clang_CompilationDatabase_fromDirectory(buildDir, out error);

            if (error != CompilationDatabaseError.NoError)
            {
                throw new ClangServiceException(string.Format("Failed to create compilation database from directory '{0}': {1}", buildDir, error));
            }
            return(new ClangCompilationDatabase(ret));
        }
예제 #2
0
        /// <summary>
        /// Create Clang Compilation Database from Directory
        /// </summary>
        /// <param name="build_dir">Build Directory</param>
        /// <returns>Clang Compilation Database</returns>
        public static ClangCompilationDatabase CreateCompilationDatabaseFromDirectory(string build_dir)
        {
            var native_compilation_database = LibClang.clang_CompilationDatabase_fromDirectory(build_dir, out var error_code);

            if (error_code != CompilationDatabaseError.NoError)
            {
                throw new ClangServiceException($"Create Compilation Directory Failed : {error_code}");
            }

            return(native_compilation_database.ToManaged <ClangCompilationDatabase>());
        }