Mario Zechner
22ea76db1b
[c] Port type extractor to TypeScript and improve codegen
...
- Ported extract-spine-cpp-types.js to TypeScript in type-extractor.ts
- Improved type interfaces with discriminated unions for better type safety
- Added proper isConst tracking for const-qualified methods
- Fixed exclusions to check method.isConst instead of return type
- Removed special type mappings (utf8, spine_void) - primitives pass through unchanged
- Made toCTypeName strict with proper error handling
- Documented all conversion functions with examples
- Excluded SpineObject from extraction (matches JS behavior)
- Removed original JS extractor as it's now replaced by TypeScript version
The TypeScript extractor produces identical output (107 files, 164 types) while providing better type information including isConst for methods and consistent isStatic fields.
Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 01:50:41 +02:00
Mario Zechner
759434e461
[c] Fix abstract type detection and improve codegen filtering
...
- Always set isAbstract to boolean in extract-spine-cpp-types.js
- Check for inherited pure virtual methods after inheritance pass
- Include abstract classes but skip create() function generation
- Only exclude template classes from code generation
- Extract const/non-const conflict checking into separate function
- Remove unused OpaqueTypeGenerator and helper functions
2025-07-08 23:08:48 +02:00
Mario Zechner
10ad175c8a
[cpp] Remove spine:: namespace prefix everywhere.
2025-07-08 21:09:34 +02:00
Mario Zechner
9d384c50ed
[cpp] Rename Vector -> Array, ContainerUtil > ArrayUtils
2025-07-08 20:38:45 +02:00
Mario Zechner
c75fd64189
[cpp] First pass of C wrapper generator and generated sources, WIP
2025-07-08 14:34:10 +02:00
Mario Zechner
46410f4b8a
[cpp] Added type extractor script to be used by C wrapper generator.
2025-07-08 13:42:25 +02:00
Mario Zechner
65d0eec7c5
[cpp] 4.3 porting WIP
2025-07-07 22:57:37 +02:00
Mario Zechner
7add48c8f9
[cpp] 4.3 porting WIP
2025-07-07 22:04:00 +02:00
Mario Zechner
5aeceb27c9
[cpp] 4.3 porting WIP
2025-07-07 21:58:42 +02:00
Mario Zechner
972a1bc8fc
[cpp] 4.3 porting WIP
2025-07-07 21:37:55 +02:00
Mario Zechner
e7c4a3eef0
[cpp] 4.3 porting WIP
2025-07-07 19:15:16 +02:00
Mario Zechner
751ee5972c
[cpp] 4.3 porting WIP
2025-07-05 20:29:01 +02:00
Mario Zechner
8ff8680035
[cpp] 4.3 porting WIP
2025-07-05 03:28:39 +02:00
Mario Zechner
9deb524a70
[cpp] 4.3 porting WIP
2025-07-05 03:16:24 +02:00
Mario Zechner
c04f89e8ee
[cpp] 4.3 porting WIP
2025-07-05 02:10:45 +02:00
Mario Zechner
d7891870bf
[cpp] 4.3 porting WIP
2025-07-04 23:21:04 +02:00
Mario Zechner
782620c737
[cpp] 4.3 porting WIP
2025-07-04 22:57:16 +02:00
Mario Zechner
ac2046c1a5
[cpp] 4.3 porting WIP
2025-07-04 22:37:58 +02:00
Mario Zechner
80bf16785f
[cpp] 4.3 porting WIP
2025-07-04 22:18:50 +02:00
Mario Zechner
f24242e317
[cpp] 4.3 porting WIP
2025-07-04 22:16:35 +02:00
Mario Zechner
30738443e1
[cpp] 4.3 porting WIP
2025-07-04 22:08:04 +02:00
Mario Zechner
d6c5ddd558
[cpp] 4.3 porting WIP
2025-07-04 22:00:00 +02:00
Mario Zechner
3b1dd11003
[cpp] 4.3 porting WIP
2025-07-04 21:57:37 +02:00
Mario Zechner
fe20361d13
[cpp] 4.3 porting WIP
2025-07-04 21:48:13 +02:00
Mario Zechner
e3433c5903
[cpp] 4.3 porting WIP
2025-07-04 21:29:22 +02:00
Mario Zechner
dd1f1c7cfc
[cpp] 4.3 porting WIP
2025-07-04 21:05:56 +02:00
Mario Zechner
a07bda1aa0
[cpp] 4.3 porting WIP
2025-07-04 20:50:37 +02:00
Mario Zechner
bef1cdb2be
[cpp] 4.3 porting WIP
2025-07-04 20:47:57 +02:00
Mario Zechner
c3890eaa85
[cpp] 4.3 porting WIP
2025-07-04 20:44:13 +02:00
Mario Zechner
708a73bcee
[cpp] 4.3 porting WIP
2025-07-04 20:40:22 +02:00
Mario Zechner
5b90c94926
[cpp] 4.3 porting WIP
2025-07-04 19:32:50 +02:00
Mario Zechner
e6bc6827cf
[cpp] 4.3 porting WIP
2025-07-04 12:46:50 +02:00
Mario Zechner
9e9f52ad62
[cpp] 4.3 porting WIP
2025-07-02 16:43:42 +02:00
Mario Zechner
0f3d19d0d6
[cpp] 4.3 porting WIP
2025-07-02 16:21:39 +02:00
Mario Zechner
c1ba842c15
[cpp] 4.3 porting WIP
2025-07-02 16:16:52 +02:00
Mario Zechner
bfe1f856f7
[cpp] 4.3 porting WIP
2025-07-02 15:56:20 +02:00
Mario Zechner
b2305c55e1
[cpp] 4.3 porting WIP
2025-07-02 15:55:06 +02:00
Mario Zechner
3d94cce370
[cpp] 4.3 porting WIP
2025-07-02 15:52:04 +02:00
Mario Zechner
e9f41ada04
[cpp] 4.3 porting WIP
2025-07-02 15:51:06 +02:00
Mario Zechner
9ace07c194
[cpp] 4.3 porting WIP
2025-07-02 15:02:37 +02:00
Mario Zechner
f92576bbe9
[cpp] 4.3 porting WIP
2025-07-02 14:54:33 +02:00
Mario Zechner
3a2c986e2b
[cpp] 4.3 porting WIP
2025-07-02 14:49:06 +02:00
Mario Zechner
d419a27986
[cpp] 4.3 porting WIP
2025-07-02 12:06:29 +02:00
Mario Zechner
2b196846e0
[cpp] 4.3 porting WIP
2025-07-01 14:52:42 +02:00
Mario Zechner
e125401e32
[cpp] 4.3 porting WIP
2025-07-01 00:14:36 +02:00
Mario Zechner
28c48dc88a
[cpp] 4.3 porting WIP
2025-07-01 00:04:21 +02:00
Mario Zechner
91f2f71abf
[cpp] 4.3 porting WIP
2025-06-30 23:51:25 +02:00
Mario Zechner
ebf9f65756
[cpp] 4.3 porting WIP
2025-06-30 23:25:24 +02:00
Mario Zechner
cba2d4d0d7
[cpp] 4.3 porting WIP
2025-06-27 23:23:23 +02:00
Mario Zechner
5f74729a2e
[cpp] 4.3 porting WIP
2025-06-27 23:23:23 +02:00