blob: c6940ac283c69116e0f6d79b67e8534f20476562 [file] [log] [blame]
# 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
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_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