| # Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| |
| # Config file for generating the libclang bindings used by this package. |
| |
| # ===================== GENERATING BINDINGS ===================== |
| # cd to project's root, and run - |
| # dart run ffigen --config tool/libclang_config.yaml |
| # =============================================================== |
| |
| name: Clang |
| description: Holds bindings to LibClang. |
| output: '../lib/src/header_parser/clang_bindings/clang_bindings.dart' |
| compiler-opts: |
| - '-Ithird_party/libclang/include' |
| - '-Wno-nullability-completeness' |
| headers: |
| entry-points: |
| - '../third_party/libclang/include/clang-c/Index.h' |
| include-directives: |
| - '**wrapper.c' |
| - '**Index.h' |
| - '**CXString.h' |
| |
| preamble: | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM |
| // Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| // ignore_for_file: camel_case_types, non_constant_identifier_names |
| |
| enums: |
| include: |
| - CXChildVisitResult |
| - CXCursorKind |
| - CXTypeKind |
| - CXDiagnosticDisplayOptions |
| - CXTranslationUnit_Flags |
| - CXEvalResultKind |
| - CXObjCPropertyAttrKind |
| - CXTypeNullabilityKind |
| - CXTypeLayoutError |
| |
| structs: |
| include: |
| - CXCursor |
| - CXType |
| - CXSourceLocation |
| - CXString |
| - CXTranslationUnitImpl |
| - CXUnsavedFile |
| - CXSourceRange |
| |
| functions: |
| include: |
| - clang_createIndex |
| - clang_disposeIndex |
| - clang_getNumDiagnostics |
| - clang_getDiagnostic |
| - clang_disposeDiagnostic |
| - clang_parseTranslationUnit |
| - clang_disposeTranslationUnit |
| - clang_EvalResult_getKind |
| - clang_EvalResult_getAsInt |
| - clang_EvalResult_getAsLongLong |
| - clang_EvalResult_getAsDouble |
| - clang_EvalResult_getAsStr |
| - clang_EvalResult_dispose |
| - clang_getCString |
| - clang_disposeString |
| - clang_getCursorKind |
| - clang_getCursorKindSpelling |
| - clang_getCursorType |
| - clang_getTypeSpelling |
| - clang_getTypeKindSpelling |
| - clang_getResultType |
| - clang_getTypedefName |
| - clang_getPointeeType |
| - clang_getCanonicalType |
| - clang_Type_getNamedType |
| - clang_Type_getAlignOf |
| - clang_getTypeDeclaration |
| - clang_getTypedefDeclUnderlyingType |
| - clang_getCursorSpelling |
| - clang_getTranslationUnitCursor |
| - clang_formatDiagnostic |
| - clang_visitChildren |
| - clang_Cursor_getNumArguments |
| - clang_Cursor_getArgument |
| - clang_getNumArgTypes |
| - clang_getArgType |
| - clang_getCursorResultType |
| - clang_getEnumConstantDeclValue |
| - clang_equalRanges |
| - clang_Cursor_getCommentRange |
| - clang_Cursor_getRawCommentText |
| - clang_Cursor_getBriefCommentText |
| - clang_getCursorLocation |
| - clang_getFileLocation |
| - clang_getFileName |
| - clang_getNumElements |
| - clang_getArrayElementType |
| - clang_Cursor_isMacroFunctionLike |
| - clang_Cursor_isMacroBuiltin |
| - clang_Cursor_Evaluate |
| - clang_Cursor_isAnonymous |
| - clang_Cursor_isAnonymousRecordDecl |
| - clang_getCursorUSR |
| - clang_getFieldDeclBitWidth |
| - clang_Cursor_isFunctionInlined |
| - clang_getCursorDefinition |
| - clang_Cursor_isNull |
| - clang_Cursor_hasAttrs |
| - clang_Type_getObjCObjectBaseType |
| - clang_Cursor_getObjCPropertyAttributes |
| - clang_Cursor_getObjCPropertyGetterName |
| - clang_Cursor_getObjCPropertySetterName |
| - clang_Type_getNullability |
| - clang_Location_isInSystemHeader |
| - clang_getClangVersion |