105 Commits

Author SHA1 Message Date
Jacek Sieka
187c0a02ec Move go name mangling to emitgo
This change helps keep rules for each language separate by moving `go`
rules to `emitgo` while the C bindings stay closer to the original Qt
naming (that already is mostly C-safe).

Although it doesn't practically matter for go, it makes it slightly
easier to reuse the generated code in other languages which have
different keywords and naming conventions.

The cabi generator also gains a few helpers to help keep names
consistent across files which hopefully aids reading the generator code
- it did for me at least;)

The rule that converts under_score to CamelCase is left for another day
since moving it turns out to be more invasive due to name collision
handling - when underscores are kept, there are fewer name conflicts
which ends up causing name changes in  the public go api when done
naively.
2025-02-01 13:44:32 +13:00
7e8f451e48 genbindings: fix checking private methods of wrong class 2025-01-19 17:07:29 +13:00
d3319cf273 genbindings: move inheritance exceptions to config-allowlist 2025-01-19 17:07:29 +13:00
8705ac0b5c genbindings: expand virtual overrides to cover indirect base classes 2025-01-19 16:38:55 +13:00
883ba8c131 genbindings: change AllInherits() to return lookupResultClass 2025-01-19 16:38:27 +13:00
Jacek Sieka
5cbbec5619 Log blocked methods
Blocked methods are the source of many gaps in the binding - in
particular, they block qt_metacall/activate/etc that is necessary for
implementing meta-object support.

This change makes them visible in logs and also removes log timestamps
so that logs from two runs easily can be diffed.
2025-01-15 10:56:57 +01:00
ad635b2b38 genbindings: support conversion operators 2025-01-04 12:18:54 +13:00
c36d14c540 genbindings: allow some classes to inherit from QList<> 2024-11-23 19:32:09 +13:00
f45604ee13 genbindings: move QAccessibleWidget hack into standard config 2024-11-23 18:05:15 +13:00
2a502f24ff genbindings: change simple operator== to use infix syntax 2024-11-22 18:58:56 +13:00
8d1c871de3 genbindings/inherits: direct vs indirect inheritance 2024-11-19 19:24:50 +13:00
943ccf7b3a genbindings: subclass support for all virtual methods (3/3) 2024-11-19 19:17:37 +13:00
58f212303e genbindings: subclass support for all virtual methods (2/3) 2024-11-19 19:17:37 +13:00
2ae1e6090c genbindings/clang2il: detect pure virtual, detect overrides 2024-11-19 19:17:36 +13:00
d25301c910 genbindings: track private methods, exclude from virtual overrides 2024-11-19 19:17:36 +13:00
aa2fdf98ca genbindings: subclass support for all virtual methods (1/3) 2024-11-19 19:17:36 +13:00
58ec6e1821 genbindings: add QPair<> support 2024-11-17 19:17:31 +13:00
5a3c3556a1 genbindings/intermediate: add Void() helper method 2024-11-17 19:16:51 +13:00
4fbf4c702a genbindings: refactor move state tracker to new file 2024-11-17 19:16:45 +13:00
d9bfece505 genbindings/state: track class lookup locations 2024-11-17 19:16:25 +13:00
Rick Calixte
a067210548
genbindings: Lint cleanup 2024-11-13 08:33:51 -05:00
e41f991a23 qnetwork: add support in genbindings 2024-11-06 18:38:25 +13:00
a009008525 genbindings: add qmap/qhash support 2024-11-04 21:33:45 +13:00
ba423f153a genbindings: implement "BecomesNonConstInVersion" quirk support 2024-10-26 12:35:01 +13:00
24a41b18b5 genbindings/main: better handling for skipping empty files 2024-10-21 19:10:31 +13:00
ab84c70f03 qt6: initial support 2024-10-21 19:10:31 +13:00
82413f8967 scintillaedit: add support 2024-10-20 18:07:38 +13:00
bb0132e0d5 genbindings/qbytearray: project as []byte 2024-10-19 13:06:53 +13:00
3547aa3103 genbindings/enums: prevent enum-class clashes, allow some more short enums 2024-10-19 13:06:53 +13:00
88ef4e922c genbindings: multi-package support 2024-10-16 18:07:05 +13:00
bcfdb4ea15 genbindings/integers: properly treat char as signed int8, not byte 2024-10-11 18:40:32 +13:00
a4eb43c9fd genbindings: fix early Empty() if header only contains enums 2024-10-11 18:40:12 +13:00
60600530c6 genbindings/ints: ssize_t support 2024-10-11 18:40:06 +13:00
869e316715 genbindings/qflags: emit qflags as inner type 2024-09-20 18:41:22 +12:00
286cfa90c9 genbindings/typedefs: centralize exceptions 2024-09-20 18:41:21 +12:00
3f1c8cb1b8 genbindings/go: add extra type cast for QIntegerForSizeof<void *>::Signed 2024-09-18 13:43:25 +12:00
eae85ac325 genbindings: preserve const/ptr attributes through typedefs 2024-09-18 13:08:18 +12:00
99aaf69b13 genbindings: remove uintptr fallbacks for more and accurate enum/typedef handling 2024-09-18 12:11:48 +12:00
b7a488dac0 genbindings: more accurate enum type handling 2024-09-18 09:35:53 +12:00
25008355a7 genbindings: initial QSet<> support 2024-09-17 21:48:26 +12:00
04399db98d genbindings: implement miqt_array parameter passing 2024-09-14 18:26:59 +12:00
d3a159a462 genbindings/cabi: move method renaming to helper function 2024-09-11 18:06:17 +12:00
7880f14c52 genbindings/cabi: refactor extract cpp-to-cabi handling from return path 2024-09-11 18:04:32 +12:00
d6d4afb4f2 genbindings: generate signal connection handlers for overloads 2024-09-07 15:25:25 +12:00
d62ec99cf1 genbindings: add support for enums 2024-09-04 18:54:12 +12:00
2323c12b55 support marking data types as linux-only 2024-09-01 17:50:58 +12:00
1e539748e6 genbindings: more exceptions 2024-08-29 19:01:21 +12:00
d8c7e9e770 genbindings: fixes for signed char, pointer+reference types 2024-08-29 19:01:12 +12:00
4df990b345 genbindings: rely entirely on typedefs for QList<> handling 2024-08-29 18:07:07 +12:00
97a56647b7 genbindings: fixes for QStrings 2024-08-29 17:17:12 +12:00