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
ad635b2b38
genbindings: support conversion operators
2025-01-04 12:18:54 +13:00
4997641327
genbindings: allow subclassing abstract classes
2024-11-23 19:31:27 +13:00
8d1c871de3
genbindings/inherits: direct vs indirect inheritance
2024-11-19 19:24:50 +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
9b37750d64
genbindings: support protected methods
2024-11-19 19:17:36 +13:00
2f99f450a5
genbindings/enums: remove some excess logging
2024-11-17 19:18:08 +13:00
2d665dd840
genbindings/fmt: replace trivial sprintf with strconv
2024-11-17 19:17:54 +13:00
ed18c216f3
genbindings/exceptions: move QGADGET to exceptions file
2024-11-17 19:16:07 +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
c1b31e787b
genbindings: move AllowClass from parse-time to transformation AST pass
...
This exposes some more valid types.
2024-10-26 12:35:27 +13:00
ba423f153a
genbindings: implement "BecomesNonConstInVersion" quirk support
2024-10-26 12:35:01 +13:00
c616c789ff
genbindings/c++1z: skip over more advanced AST node types
2024-10-19 13:06:53 +13:00
82ea3d3823
genbindings/namespaces: fix nested namespaces losing parent component
2024-10-19 13:06:53 +13:00
6a01cc2d86
genbindings/clang: handle FullComment in enum declarations
2024-10-14 19:27:57 +13:00
6eb60232a9
genbindings/typedefs: support type alias declarations
2024-10-11 18:40:06 +13:00
8d8d802029
genbindings/templates: skip some c++17 template things
2024-10-11 18:40:06 +13:00
5f1b704c1a
genbindings/namespace: support unnamed namespace { } blocks
2024-10-11 18:40:06 +13:00
c0ff37a9c6
genbindings/enum: skip over deprecated enum values
2024-10-11 18:40:06 +13:00
8585fc05f4
genbindings/enums: handle enum values with comments
2024-10-11 18:40:06 +13:00
9055f6e2ae
genbindings: centralize AllowSignal/AllowMethod exceptions, block metacast signal
2024-09-21 11:32:59 +12:00
d0e28fa69c
genbindings/clang2il: add some minor function comments
2024-09-20 19:13:00 +12:00
b7a488dac0
genbindings: more accurate enum type handling
2024-09-18 09:35:53 +12:00
ac2ec49248
genbindings: merge enums with redundant definitions
2024-09-16 19:03:45 +12:00
7fdccff799
genbindings/enums: more accurate underlying type definitions
2024-09-16 19:03:02 +12:00
d62ec99cf1
genbindings: add support for enums
2024-09-04 18:54:12 +12:00
6c1acb9377
genbindings/clang2il: cleanup dead code
2024-08-29 18:07:39 +12:00
4df990b345
genbindings: rely entirely on typedefs for QList<> handling
2024-08-29 18:07:07 +12:00
3b65e1fc6f
genbindings: more exceptions, merge existing exceptions
2024-08-29 17:38:34 +12:00
421c229771
genbindings/exceptions: more exceptions and overrides
2024-08-29 17:17:35 +12:00
daff305d36
genbindings: support 'signed char'
2024-08-29 17:15:41 +12:00
8da51d61f5
genbindings: misc fixes
2024-08-28 18:47:44 +12:00
56395eaa7a
genbindings: parse and call const methods for disambiguation
2024-08-28 18:47:23 +12:00
4ca4c0dd9e
genbindings: variable pointer depth
2024-08-28 18:22:05 +12:00
4451a592ab
genbindings: add diagnostic for skipped inner classes, matching skipped outer classes
2024-08-28 17:59:56 +12:00
95e8ab2e02
genbindings: expand typedefs over inner list classes
2024-08-28 17:59:21 +12:00
0566582ccf
genbindings/exceptions: update exceptions
2024-08-27 20:05:50 +12:00
164ef8cb6c
genbindings: add namespaces support
2024-08-27 19:12:08 +12:00
64e46e1978
genbindings: move QFlag<> handling into normal emitgo/emitcabi emission
2024-08-27 18:44:44 +12:00
150dab7c46
genbindings: move checkComplexity into separate ast pass post-typedefs
2024-08-27 18:44:10 +12:00
9dac446a82
genbindings: more exceptions
2024-08-26 22:52:46 +12:00
b84d816609
genbindings/typedefs: replace hardcoded exceptions with dynamic ones
2024-08-26 22:52:46 +12:00
0aa312c424
genbindings: track all typedefs, apply in a fixup AST pass
2024-08-26 22:52:46 +12:00
02370ce0ea
genbindings/typedefs: collect child class typedefs
2024-08-26 22:45:52 +12:00
f8a9a3f36e
genbindings: initial work on inner class definitions
2024-08-25 19:08:28 +12:00
b4df6d06f9
genbindings: bind all Qt::constants as int
2024-08-25 17:50:14 +12:00
38ceda38ad
genbindings: skip return types for more operator= overloads
2024-08-25 15:32:16 +12:00