You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: Add print caching to reduce recursion in edge case demangling (#8)
* fix: Add print caching to reduce recursion in edge case demangling
- Convert SwiftSymbol convenience initializers to class initializers
- Add printCache and symbolRegistry to SymbolPrinter for caching print results
- Cache PrintCacheKey/PrintCacheValue to avoid redundant recursive printing
- Remove duplicate .name encoding in SwiftSymbolResult
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* refactor: Keep SwiftSymbol as struct with nodeId-based caching
- Revert SwiftSymbol from class back to struct to preserve value semantics
- Add nodeId field to SwiftSymbol for unique identification
- Update PrintCacheKey to use UInt64 nodeId instead of ObjectIdentifier
- Simplify PrintCacheValue to store SwiftSymbol directly
- Add JSON encoding tests for SwiftSymbolResult
This maintains the performance improvement while avoiding the breaking
change from struct to class.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* test: Improve JSON encoding test assertions
Add specific value checks for all JSON fields instead of just
checking for non-nil:
- testName array contents
- typeName value
- description string content verification
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fixes
* test: Add JSON encoding tests and simplify test code
Add tests for additional symbol types:
- testJSONEncodingAllocator: struct initializer
- testJSONEncodingGetter: property getter
- testJSONEncodingClosure: closure in function
- testJSONEncodingTypeMetadata: type metadata accessor
Simplify existing tests by removing redundant comments.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Fix Linux CI by using Swift 6.2.3 Docker container
The ubuntu-latest runner updated to Swift 6.2.3, which was incompatible
with the static Linux SDK compiled with Swift 6.1.1. Using the official
swift:6.2.3 Docker image and matching SDK ensures version consistency
and prevents future breakage from runner updates.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>