コード例 #1
0
        public CXCodeCompleteResults *CodeCompleteAt(string completeFilename, uint completeLine, uint completeColumn, ReadOnlySpan <CXUnsavedFile> unsavedFiles, CXCodeComplete_Flags options)
        {
            using var marshaledCompleteFilename = new MarshaledString(completeFilename);

            fixed(CXUnsavedFile *pUnsavedFiles = unsavedFiles)
            {
                return(clang.codeCompleteAt(this, marshaledCompleteFilename, completeLine, completeColumn, pUnsavedFiles, (uint)unsavedFiles.Length, (uint)options));
            }
        }
コード例 #2
0
        /// <summary>
        /// The CodeCompleteAt
        /// </summary>
        /// <param name="completeFileName">The completeFileName<see cref="string"/></param>
        /// <param name="completeline">The completeline<see cref="uint"/></param>
        /// <param name="completeColumn">The completeColumn<see cref="uint"/></param>
        /// <param name="unsavedFiles">The unsavedFiles<see cref="UnsavedFile[]"/></param>
        /// <param name="flags">The flags<see cref="CXCodeComplete_Flags"/></param>
        /// <returns>The <see cref="CodeCompleteResults"/></returns>
        public unsafe CodeCompleteResults CodeCompleteAt(string completeFileName, uint completeline, uint completeColumn, UnsavedFile[] unsavedFiles, CXCodeComplete_Flags flags)
        {
            if (completeFileName == null)
            {
                throw new ArgumentNullException("completeFileName");
            }
            if (unsavedFiles == null)
            {
                unsavedFiles = new UnsavedFile[0];
            }
            CXCodeCompleteResults *pCodeComplete = clang.clang_codeCompleteAt(this.m_value, completeFileName, completeline, completeColumn, unsavedFiles.Select(x => (CXUnsavedFile)x.Value).ToArray(), (uint)unsavedFiles.Length, (uint)flags);

            return(new CodeCompleteResults(pCodeComplete));
        }