Esempio n. 1
0
        public static CXDiagnosticSet Load(string file, out CXLoadDiag_Error error, out CXString errorString)
        {
            using var marshaledFile = new MarshaledString(file);

            fixed(CXLoadDiag_Error *pError = &error)
            fixed(CXString * pErrorString = &errorString)
            {
                return((CXDiagnosticSet)clang.loadDiagnostics(marshaledFile, pError, pErrorString));
            }
        }
Esempio n. 2
0
 public static extern CXDiagnosticSet loadDiagnostics([MarshalAs(UnmanagedType.LPStr)] string @file, out CXLoadDiag_Error @error, out CXString @errorString);
Esempio n. 3
0
        /// <summary>
        /// The TryLoadDiagnostics
        /// </summary>
        /// <param name="fileName">The fileName<see cref="string"/></param>
        /// <param name="diagnosticSet">The diagnosticSet<see cref="DiagnosticSet"/></param>
        /// <param name="error">The error<see cref="CXLoadDiag_Error"/></param>
        /// <returns>The <see cref="bool"/></returns>
        public static bool TryLoadDiagnostics(string fileName, out DiagnosticSet diagnosticSet, out CXLoadDiag_Error error)
        {
            error = CXLoadDiag_Error.CXLoadDiag_None;
            CXString cXString;

            diagnosticSet = null;
            IntPtr diagnostic = clang.clang_loadDiagnostics(fileName, out error, out cXString);

            if (diagnostic == IntPtr.Zero)
            {
                return(false);
            }
            diagnosticSet = new DiagnosticSet(diagnostic);
            return(true);
        }