tree: b3a7bea0b26bb9ba4df41647fce179a01bb33be0
  1. src/
  2. .clang-format
  3. build.gradle.kts
  4. CMakeLists.txt
  5. README.md
kotlin-native/libllvmext/README.md

libllvmext

Extensions on top of LLVM for Kotlin/Native.

src/main/include contains C headers extending LLVM C API. From these headers Kotlin/JVM bindings are generated in llvmInterop. Kotlin additions should be prefixed with LLVMKotlin.

src/main/cpp contains C++ sources. The sources should follow LLVM coding convention. Kotlin additions should be put inside llvm::kotlin.

To help with code formatting, .clang-format file is placed in this folder. :kotlin-native:libllvmext:clangFormat task can be used to run git-clang-format -f $(git merge-base origin/master HEAD) -- kotlin-native/libllvmext/, which will format only the changed files. The task accepts optional --parent=<branch> (to specify a branch other than origin/master) and --interactive (which adds -p flag to git-clang-format to interactively accept or reject formatting patches).