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