[clang] 855a3e9 - [libclang/python] Add isFunctionInlined support (#162882)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 30 13:26:17 PDT 2025
Author: Thomas Applencourt
Date: 2025-10-31T00:26:13+04:00
New Revision: 855a3e974dfaa317d65d9e66c3cadf76d470da2b
URL: https://github.com/llvm/llvm-project/commit/855a3e974dfaa317d65d9e66c3cadf76d470da2b
DIFF: https://github.com/llvm/llvm-project/commit/855a3e974dfaa317d65d9e66c3cadf76d470da2b.diff
LOG: [libclang/python] Add isFunctionInlined support (#162882)
`cindex.py` was missing support for
[isFunctionInlined](https://clang.llvm.org/doxygen/group__CINDEX__TYPES.html#ga963097b9aecabf5dce7554dff18b061d),
this PR add it.
---------
Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Added:
Modified:
clang/bindings/python/clang/cindex.py
clang/bindings/python/tests/cindex/test_cursor.py
clang/docs/ReleaseNotes.rst
Removed:
################################################################################
diff --git a/clang/bindings/python/clang/cindex.py b/clang/bindings/python/clang/cindex.py
index 2786add27f5e8..c48bc9c2eb7de 100644
--- a/clang/bindings/python/clang/cindex.py
+++ b/clang/bindings/python/clang/cindex.py
@@ -2362,6 +2362,13 @@ def get_bitfield_width(self) -> int:
"""
return conf.lib.clang_getFieldDeclBitWidth(self) # type: ignore [no-any-return]
+ @cursor_null_guard
+ def is_function_inlined(self) -> bool:
+ """
+ Check if the function is inlined.
+ """
+ return bool(conf.lib.clang_Cursor_isFunctionInlined(self))
+
@cursor_null_guard
def has_attrs(self) -> bool:
"""
@@ -4310,6 +4317,7 @@ def set_property(self, property, value):
("clang_Cursor_isAnonymous", [Cursor], bool),
("clang_Cursor_isAnonymousRecordDecl", [Cursor], bool),
("clang_Cursor_isBitField", [Cursor], bool),
+ ("clang_Cursor_isFunctionInlined", [Cursor], c_uint),
("clang_Location_isInSystemHeader", [SourceLocation], bool),
("clang_PrintingPolicy_dispose", [PrintingPolicy]),
("clang_PrintingPolicy_getProperty", [PrintingPolicy, c_int], c_uint),
diff --git a/clang/bindings/python/tests/cindex/test_cursor.py b/clang/bindings/python/tests/cindex/test_cursor.py
index eb0d1d50601a6..7cb616a7ef148 100644
--- a/clang/bindings/python/tests/cindex/test_cursor.py
+++ b/clang/bindings/python/tests/cindex/test_cursor.py
@@ -784,6 +784,21 @@ def test_storage_class(self):
cursor = get_cursor(tu, "reg")
self.assertEqual(cursor.storage_class, StorageClass.REGISTER)
+ def test_function_inlined(self):
+ tu = get_tu(
+ """
+inline void f_inline(void);
+void f_noninline(void);
+int d_noninline;
+"""
+ )
+ cursor = get_cursor(tu, "f_inline")
+ self.assertEqual(cursor.is_function_inlined(), True)
+ cursor = get_cursor(tu, "f_noninline")
+ self.assertEqual(cursor.is_function_inlined(), False)
+ cursor = get_cursor(tu, "d_noninline")
+ self.assertEqual(cursor.is_function_inlined(), False)
+
def test_availability(self):
tu = get_tu("class A { A(A const&) = delete; };", lang="cpp")
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index ba737b9efb003..73aaaad8b32e5 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -659,6 +659,7 @@ Sanitizers
Python Binding Changes
----------------------
+- Exposed ``clang_Cursor_isFunctionInlined``.
- Exposed ``clang_getCursorLanguage`` via ``Cursor.language``.
- Add all missing ``CursorKind``s, ``TypeKind``s and
``ExceptionSpecificationKind``s from ``Index.h``
More information about the cfe-commits
mailing list