Documentation ¶
Index ¶
- Constants
- type CFString
- type CFString64T
- type Category
- type CategoryT
- type Class
- type ClassRO
- type ClassRO64
- type ClassRoFlags
- type ImageInfo
- type ImageInfoFlag
- func (f ImageInfoFlag) HasCategoryClassProperties() bool
- func (f ImageInfoFlag) IsReplacement() bool
- func (f ImageInfoFlag) IsSimulated() bool
- func (f ImageInfoFlag) List() []string
- func (f ImageInfoFlag) OptimizedByDyld() bool
- func (f ImageInfoFlag) OptimizedByDyldClosure() bool
- func (f ImageInfoFlag) RequiresGC() bool
- func (f ImageInfoFlag) SignedClassRO() bool
- func (f ImageInfoFlag) String() string
- func (f ImageInfoFlag) SupportsGC() bool
- func (f ImageInfoFlag) SwiftVersion() string
- type ImpCache
- type ImpCache2
- type Ivar
- type IvarList
- type IvarT
- type MLFlags
- type MLKind
- type Method
- type MethodList
- func (ml MethodList) EntSize() uint32
- func (ml MethodList) FixedUp() bool
- func (ml MethodList) Flags() MLFlags
- func (ml MethodList) IsUniqued() bool
- func (ml MethodList) Sorted() bool
- func (ml MethodList) String() string
- func (ml MethodList) UsesDirectOffsetsToSelectors() bool
- func (ml MethodList) UsesRelativeOffsets() bool
- type MethodT
- type ObjcClass64
- type ObjcClassT
- type OptOffsets
- type OptOffsets2
- type PreoptCache2T
- type PreoptCacheEntry2T
- type PreoptCacheEntryT
- type PreoptCacheT
- type Property
- type PropertyList
- type PropertyT
- type Protocol
- type ProtocolList
- type ProtocolT
- type RelativeMethodT
- type Selector
- type Stub
- type SwiftClassMetadata
- type SwiftClassMetadata64
- type Toc
Constants ¶
View Source
const ( IsReplacement ImageInfoFlag = 1 << 0 // used for Fix&Continue, now ignored SupportsGC ImageInfoFlag = 1 << 1 // image supports GC RequiresGC ImageInfoFlag = 1 << 2 // image requires GC OptimizedByDyld ImageInfoFlag = 1 << 3 // image is from an optimized shared cache SignedClassRO ImageInfoFlag = 1 << 4 // class_ro_t pointers are signed IsSimulated ImageInfoFlag = 1 << 5 // image compiled for a simulator platform HasCategoryClassProperties ImageInfoFlag = 1 << 6 // class properties in category_t OptimizedByDyldClosure ImageInfoFlag = 1 << 7 // dyld (not the shared cache) optimized this. // 1 byte Swift unstable ABI version number SwiftUnstableVersionMaskShift = 8 SwiftUnstableVersionMask = 0xff << SwiftUnstableVersionMaskShift // 2 byte Swift stable ABI version number SwiftStableVersionMaskShift = 16 SwiftStableVersionMask = 0xffff << SwiftStableVersionMaskShift )
View Source
const ( METHOD_LIST_FLAGS_MASK uint32 = 0xffff0003 // The size is bits 2 through 16 of the entsize field // The low 2 bits are uniqued/sorted as above. The upper 16-bits // are reserved for other flags METHOD_LIST_SIZE_MASK uint32 = 0x0000FFFC )
View Source
const ( // Values for protocol_t->flags PROTOCOL_FIXED_UP_2 = (1 << 31) // must never be set by compiler PROTOCOL_FIXED_UP_1 = (1 << 30) // must never be set by compiler PROTOCOL_IS_CANONICAL = (1 << 29) // must never be set by compiler // Bits 0..15 are reserved for Swift's use. PROTOCOL_FIXED_UP_MASK = (PROTOCOL_FIXED_UP_1 | PROTOCOL_FIXED_UP_2) )
View Source
const ( FAST_DATA_MASK = 0xfffffffc FAST_DATA_MASK64 = 0x00007ffffffffff8 )
View Source
const ( FAST_IS_SWIFT_LEGACY = 0x1 // < 5 FAST_IS_SWIFT_STABLE = 0x2 // 5.X IsSwiftPreStableABI = 0x1 )
View Source
const IsDyldPreoptimized = 1 << 7
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CFString ¶ added in v1.1.1
type CFString struct { Name string Address uint64 Class *Class *CFString64T }
CFString object in a 64-bit MachO file
type CFString64T ¶ added in v1.1.1
type CFString64T struct { IsaVMAddr uint64 // class64_t * (64-bit pointer) Info uint64 // flag bits Data uint64 // char * (64-bit pointer) Length uint64 // number of non-NULL characters in above }
CFString64T object in a 64-bit MachO file
type Category ¶
type Class ¶
type Class struct { Name string SuperClass string Isa string InstanceMethods []Method ClassMethods []Method Ivars []Ivar Props []Property Prots []Protocol ClassPtr uint64 IsaVMAddr uint64 SuperclassVMAddr uint64 MethodCacheBuckets uint64 MethodCacheProperties uint64 DataVMAddr uint64 IsSwiftLegacy bool IsSwiftStable bool ReadOnlyData ClassRO64 }
type ClassRoFlags ¶
type ClassRoFlags uint32
const ( // class is a metaclass RO_META ClassRoFlags = (1 << 0) // class is a root class RO_ROOT ClassRoFlags = (1 << 1) // class has .cxx_construct/destruct implementations RO_HAS_CXX_STRUCTORS ClassRoFlags = (1 << 2) // class has +load implementation RO_HAS_LOAD_METHOD ClassRoFlags = (1 << 3) // class has visibility=hidden set RO_HIDDEN ClassRoFlags = (1 << 4) // class has attributeClassRoFlags = (objc_exception): OBJC_EHTYPE_$_ThisClass is non-weak RO_EXCEPTION ClassRoFlags = (1 << 5) // class has ro field for Swift metadata initializer callback RO_HAS_SWIFT_INITIALIZER ClassRoFlags = (1 << 6) // class compiled with ARC RO_IS_ARC ClassRoFlags = (1 << 7) // class has .cxx_destruct but no .cxx_construct ClassRoFlags = (with RO_HAS_CXX_STRUCTORS) RO_HAS_CXX_DTOR_ONLY ClassRoFlags = (1 << 8) // class is not ARC but has ARC-style weak ivar layout RO_HAS_WEAK_WITHOUT_ARC ClassRoFlags = (1 << 9) // class does not allow associated objects on instances RO_FORBIDS_ASSOCIATED_OBJECTS ClassRoFlags = (1 << 10) // class is in an unloadable bundle - must never be set by compiler RO_FROM_BUNDLE ClassRoFlags = (1 << 29) // class is unrealized future class - must never be set by compiler RO_FUTURE ClassRoFlags = (1 << 30) // class is realized - must never be set by compiler RO_REALIZED ClassRoFlags = (1 << 31) )
func (ClassRoFlags) HasCxxStructors ¶
func (f ClassRoFlags) HasCxxStructors() bool
func (ClassRoFlags) HasFuture ¶ added in v1.1.76
func (f ClassRoFlags) HasFuture() bool
func (ClassRoFlags) IsMeta ¶
func (f ClassRoFlags) IsMeta() bool
func (ClassRoFlags) IsRoot ¶
func (f ClassRoFlags) IsRoot() bool
type ImageInfo ¶
type ImageInfo struct { Version uint32 Flags ImageInfoFlag }
func (ImageInfo) IsDyldPreoptimized ¶ added in v1.1.102
type ImageInfoFlag ¶
type ImageInfoFlag uint32
func (ImageInfoFlag) HasCategoryClassProperties ¶ added in v1.1.1
func (f ImageInfoFlag) HasCategoryClassProperties() bool
func (ImageInfoFlag) IsReplacement ¶ added in v1.1.1
func (f ImageInfoFlag) IsReplacement() bool
func (ImageInfoFlag) IsSimulated ¶ added in v1.1.1
func (f ImageInfoFlag) IsSimulated() bool
func (ImageInfoFlag) List ¶ added in v1.1.1
func (f ImageInfoFlag) List() []string
func (ImageInfoFlag) OptimizedByDyld ¶ added in v1.1.1
func (f ImageInfoFlag) OptimizedByDyld() bool
func (ImageInfoFlag) OptimizedByDyldClosure ¶ added in v1.1.1
func (f ImageInfoFlag) OptimizedByDyldClosure() bool
func (ImageInfoFlag) RequiresGC ¶ added in v1.1.1
func (f ImageInfoFlag) RequiresGC() bool
func (ImageInfoFlag) SignedClassRO ¶ added in v1.1.102
func (f ImageInfoFlag) SignedClassRO() bool
func (ImageInfoFlag) String ¶ added in v1.1.1
func (f ImageInfoFlag) String() string
func (ImageInfoFlag) SupportsGC ¶ added in v1.1.1
func (f ImageInfoFlag) SupportsGC() bool
func (ImageInfoFlag) SwiftVersion ¶
func (f ImageInfoFlag) SwiftVersion() string
type ImpCache ¶ added in v1.1.12
type ImpCache struct { PreoptCacheT Entries []PreoptCacheEntryT }
type ImpCache2 ¶ added in v1.1.102
type ImpCache2 struct { PreoptCache2T Entries []PreoptCacheEntry2T }
type Method ¶
type Method struct { NameVMAddr uint64 // & SEL TypesVMAddr uint64 // & const char * ImpVMAddr uint64 // & IMP // We also need to know where the reference to the nameVMAddr was // This is so that we know how to rebind that location NameLocationVMAddr uint64 Name string Types string }
func (*Method) ArgumentType ¶ added in v1.1.19
func (*Method) NumberOfArguments ¶
NumberOfArguments returns the number of method arguments
func (*Method) ReturnType ¶
ReturnType returns the method's return type
type MethodList ¶
func (MethodList) EntSize ¶
func (ml MethodList) EntSize() uint32
func (MethodList) FixedUp ¶
func (ml MethodList) FixedUp() bool
func (MethodList) Flags ¶ added in v1.1.102
func (ml MethodList) Flags() MLFlags
func (MethodList) IsUniqued ¶
func (ml MethodList) IsUniqued() bool
func (MethodList) Sorted ¶ added in v1.1.107
func (ml MethodList) Sorted() bool
func (MethodList) String ¶
func (ml MethodList) String() string
func (MethodList) UsesDirectOffsetsToSelectors ¶ added in v1.1.107
func (ml MethodList) UsesDirectOffsetsToSelectors() bool
func (MethodList) UsesRelativeOffsets ¶ added in v1.1.107
func (ml MethodList) UsesRelativeOffsets() bool
type ObjcClass64 ¶
type ObjcClassT ¶
type OptOffsets ¶ added in v1.1.50
type OptOffsets2 ¶ added in v1.1.50
type PreoptCache2T ¶ added in v1.1.102
func (PreoptCache2T) BitOne ¶ added in v1.1.102
func (p PreoptCache2T) BitOne() bool
func (PreoptCache2T) CacheMask ¶ added in v1.1.102
func (p PreoptCache2T) CacheMask() uint32
func (PreoptCache2T) CacheShift ¶ added in v1.1.102
func (p PreoptCache2T) CacheShift() uint32
func (PreoptCache2T) Capacity ¶ added in v1.1.102
func (p PreoptCache2T) Capacity() uint32
func (PreoptCache2T) HasInlines ¶ added in v1.1.102
func (p PreoptCache2T) HasInlines() bool
func (PreoptCache2T) Occupied ¶ added in v1.1.102
func (p PreoptCache2T) Occupied() uint32
func (PreoptCache2T) String ¶ added in v1.1.102
func (p PreoptCache2T) String() string
type PreoptCacheEntry2T ¶ added in v1.1.102
func (PreoptCacheEntry2T) GetImpOffset ¶ added in v1.1.102
func (e PreoptCacheEntry2T) GetImpOffset() int64
func (PreoptCacheEntry2T) GetSelOffset ¶ added in v1.1.102
func (e PreoptCacheEntry2T) GetSelOffset() uint32
type PreoptCacheEntryT ¶ added in v1.1.12
type PreoptCacheT ¶ added in v1.1.12
func (PreoptCacheT) BitOne ¶ added in v1.1.12
func (p PreoptCacheT) BitOne() bool
func (PreoptCacheT) CacheMask ¶ added in v1.1.12
func (p PreoptCacheT) CacheMask() uint32
func (PreoptCacheT) CacheShift ¶ added in v1.1.12
func (p PreoptCacheT) CacheShift() uint32
func (PreoptCacheT) Capacity ¶ added in v1.1.50
func (p PreoptCacheT) Capacity() uint32
func (PreoptCacheT) HasInlines ¶ added in v1.1.12
func (p PreoptCacheT) HasInlines() bool
func (PreoptCacheT) Occupied ¶ added in v1.1.12
func (p PreoptCacheT) Occupied() uint32
func (PreoptCacheT) String ¶ added in v1.1.12
func (p PreoptCacheT) String() string
type PropertyList ¶
type Protocol ¶
type ProtocolList ¶ added in v1.1.3
type ProtocolT ¶
type ProtocolT struct { IsaVMAddr uint64 NameVMAddr uint64 ProtocolsVMAddr uint64 InstanceMethodsVMAddr uint64 ClassMethodsVMAddr uint64 OptionalInstanceMethodsVMAddr uint64 OptionalClassMethodsVMAddr uint64 InstancePropertiesVMAddr uint64 Size uint32 Flags uint32 // Fields below this point are not always present on disk. ExtendedMethodTypesVMAddr uint64 DemangledNameVMAddr uint64 ClassPropertiesVMAddr uint64 }
type RelativeMethodT ¶ added in v1.1.107
type SwiftClassMetadata ¶
type SwiftClassMetadata struct { ObjcClassT SwiftClassFlags uint32 }
type SwiftClassMetadata64 ¶
type SwiftClassMetadata64 struct { ObjcClass64 SwiftClassFlags uint64 }
Click to show internal directories.
Click to hide internal directories.