binding-tools-for-swift
binding-tools-for-swift copied to clipboard
[DylibBinder] Obtaining Public Classes, Enums, Structs, Protocols, and Functions
ModuleInventory.ClassesForName (SwiftName modName), ModuleInventory.ProtocolsForName (SwiftName modName), and ModuleInventory.FunctionsForName (SwiftName modName) should return public classes.
Issue: Sometimes it gives us internal or private classes as well
Example, from libswiftCore.dylib:
- Swift._UnicodeEncoding
- Swift._ObjectiveCBridgeable
- Swift._Pointer
- Swift._ArrayProtocol
- Swift._UTFParser
- Swift._UnicodeParser
- Swift.Dictionary.Index._Variant
- Swift.Dictionary.Iterator._Variant
- Swift.Dictionary._Variant
- Swift.Set.Index._Variant
- Swift.Set.Iterator._Variant
- Swift.Set._Variant
- Swift._ArrayBody
- Swift._HashTable
- Swift._HashTable.Index
- Swift._HashTable.Bucket
- Swift._HashTable.Iterator
- Swift._NativeSet
- Swift._NativeSet.Iterator
- Swift.__CocoaSet
- Swift.__CocoaSet.Index
- Swift.__CocoaSet.Iterator
- Swift._MergeError
- Swift._SetBuilder
- Swift._SetStorage
- Swift._StringGuts
- Swift._UIntBuffer
- Swift._UIntBuffer.Index
- Swift._UIntBuffer.Iterator
- Swift._ArrayBuffer
- Swift._IteratorBox
- Swift._SequenceBox
- Swift._SliceBuffer
- Swift._SmallString
- Swift._MetadataKind
- Swift._StringObject
- Swift._StringObject.CountAndFlags
- Swift._StringObject.Nibbles
- Swift._UnsafeBitset
- Swift._UnsafeBitset.Word
- Swift._UnsafeBitset.Iterator
- Swift.JoinedSequence.Iterator._JoinIteratorState
- Swift._BridgeStorage
- Swift._CollectionBox
- Swift.UnboundedRange_
- Swift._AnySequenceBox
- Swift._CVarArgAligned
- Swift.__RawSetStorage
- Swift.__VaListBuilder
- Swift.__VaListBuilder.Header
- Swift._DebuggerSupport
- Swift._DependenceToken
- Swift._ValidUTF8Buffer
- Swift._ValidUTF8Buffer.Index
- Swift._ValidUTF8Buffer.Iterator
- Swift._AnyCollectionBox
- Swift._EachFieldOptions
- Swift._NativeDictionary
- Swift._NativeDictionary.Iterator
- Swift.__CocoaDictionary
- Swift.__CocoaDictionary.Index
- Swift.__CocoaDictionary.Iterator
- Swift._stdlib_AtomicInt
- Swift._CocoaArrayWrapper
- Swift._DictionaryBuilder
- Swift._DictionaryStorage
- Swift.__SwiftNativeNSSet
- Swift._AnyIteratorBoxBase
- Swift._BridgeableMetatype
- Swift.__EmptyArrayStorage
- Swift.__EmptySetSingleton
- Swift._ArrayBufferProtocol
- Swift._PlaygroundQuickLook
- Swift._SwiftNSMutableArray
- Swift._SwiftNewtypeWrapper
- Swift.__SwiftNativeNSArray
- Swift._ClosureBasedIterator
- Swift._ClosureBasedSequence
- Swift._StringRepresentation
- Swift._StringRepresentation._Form
- Swift._AnyCollectionProtocol
- Swift._CVarArgPassedAsDouble
- Swift._ContiguousArrayBuffer
- Swift.__RawDictionaryStorage
- Swift.__SwiftDeferredNSArray
- Swift._ContiguousArrayStorage
- Swift._StringComparisonResult
- Swift._OpaqueStringSwitchCache
- Swift.__SwiftNativeNSDictionary
- Swift._OptionalNilComparisonType
- Swift._RandomAccessCollectionBox
- Swift._SwiftNativeNSMutableArray
- Swift.__EmptyDictionarySingleton
- Swift._BidirectionalCollectionBox
- Swift.__ContiguousArrayStorageBase
- Swift._AnyRandomAccessCollectionBox
- Swift._AnyBidirectionalCollectionBox
- Swift._ExpressibleByBuiltinStringLiteral
- Swift.__SwiftNativeNSArrayWithContiguousStorage
- Swift._UnsafePartiallyInitializedContiguousArrayBuffer
- Swift._ExpressibleByBuiltinExtendedGraphemeClusterLiteral
- Swift.Hasher._TailBuffer
- Swift.Hasher._Core
- Swift.Hasher._State
- Swift.Float80._Representation
- Swift._IndexBox
- Swift._UTFParser
- Swift._AnyIndexBox
- Swift._AppendKeyPath
- Swift._ArrayProtocol
- Swift._StringElement
- Swift._UnicodeParser
- Swift._AnyHashableBox
- Swift._CVarArgAligned
- Swift._UnicodeEncoding
- Swift._HashTableDelegate
- Swift._HasContiguousBytes
- Swift._ArrayBufferProtocol
- Swift._SwiftNewtypeWrapper
- Swift._ObjectiveCBridgeable
- Swift._AnyCollectionProtocol
- Swift._CVarArgPassedAsDouble
- Swift._DestructorSafeContainer
- Swift._ExpressibleByColorLiteral
- Swift._ExpressibleByImageLiteral
- Swift._CustomPlaygroundQuickLookable
- Swift._ExpressibleByBuiltinFloatLiteral
- Swift._ExpressibleByBuiltinStringLiteral
- Swift._ExpressibleByFileReferenceLiteral
- Swift._ExpressibleByBuiltinBooleanLiteral
- Swift._ExpressibleByBuiltinIntegerLiteral
- Swift._HasCustomAnyHashableRepresentation
- Swift.__DefaultCustomPlaygroundQuickLookable
- Swift._ExpressibleByBuiltinUnicodeScalarLiteral
- Swift._ExpressibleByBuiltinExtendedGraphemeClusterLiteral
- Swift._Pointer
- Swift._maskingAdd
- Swift._maskingSubtract
- Swift._step
- Swift._convertPointerToPointerArgument
- Swift._bridgeAnyObjectToAny
- Swift._expectEnd
- Swift._hashValue
- Swift._nearbyint
- Swift._setUpCast
- Swift._undefined
- Swift._asciiDigit
- Swift._branchHint
- Swift._canBeClass
- Swift._decodeUTF8
- Swift._isOptional
- Swift._isPowerOf2
- Swift._onFastPath
- Swift._parseASCII
- Swift._typeByName
- Swift._unsafePlus
- Swift._withVaList
- Swift._nullCodeUnitOffset
- Swift._IteratorBox
- Swift._SequenceBox
- Swift._autorelease
- Swift._findNextRun
- Swift._fixLifetime
- Swift._roundUpImpl
- Swift._scalarAlign
- Swift._setDownCast
- Swift._unreachable
- Swift._unsafeMinus
- Swift._decodeScalar
- Swift._forEachField
- Swift._identityCast
- Swift._precondition
- Swift._ArrayProtocol
- Swift._CollectionBox
- Swift._toUTF16CodeUnit
- Swift._fromUTF16CodeUnit
- Swift._UnicodeParser
- Swift._bytesToUInt64
- Swift._stringCompare
- Swift._AnySequenceBox
- Swift.__VaListBuilder
- Swift._arrayForceCast
- Swift._isContinuation
- Swift._isValidAddress
- Swift._persistCString
- Swift._print_unlocked
- Swift._uint64ToString
- Swift._isScalar
- Swift._fatalErrorFlags
- Swift._fpRegisterWords
- Swift._isUnique_native
- Swift._isspace_clocale
- Swift._mangledTypeName
- Swift._openExistential
- Swift._overflowChecked
- Swift._AnyCollectionBox
- Swift._assertionFailure
- Swift._bridgeCocoaArray
- Swift._countFPRegisters
- Swift._countGPRegisters
- Swift._dictionaryUpCast
- Swift._isBitwiseTakable
- Swift._replDebugPrintln
- Swift._stdlib_AtomicInt
- Swift._swift_getKeyPath
- Swift._utf8ScalarLength
- Swift.__SwiftNativeNSSet
- Swift._appendingKeyPaths
- Swift._assumeNonNegative
- Swift._bridgeCocoaString
- Swift._debugPrecondition
- Swift._emptyArrayStorage
- Swift._encodeBitsAsWords
- Swift._fatalErrorMessage
- Swift._growArrayCapacity
- Swift._internalInvariant
- Swift._isValidArrayIndex
- Swift._registerSaveWords
- Swift._AnyIteratorBoxBase
- Swift.__EmptyArrayStorage
- Swift._dictionaryDownCast
- Swift._parseUnsignedASCII
- Swift._ArrayBufferProtocol
- Swift.__SwiftNativeNSArray
- Swift._continuationPayload
- Swift._debugPrint_unlocked
- Swift._getObjCTypeEncoding
- Swift._isObjCTaggedPointer
- Swift._playgroundPrintHook
- Swift._preconditionFailure
- Swift._tryToAppendKeyPaths
- Swift._unsafeReferenceCast
- Swift._forceBridgeFromObjectiveC
- Swift._conditionallyBridgeFromObjectiveC
- Swift._unconditionallyBridgeFromObjectiveC
- Swift._arrayConditionalCast
- Swift._convertToAnyHashable
- Swift._findStringSwitchCase
- Swift._stringForPrintObject
- Swift.__SwiftDeferredNSArray
- Swift._isBridgedToObjectiveC
- Swift._isValidArraySubscript
- Swift._minimumMergeRunLength
- Swift._objCTaggedPointerBits
- Swift._stringCompareInternal
- Swift._uncheckedUnsafeAssume
- Swift._writeBackMutableSlice
- Swift._minAllocationAlignment
- Swift._objectPointerIsObjCBit
- Swift._objectPointerSpareBits
- Swift._replPrintLiteralString
- Swift._setDownCastConditional
- Swift._getErrorEmbeddedNSError
- Swift._stdlib_atomicLoadARCRef
- Swift._unsafeUncheckedDowncast
- Swift.unimplemented_utf8_32bit
- Swift.__SwiftNativeNSDictionary
- Swift._conditionallyUnreachable
- Swift._debugPreconditionFailure
- Swift._getBridgedObjectiveCType
- Swift._internalInvariantFailure
- Swift._isClassOrObjCExistential
- Swift._unimplementedInitializer
- Swift._ExpressibleByColorLiteral
- Swift._ExpressibleByImageLiteral
- Swift._RandomAccessCollectionBox
- Swift._SwiftNativeNSMutableArray
- Swift._isFastAssertConfiguration
- Swift._unsafeDowncastToAnyObject
- Swift._BidirectionalCollectionBox
- Swift._bridgeAnythingToObjectiveC
- Swift._debuggerTestingCheckExpect
- Swift._diagnoseUnexpectedEnumCase
- Swift._isDebugAssertConfiguration
- Swift._reinterpretCastToAnyObject
- Swift._stringCompareWithSmolCheck
- Swift._swift_stdlib_atomicLoadInt
- Swift.__ContiguousArrayStorageBase
- Swift._swift_stdlib_atomicStoreInt
- Swift._availabilityNextMajorVersion
- Swift._isReleaseAssertConfiguration
- Swift._bridgeObjectTaggedPointerBits
- Swift._copySequenceToContiguousArray
- Swift._dictionaryDownCastConditional
- Swift._findStringSwitchCaseWithCache
- Swift._isBridgedVerbatimToObjectiveC
- Swift._isStdlibInternalChecksEnabled
- Swift._objectPointerLowSpareBitShift
- Swift._stdlib_atomicInitializeARCRef
- Swift._swift_stdlib_atomicFetchOrInt
- Swift._swift_stdlib_atomicFetchAddInt
- Swift._swift_stdlib_atomicFetchAndInt
- Swift._swift_stdlib_atomicFetchXorInt
- Swift._bridgeNonVerbatimFromObjectiveC
- Swift._copyCollectionToContiguousArray
- Swift._diagnoseUnexpectedEnumCaseValue
- Swift._makeSwiftNSFastEnumerationState
- Swift._stdlib_binary_CFStringGetLength
- Swift._swift_stdlib_atomicFetchOrInt32
- Swift._swift_stdlib_atomicFetchOrInt64
- Swift._isBridgedNonVerbatimToObjectiveC
- Swift._stdlib_binary_CFStringCreateCopy
- Swift._swift_stdlib_atomicFetchAddInt32
- Swift._swift_stdlib_atomicFetchAddInt64
- Swift._swift_stdlib_atomicFetchAndInt32
- Swift._swift_stdlib_atomicFetchAndInt64
- Swift._swift_stdlib_atomicFetchXorInt32
- Swift._swift_stdlib_atomicFetchXorInt64
- Swift._ExpressibleByFileReferenceLiteral
- Swift._SwiftCreateBridgedArray_DoNotCall
- Swift._SwiftCreateBridgedString_DoNotCall
- Swift._convertConstArrayToPointerArgument
- Swift._fastEnumerationStorageMutationsPtr
- Swift._getUnsafePointerToStoredProperties
- Swift._getBridgedNonVerbatimObjectiveCType
- Swift._stdlib_initializeReturnAutoreleased
- Swift._convertMutableArrayToPointerArgument
- Swift._forceBridgeFromObjectiveC_bridgeable
- Swift._fastEnumerationStorageMutationsTarget
- Swift._stdlib_atomicCompareExchangeStrongPtr
- Swift._stdlib_binary_CFStringGetCharactersPtr
- Swift._convertConstStringToUTF8PointerArgument
- Swift._SwiftCreateBridgedMutableArray_DoNotCall
- Swift._hashContainerDefaultMaxLoadFactorInverse
- Swift._bridgeNonVerbatimFromObjectiveCConditional
- Swift._swift_stdlib_atomicCompareExchangeStrongInt
- Swift._conditionallyBridgeFromObjectiveC_bridgeable
- Swift._cos
- Swift._exp
- Swift._log
- Swift._sin
- Swift.ELEMENT_TYPE_OF_SET_VIOLATES_HASHABLE_REQUIREMENTS
- Swift.KEY_TYPE_OF_DICTIONARY_VIOLATES_HASHABLE_REQUIREMENTS
- Swift._exp2
- Swift._log2
- Swift._rint
- Swift._isPOD
- Swift._log10
- Swift._merge
- Swift._memcpy
- Swift._ascii16
- Swift._isASCII
- Swift._memmove
- Swift._roundUp
- Swift._IndexBox
- Swift._abstract
- Swift._fastPath
- Swift._isUnique
- Swift._slowPath
- Swift._typeName
I need to find another way other than looking for an underscore in the name to filter for public elements only.