@@ -352,7 +352,7 @@ export const clang_getTranslationUnitSpelling = {
352352 * '-c'
353353 * '-emit-ast'
354354 * '-fsyntax-only'
355- * '-o <output file>' (both '-o' and '<output file>' are ignored)
355+ * '-o \ <output file>' (both '-o' and '\ <output file>' are ignored)
356356 *
357357 * @param CIdx The index object with which the translation unit will be
358358 * associated.
@@ -364,7 +364,7 @@ export const clang_getTranslationUnitSpelling = {
364364 * passed to the `clang` executable if it were being invoked out-of-process.
365365 * These command-line options will be parsed and will affect how the translation
366366 * unit is parsed. Note that the following options are ignored: '-c',
367- * '-emit-ast', '-fsyntax-only' (which is the default), and '-o <output file>'.
367+ * '-emit-ast', '-fsyntax-only' (which is the default), and '-o \ <output file>'.
368368 * @param num_unsaved_files the number of unsaved file entries in `unsaved_files.`
369369 * @param unsaved_files the files that have not yet been saved to disk
370370 * but may be required for code completion, including the contents of
@@ -467,7 +467,7 @@ export const clang_parseTranslationUnit = {
467467 * passed to the `clang` executable if it were being invoked out-of-process.
468468 * These command-line options will be parsed and will affect how the translation
469469 * unit is parsed. Note that the following options are ignored: '-c',
470- * '-emit-ast', '-fsyntax-only' (which is the default), and '-o <output file>'.
470+ * '-emit-ast', '-fsyntax-only' (which is the default), and '-o \ <output file>'.
471471 * @param num_command_line_args The number of command-line arguments in
472472 * `command_line_args.`
473473 * @param unsaved_files the files that have not yet been saved to disk
@@ -3114,6 +3114,57 @@ const clang_CXXMethod_isMoveAssignmentOperator = {
31143114 result : unsignedInt ,
31153115} as const ;
31163116
3117+ /**
3118+ * Determines if a C++ constructor or conversion function was declared
3119+ * explicit, returning 1 if such is the case and 0 otherwise.
3120+ *
3121+ * Constructors or conversion functions are declared explicit through
3122+ * the use of the explicit specifier.
3123+ *
3124+ * For example, the following constructor and conversion function are
3125+ * not explicit as they lack the explicit specifier:
3126+ *
3127+ * class Foo {
3128+ * Foo();
3129+ * operator int();
3130+ * };
3131+ *
3132+ * While the following constructor and conversion function are
3133+ * explicit as they are declared with the explicit specifier.
3134+ *
3135+ * class Foo {
3136+ * explicit Foo();
3137+ * explicit operator int();
3138+ * };
3139+ *
3140+ * This function will return 0 when given a cursor pointing to one of
3141+ * the former declarations and it will return 1 for a cursor pointing
3142+ * to the latter declarations.
3143+ *
3144+ * The explicit specifier allows the user to specify a
3145+ * conditional compile-time expression whose value decides
3146+ * whether the marked element is explicit or not.
3147+ *
3148+ * For example:
3149+ *
3150+ * constexpr bool foo(int i) { return i % 2 == 0; }
3151+ *
3152+ * class Foo {
3153+ * explicit(foo(1)) Foo();
3154+ * explicit(foo(2)) operator int();
3155+ * }
3156+ *
3157+ * This function will return 0 for the constructor and 1 for
3158+ * the conversion function.
3159+ */
3160+ // deno-lint-ignore no-unused-vars
3161+ const clang_CXXMethod_isExplicit = {
3162+ parameters : [
3163+ CXCursorT , // C
3164+ ] ,
3165+ result : unsignedInt ,
3166+ } as const ;
3167+
31173168/**
31183169 * Determine if a C++ record is abstract, i.e. whether a class or struct
31193170 * has a pure virtual member function.
0 commit comments