Commit Graph

339 Commits

Author SHA1 Message Date
6a01cc2d86 genbindings/clang: handle FullComment in enum declarations 2024-10-14 19:27:57 +13:00
b6aa72f62f genbindings/main: refactor extract generateClangCaches() 2024-10-14 18:55:59 +13:00
3382806f62 genbindings/main: refactor extract cleanGeneratedFilesInDir() 2024-10-14 18:55:16 +13:00
9248b925ff genbindings/main: refactor extract findHeadersInDir() 2024-10-14 18:54:39 +13:00
0154e3507b genbindings: marshal cgo.Handle via intptr_t instead of void* 2024-10-13 19:05:52 +13:00
bcfdb4ea15 genbindings/integers: properly treat char as signed int8, not byte 2024-10-11 18:40:32 +13:00
c783029317 genbindings/integers: c-style cast for qsizetype, qintptr pointers 2024-10-11 18:40:12 +13:00
f733ce29bc genbindings/signals: support connecting to a const signal 2024-10-11 18:40:12 +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
6eb60232a9 genbindings/typedefs: support type alias declarations 2024-10-11 18:40:06 +13:00
fc7aeecabf genbindings/go: fix for classes inheriting namespaced/inner classes 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
11d0eaf5f4 genbindings: run multiple clang workers in parallel 2024-10-11 18:40:06 +13:00
3143374fbf genbindings/clangexec: show clang stderr 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
aadc37eb2d genbindings: allow void* as unsafe.Pointer 2024-09-21 11:32:59 +12:00
d8239b6a91 genbindings/transform: fix missing enums/typedefs from inner classes 2024-09-21 11:02:05 +12:00
a6dab929e6 genbindings: add collision detection for short enum names 2024-09-21 10:43:18 +12:00
85025715a8 exceptions: suppress QFormLayout::ItemRole* out-pointers 2024-09-20 19:23:47 +12:00
6a958309b0 genbindings/go: simpler enum naming 2024-09-20 19:13:15 +12:00
d0e28fa69c genbindings/clang2il: add some minor function comments 2024-09-20 19:13:00 +12: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
f6d1ef8ade genbindings/go: fix missing type cast calling go->cabi 2024-09-18 13:33:50 +12:00
e2fd134509 genbindings/qset: fixes for qset marshalling 2024-09-18 13:27:53 +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
4ec56ad303 genbindings/cabi: merge and refactor qlist parameter handling 2024-09-17 19:43:22 +12:00
15f4c367d0 genbindings/go: refactor to reuse template emitters 2024-09-17 19:30:06 +12:00
303d0f0b97 genbindings/cabi: reduce temporaries when returning qt heap copies 2024-09-17 18:28:44 +12:00
97f0141e27 genbindings: normalize cabi template returns 2024-09-17 18:28:14 +12:00
1e1714a163 genbindings/cabi: merge forward+reverse type renderers 2024-09-16 19:33:07 +12:00
0285a0a5fa genbindings/exceptions: reduce obsolete exceptions 2024-09-16 19:12:50 +12:00
8d9a7cfd2e genbindings/exceptions: update research 2024-09-16 19:04:20 +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
b70b17616e genbindings: fixes for signal return types, move finalizer to new GoGC() function 2024-09-15 10:28:52 +12:00
6af39e88e4 genbindings: handle signal arguments from cabi->go 2024-09-14 20:32:55 +12:00
7f56b4147c genbindings/slots: emit per-slot callback bindings 2024-09-14 19:31:39 +12:00
04399db98d genbindings: implement miqt_array parameter passing 2024-09-14 18:26:59 +12:00
ab11c1ae59 genbindings: improvements for miqt_string handling 2024-09-14 16:21:05 +12:00
4882ed676a genbindings: add common binding.h 2024-09-12 18:47:31 +12:00
d2c5d27f37 genbindings/cabi: automatic indentation handling for emitAssignCppToCabi() 2024-09-12 18:42:22 +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
52c6c3b0ea genbindings: add retry logic to clang subprocess execution 2024-09-11 17:44:36 +12:00
0689949bc2 genbindings: replace const_cast<>(self) with const self* 2024-09-11 17:40:52 +12:00
d6d4afb4f2 genbindings: generate signal connection handlers for overloads 2024-09-07 15:25:25 +12:00
9d8153c4d3 genbindings/test: fix compilation for isConst support 2024-09-07 15:24:57 +12:00
d62ec99cf1 genbindings: add support for enums 2024-09-04 18:54:12 +12:00
25e6ea1698 genbindings/util: add pretty-printer 2024-09-04 18:07:11 +12:00
c4f8254994 genbindings: more correct use of size_t for passed QStringLists 2024-09-01 18:50:34 +12:00
86ce4f70aa linuxonly: always define a stub function 2024-09-01 18:50:19 +12:00
3825378227 genbindings: malloc takes a size_t instead of a ulong 2024-09-01 17:51:17 +12:00
2323c12b55 support marking data types as linux-only 2024-09-01 17:50:58 +12:00
587644bab5 genbindings: remove cflags headers from each file 2024-09-01 17:16:46 +12:00
de0fb12cfe genbindings: return nil Qt objects as Go nil objects 2024-09-01 14:23:31 +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
6c1acb9377 genbindings/clang2il: cleanup dead code 2024-08-29 18:07:39 +12:00
2e5749f9a6 genbindings: handle QList/QVector typedefs safely in inner return types 2024-08-29 18:07:28 +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
a4baeabbcb genbindings: more const correctness 2024-08-29 17:38:18 +12:00
421c229771 genbindings/exceptions: more exceptions and overrides 2024-08-29 17:17:35 +12:00
97a56647b7 genbindings: fixes for QStrings 2024-08-29 17:17:12 +12:00
050d668765 genbindings: centralize handling of flag types 2024-08-29 17:16:36 +12:00
daff305d36 genbindings: support 'signed char' 2024-08-29 17:15:41 +12:00
7b5db7c7ea genbindings/const: fixes for disambiguating calls to const methods 2024-08-29 17:14:44 +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
488e3cc6c4 genbindings/emitcabi: merge the two qt forwarding cases 2024-08-28 18:22:25 +12:00
4ca4c0dd9e genbindings: variable pointer depth 2024-08-28 18:22:05 +12:00
cde78306c2 genbindings/test: add test cases for child class expansion 2024-08-28 18:00:07 +12:00
4451a592ab genbindings: add diagnostic for skipped inner classes, matching skipped outer classes 2024-08-28 17:59:56 +12:00
2a27c4e62f genbindings: allow generating classes other than ^Q+ 2024-08-28 17:59:34 +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
a0b51bef8e genbindings: improved uintptr handling for enum types 2024-08-27 20:05:38 +12:00
a0812831e7 genbindings: add more exceptions 2024-08-27 19:12:29 +12:00
164ef8cb6c genbindings: add namespaces support 2024-08-27 19:12:08 +12:00
a5104aa614 genbindings/transformtypedefs: clean up dead code 2024-08-27 18:44:58 +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
85cf3b84d8 genbindings: use knownClassNames tracker to distinguish A::B names 2024-08-26 22:52:41 +12:00
02370ce0ea genbindings/typedefs: collect child class typedefs 2024-08-26 22:45:52 +12:00
f6336617a0 genbindings: switch to two-phase 2024-08-26 22:45:11 +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
6a1dcc4ed7 doc/README: update readme files 2024-08-25 16:06:16 +12:00
38ceda38ad genbindings: skip return types for more operator= overloads 2024-08-25 15:32:16 +12:00
e3a1041031 genbindings: block use of binding-reserved word 'ret' 2024-08-25 15:32:08 +12:00
45f3e8abed genbindings: fixup typo 2024-08-25 15:31:59 +12:00
0401231ab6 genbindings: assorted pointer correctness fixes 2024-08-25 15:31:51 +12:00
8fb92cfd3a genbindings: fixes for integer types 2024-08-25 15:31:21 +12:00
3121a7c610 genbindings: many improvements to array marshalling 2024-08-25 12:50:48 +12:00
720da97f59 genbindings: support optional parameters for ctors 2024-08-25 12:50:48 +12:00
8032dc8456 genbindings: fixes for QApplication ctor's argc/argv handling 2024-08-25 12:50:48 +12:00
03f4f21d16 genbindings/clang: skip self pointer return from operator= overloads 2024-08-25 12:50:48 +12:00
fc62d963ea genbindings/clang: implicit ctors/dtors always have public visibility 2024-08-25 12:50:41 +12:00
03a47e4da4 genbindings: more exceptions 2024-08-24 11:46:51 +12:00
fbbc17ec8c genbindings: construct cross-translation-unit cgo types via unsafe.Pointer 2024-08-24 11:46:47 +12:00
b5282f31b6 genbindings: fixes for self parameters, binding building 2024-08-24 11:46:26 +12:00
0e8b48d1b8 genbindings: more work on integer types 2024-08-24 11:45:36 +12:00
475ebc93b4 genbindings: more exceptions 2024-08-22 21:56:25 +12:00
4c318669cc genbindings: more const, int, and pointer correctness 2024-08-22 21:56:19 +12:00
36994e6547 genbindings: more exceptions 2024-08-22 19:20:34 +12:00
e629117e54 genbindings/ints: qint64 handling applies to pointer types too 2024-08-22 19:20:29 +12:00
cf430b6cc5 genbindings/transform: overload disambiguation must be based on go names 2024-08-22 19:20:15 +12:00
cd16ed9028 genbindings: avoid pointer copy when returning qt type by reference 2024-08-20 20:20:26 +12:00
ae3de5a64c genbindings: remove empty printf specifier from log message 2024-08-20 20:19:53 +12:00
c59545c956 genbindings: s/renderTypeCpp/Cabi 2024-08-20 20:19:38 +12:00
306abe1fb6 genbindings: more exceptions 2024-08-20 20:19:15 +12:00
7e78b73517 genbindings: accurate type alias tracking for static_cast<> overload resolution 2024-08-20 20:16:13 +12:00
1ea3f220e6 genbindings: improvements for deleted ctors/dtors/overloads 2024-08-20 20:10:57 +12:00
f9a9b4a9b4 genbindings: further work on exceptions 2024-08-19 19:42:34 +12:00
d92e87b49d genbindings/qset: skip over these 2024-08-19 19:15:05 +12:00
fb538b0a3b genbindings: scan full qt include directory to find header files 2024-08-19 19:14:47 +12:00
042a86ade7 genbindings/clang: skip over more top-level ast nodes 2024-08-19 19:14:10 +12:00
b5370c8728 genbindings: more integer types 2024-08-19 19:12:37 +12:00
bdbeb3d1e5 genbindings: move transformblacklist into exceptions.go 2024-08-19 19:12:13 +12:00
043db615b1 genbindings: avoid generating empty files 2024-08-19 19:11:36 +12:00
926cfc7c84 genbindings: use state machine tokenization for template parameters 2024-08-19 19:11:19 +12:00
0e1630a8aa genbindings: up to 104 files 2024-08-19 17:58:26 +12:00
1222174b09 genbindings/main: up to 96 files 2024-08-18 19:02:52 +12:00
d6ea4ccf80 genbindings: many more exceptions 2024-08-18 19:02:43 +12:00
cf2585416f genbindings/exceptions: move header imports to exceptions.go 2024-08-18 19:02:14 +12:00
3ef53b4224 genbindings/test: add simple TestParseTypeString() test case 2024-08-18 19:01:49 +12:00
b3d55cc17f genbindings: fixes for qintptr 2024-08-18 19:01:36 +12:00
33b26204f8 genbindings: move 'qt_' prefix renaming into SafeMethodName() 2024-08-18 19:01:23 +12:00
6d09ef795b genbindings: remove special-case qreal handling 2024-08-18 18:56:09 +12:00
d5eeb64c86 genbindings/connect: only generate connect() stubs for the fully expanded overload 2024-08-18 18:55:28 +12:00
f488e54f8b genbindings/connect: initial implementation 2024-08-18 17:48:17 +12:00
c8ac62fccd genbindings/main: up to 66 files 2024-08-18 17:47:58 +12:00
3fd8ec777d genbindings: hide another unprojectable method 2024-08-18 17:47:51 +12:00
ef4dc703e6 genbindings: fix qintptr cabi typing 2024-08-18 17:47:31 +12:00
441d96398f genbindings: fix QClipboard private dtor 2024-08-18 17:47:19 +12:00
6928a87b4b genbindings/static: fix not applying static for overloads 2024-08-18 16:41:57 +12:00
b3ef457f7e genbindings/main: up to 60 files 2024-08-18 16:08:34 +12:00
05404c308a genbindings/cabi: skip imports for other QPlatform* family classes 2024-08-18 16:08:25 +12:00