Documentation ¶
Index ¶
- Constants
- type ATRecordType
- type AccessibleFunctionCacheEntry
- type AccessibleFunctionFlags
- type AccessibleFunctionsSection
- type AccessibleFunctionsState
- type AssociatedType
- type AssociatedTypeDescriptor
- type AssociatedTypeRecord
- type AutomaticDynamicReplacementEntry
- type AutomaticDynamicReplacements
- type AutomaticDynamicReplacementsSome
- type BuiltinType
- type BuiltinTypeDescriptor
- type Capture
- type CaptureDescriptor
- type CaptureTypeRecord
- type ConformanceDescriptor
- type ConformanceFlags
- func (f ConformanceFlags) GetNumConditionalRequirements() int
- func (f ConformanceFlags) GetTypeReferenceKind() TypeReferenceKind
- func (f ConformanceFlags) HasGenericWitnessTable() bool
- func (f ConformanceFlags) HasResilientWitnesses() bool
- func (f ConformanceFlags) IsRetroactive() bool
- func (f ConformanceFlags) IsSynthesizedNonUnique() bool
- func (f ConformanceFlags) NumConditionalPackShapeDescriptors() int
- func (f ConformanceFlags) String() string
- type ContextDescriptorFlags
- func (f ContextDescriptorFlags) IsGeneric() bool
- func (f ContextDescriptorFlags) IsUnique() bool
- func (f ContextDescriptorFlags) Kind() ContextDescriptorKind
- func (f ContextDescriptorFlags) KindSpecific() TypeContextDescriptorFlags
- func (f ContextDescriptorFlags) String() string
- func (f ContextDescriptorFlags) Version() uint8
- type ContextDescriptorKind
- type DynamicReplacementChainEntry
- type DynamicReplacementDescriptor
- type DynamicReplacementKey
- type DynamicReplacementScope
- type DynamicReplacementSomeDescriptor
- type Enum
- type ExtraClassDescriptorFlags
- type Field
- type FieldDescriptor
- type FieldDescriptorKind
- type FieldRecord
- type FieldRecordDescriptor
- type FieldRecordFlags
- type GenericContext
- type GenericContextDescriptorFlags
- type GenericEnvironmentFlags
- type GenericMetadataPatternFlags
- type GenericPackKind
- type GenericPackShapeDescriptor
- type GenericPackShapeHeader
- type GenericParamDescriptor
- type GenericParamKind
- type GenericRequirementFlags
- type GenericRequirementKind
- type MDKind
- type Metadata
- type MetadataInitializationKind
- type MetadataKind
- type MetadataSource
- type MetadataSourceRecord
- type Method
- type MethodDescriptorFlags
- func (f MethodDescriptorFlags) ExtraDiscriminator() uint16
- func (f MethodDescriptorFlags) IsAsync() bool
- func (f MethodDescriptorFlags) IsDynamic() bool
- func (f MethodDescriptorFlags) IsInstance() bool
- func (f MethodDescriptorFlags) Kind() MDKind
- func (f MethodDescriptorFlags) String(field string) string
- type MultiPayloadEnum
- type MultiPayloadEnumDescriptor
- type MultiPayloadEnumPayloadSpareBitMaskByteCount
- type MultiPayloadEnumSizeAndFlags
- type NecessaryBindings
- type NecessaryBindingsKind
- type PCDWitnessTable
- type Protocol
- type ProtocolContextDescriptorFlags
- type ProtocolRequirementFlags
- func (f ProtocolRequirementFlags) ExtraDiscriminator() uint16
- func (f ProtocolRequirementFlags) IsAsync() bool
- func (f ProtocolRequirementFlags) IsFunctionImpl() bool
- func (f ProtocolRequirementFlags) IsInstance() bool
- func (f ProtocolRequirementFlags) IsSignedWithAddress() bool
- func (f ProtocolRequirementFlags) Kind() ProtocolRequirementKind
- func (f ProtocolRequirementFlags) String() string
- type ProtocolRequirementKind
- type RelativeDirectPointer
- type RelativeIndirectablePointer
- type ResilientWitnesses
- type SpecialPointerAuthDiscriminators
- type TargetAccessibleFunctionRecord
- type TargetAnonymousContextDescriptor
- type TargetCanonicalSpecializedMetadatasCachingOnceToken
- type TargetCanonicalSpecializedMetadatasListCount
- type TargetCanonicalSpecializedMetadatasListEntry
- type TargetClassDescriptor
- type TargetContextDescriptor
- type TargetEnumDescriptor
- type TargetExtensionContextDescriptor
- type TargetForeignMetadataInitialization
- type TargetGenericContextDescriptorHeader
- type TargetGenericEnvironment
- type TargetGenericMetadataInstantiationCache
- type TargetGenericMetadataPattern
- type TargetGenericRequirement
- type TargetGenericRequirementDescriptor
- type TargetGenericWitnessTable
- type TargetMetadata
- type TargetMethodDescriptor
- type TargetMethodOverrideDescriptor
- type TargetModuleContext
- type TargetModuleContextDescriptor
- type TargetObjCResilientClassStubInfo
- type TargetOpaqueTypeDescriptor
- type TargetOverrideTableHeader
- type TargetProtocolConformanceDescriptor
- type TargetProtocolDescriptor
- type TargetProtocolRecord
- type TargetProtocolRequirement
- type TargetRelativeDirectPointer
- type TargetResilientSuperclass
- type TargetResilientWitness
- type TargetResilientWitnessesHeader
- type TargetSingletonMetadataInitialization
- type TargetStructDescriptor
- type TargetTypeContextDescriptor
- type TargetTypeGenericContextDescriptorHeader
- type TargetVTableDescriptorHeader
- type TargetWitnessTable
- type Type
- type TypeContextDescriptorFlags
- func (f TypeContextDescriptorFlags) AreImmediateMembersNegative() bool
- func (f TypeContextDescriptorFlags) HasCanonicalMetadataPrespecializations() bool
- func (f TypeContextDescriptorFlags) HasImportInfo() bool
- func (f TypeContextDescriptorFlags) HasOverrideTable() bool
- func (f TypeContextDescriptorFlags) HasResilientSuperclass() bool
- func (f TypeContextDescriptorFlags) HasVTable() bool
- func (f TypeContextDescriptorFlags) IsActor() bool
- func (f TypeContextDescriptorFlags) IsDefaultActor() bool
- func (f TypeContextDescriptorFlags) MetadataInitialization() MetadataInitializationKind
- func (f TypeContextDescriptorFlags) ResilientSuperclassReferenceKind() TypeReferenceKind
- func (f TypeContextDescriptorFlags) String() string
- type TypeReferenceKind
- type VTable
Constants ¶
const ( // Non-type metadata kinds have this bit set. MetadataKindIsNonType = 0x400 // Non-heap metadata kinds have this bit set. MetadataKindIsNonHeap = 0x200 // The above two flags are negative because the "class" kind has to be zero, // and class metadata is both type and heap metadata. // Runtime-private metadata has this bit set. The compiler must not statically // generate metadata objects with these kinds, and external tools should not // rely on the stability of these values or the precise binary layout of // their associated data structures. MetadataKindIsRuntimePrivate = 0x100 )
const ( /// Does this pattern have an extra-data pattern? HasExtraDataPattern = 0 /// Do instances of this pattern have a bitset of flags that occur at the /// end of the metadata, after the extra data if there is any? HasTrailingFlags = 1 /// Does this pattern have an immediate-members pattern? Class_HasImmediateMembersPattern = 31 /// For value metadata: the metadata kind of the type. Value_MetadataKind = 21 Value_MetadataKind_width = 11 )
const ( // Bit used to indicate that an associated type witness is a pointer to a mangled name (vs. a pointer to metadata). AssociatedTypeMangledNameBit uint32 = 0x01 // Prefix byte used to identify an associated type whose mangled name is relative to the protocol's context rather than the conforming type's context. AssociatedTypeInProtocolContextByte uint8 = 0xFF )
const ( /// The name of the standard library, which is a reserved module name. STDLIB_NAME = "Swift" /// The name of the Onone support library, which is a reserved module name. SWIFT_ONONE_SUPPORT = "SwiftOnoneSupport" /// The name of the SwiftShims module, which contains private stdlib decls. SWIFT_SHIMS_NAME = "SwiftShims" /// The name of the Builtin module, which contains Builtin functions. BUILTIN_NAME = "Builtin" /// The name of the clang imported header module. CLANG_HEADER_MODULE_NAME = "__ObjC" /// The prefix of module names used by LLDB to capture Swift expressions LLDB_EXPRESSIONS_MODULE_NAME_PREFIX = "__lldb_expr_" /// The name of the fake module used to hold imported Objective-C things. MANGLING_MODULE_OBJC = "__C" /// The name of the fake module used to hold synthesized ClangImporter things. MANGLING_MODULE_CLANG_IMPORTER = "__C_Synthesized" /// The name prefix for C++ template instantiation imported as a Swift struct. CXX_TEMPLATE_INST_PREFIX = "__CxxTemplateInst" SEMANTICS_PROGRAMTERMINATION_POINT = "programtermination_point" /// The name of the Builtin type prefix BUILTIN_TYPE_NAME_PREFIX = "Builtin." )
const ( /// The name of the Builtin type for Int BUILTIN_TYPE_NAME_INT = "Builtin.Int" /// The name of the Builtin type for Int8 BUILTIN_TYPE_NAME_INT8 = "Builtin.Int8" /// The name of the Builtin type for Int16 BUILTIN_TYPE_NAME_INT16 = "Builtin.Int16" /// The name of the Builtin type for Int32 BUILTIN_TYPE_NAME_INT32 = "Builtin.Int32" /// The name of the Builtin type for Int64 BUILTIN_TYPE_NAME_INT64 = "Builtin.Int64" /// The name of the Builtin type for Int128 BUILTIN_TYPE_NAME_INT128 = "Builtin.Int128" /// The name of the Builtin type for Int256 BUILTIN_TYPE_NAME_INT256 = "Builtin.Int256" /// The name of the Builtin type for Int512 BUILTIN_TYPE_NAME_INT512 = "Builtin.Int512" /// The name of the Builtin type for IntLiteral BUILTIN_TYPE_NAME_INTLITERAL = "Builtin.IntLiteral" /// The name of the Builtin type for IEEE Floating point types. BUILTIN_TYPE_NAME_FLOAT = "Builtin.FPIEEE" // The name of the builtin type for power pc specific floating point types. BUILTIN_TYPE_NAME_FLOAT_PPC = "Builtin.FPPPC" /// The name of the Builtin type for NativeObject BUILTIN_TYPE_NAME_NATIVEOBJECT = "Builtin.NativeObject" /// The name of the Builtin type for BridgeObject BUILTIN_TYPE_NAME_BRIDGEOBJECT = "Builtin.BridgeObject" /// The name of the Builtin type for RawPointer BUILTIN_TYPE_NAME_RAWPOINTER = "Builtin.RawPointer" /// The name of the Builtin type for UnsafeValueBuffer BUILTIN_TYPE_NAME_UNSAFEVALUEBUFFER = "Builtin.UnsafeValueBuffer" /// The name of the Builtin type for UnknownObject /// /// This no longer exists as an AST-accessible type, but it's still used for /// fields shaped like AnyObject when ObjC interop is enabled. BUILTIN_TYPE_NAME_UNKNOWNOBJECT = "Builtin.UnknownObject" /// The name of the Builtin type for Vector BUILTIN_TYPE_NAME_VEC = "Builtin.Vec" /// The name of the Builtin type for SILToken BUILTIN_TYPE_NAME_SILTOKEN = "Builtin.SILToken" /// The name of the Builtin type for Word BUILTIN_TYPE_NAME_WORD = "Builtin.Word" )
const ( KindMask = 0x0F // 16 kinds should be enough for anybody IsInstanceMask = 0x10 IsDynamicMask = 0x20 IsAsyncMask = 0x40 ExtraDiscriminatorShift = 16 ExtraDiscriminatorMask = 0xFFFF0000 )
const ( // A type parameter. GPKType = 0 // A type parameter pack. GPKTypePack = 1 GPKMax = 0x3F )
const EnableChainingMask = 0x1
const MaxNumExtraInhabitants = 0x7FFFFFFF
const SWIFT_REFLECTION_METADATA_VERSION = 3 // superclass field
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ATRecordType ¶ added in v1.1.100
type ATRecordType struct { AssociatedTypeRecord Name string SubstitutedTypeName string SubstitutedTypeAddr uint64 }
type AccessibleFunctionCacheEntry ¶ added in v1.1.166
type AccessibleFunctionFlags ¶ added in v1.1.166
type AccessibleFunctionFlags uint32
const (
Distributed AccessibleFunctionFlags = 0
)
type AccessibleFunctionsSection ¶ added in v1.1.166
type AccessibleFunctionsState ¶ added in v1.1.166
type AccessibleFunctionsState struct { Cache AccessibleFunctionCacheEntry SectionsToScan AccessibleFunctionsSection }
type AssociatedType ¶ added in v1.1.166
type AssociatedType struct { AssociatedTypeDescriptor Address uint64 ConformingTypeAddr uint64 ConformingTypeName string ProtocolTypeName string TypeRecords []ATRecordType }
func (AssociatedType) String ¶ added in v1.1.166
func (a AssociatedType) String() string
func (AssociatedType) Verbose ¶ added in v1.1.166
func (a AssociatedType) Verbose() string
type AssociatedTypeDescriptor ¶
type AssociatedTypeDescriptor struct { ConformingTypeNameOffset RelativeDirectPointer ProtocolTypeNameOffset RelativeDirectPointer NumAssociatedTypes uint32 AssociatedTypeRecordSize uint32 }
AssociatedTypeDescriptor an associated type descriptor contains a collection of associated type records for a conformance. ref: include/swift/RemoteInspection/Records.h
func (*AssociatedTypeDescriptor) Read ¶ added in v1.1.166
func (a *AssociatedTypeDescriptor) Read(r io.Reader, addr uint64) error
func (AssociatedTypeDescriptor) Size ¶ added in v1.1.166
func (a AssociatedTypeDescriptor) Size() int64
type AssociatedTypeRecord ¶
type AssociatedTypeRecord struct { NameOffset RelativeDirectPointer SubstitutedTypeNameOffset RelativeDirectPointer }
AssociatedTypeRecord type records describe the mapping from an associated type to the type witness of a conformance. ref: include/swift/RemoteInspection/Records.h
func (*AssociatedTypeRecord) Read ¶ added in v1.1.166
func (a *AssociatedTypeRecord) Read(r io.Reader, addr uint64) error
func (AssociatedTypeRecord) Size ¶ added in v1.1.166
func (a AssociatedTypeRecord) Size() int64
type AutomaticDynamicReplacementEntry ¶ added in v1.1.166
type AutomaticDynamicReplacements ¶ added in v1.1.166
type AutomaticDynamicReplacements struct { Flags uint32 NumScopes uint32 AutomaticDynamicReplacementEntry }
type AutomaticDynamicReplacementsSome ¶ added in v1.1.166
type AutomaticDynamicReplacementsSome struct { Flags uint32 NumReplacements uint32 Replacements []DynamicReplacementSomeDescriptor }
type BuiltinType ¶ added in v1.1.0
type BuiltinType struct { BuiltinTypeDescriptor Address uint64 Name string }
BuiltinType builtin swift type
func (BuiltinType) String ¶ added in v1.1.100
func (b BuiltinType) String() string
func (BuiltinType) Verbose ¶ added in v1.1.166
func (b BuiltinType) Verbose() string
type BuiltinTypeDescriptor ¶
type BuiltinTypeDescriptor struct { TypeName int32 Size uint32 AlignmentAndFlags builtinTypeFlag Stride uint32 NumExtraInhabitants uint32 }
BuiltinTypeDescriptor type records describe basic layout information about any builtin types referenced from the other sections. ref: include/swift/RemoteInspection/Records.h
type Capture ¶ added in v1.1.166
type Capture struct { CaptureDescriptor Address uint64 CaptureTypes []string MetadataSources []MetadataSource Bindings []NecessaryBindings }
type CaptureDescriptor ¶
type CaptureDescriptor struct { NumCaptureTypes uint32 // The number of captures in the closure and the number of typerefs that immediately follow this struct. NumMetadataSources uint32 // The number of sources of metadata available in the MetadataSourceMap directly following the list of capture's typerefs. NumBindings uint32 // The number of items in the NecessaryBindings structure at the head of the closure. }
CaptureDescriptor describe the layout of a closure context object. Unlike nominal types, the generic substitutions for a closure context come from the object, and not the metadata. ref: include/swift/RemoteInspection/Records.h - CaptureDescriptor
type CaptureTypeRecord ¶
type CaptureTypeRecord struct {
MangledTypeName int32
}
type ConformanceDescriptor ¶ added in v1.1.166
type ConformanceDescriptor struct { TargetProtocolConformanceDescriptor Address uint64 Protocol string TypeRef *Type Retroactive *TargetModuleContext // context of a retroactive conformance ConditionalRequirements []TargetGenericRequirement ConditionalPackShapes []GenericPackShapeDescriptor ResilientWitnesses []ResilientWitnesses GenericWitnessTable TargetGenericWitnessTable WitnessTablePattern *PCDWitnessTable }
func (ConformanceDescriptor) String ¶ added in v1.1.166
func (c ConformanceDescriptor) String() string
func (ConformanceDescriptor) Verbose ¶ added in v1.1.166
func (c ConformanceDescriptor) Verbose() string
type ConformanceFlags ¶ added in v1.1.166
type ConformanceFlags uint32
const ( UnusedLowBits ConformanceFlags = 0x07 // historical conformance kind TypeMetadataKindMask ConformanceFlags = 0x7 << 3 // 8 type reference kinds TypeMetadataKindShift = 3 IsRetroactiveMask ConformanceFlags = 0x01 << 6 IsSynthesizedNonUniqueMask ConformanceFlags = 0x01 << 7 NumConditionalRequirementsMask ConformanceFlags = 0xFF << 8 NumConditionalRequirementsShift = 8 HasResilientWitnessesMask ConformanceFlags = 0x01 << 16 HasGenericWitnessTableMask ConformanceFlags = 0x01 << 17 NumConditionalPackDescriptorsMask ConformanceFlags = 0xFF << 24 NumConditionalPackDescriptorsShift = 24 )
func (ConformanceFlags) GetNumConditionalRequirements ¶ added in v1.1.166
func (f ConformanceFlags) GetNumConditionalRequirements() int
GetNumConditionalRequirements retrieve the # of conditional requirements.
func (ConformanceFlags) GetTypeReferenceKind ¶ added in v1.1.166
func (f ConformanceFlags) GetTypeReferenceKind() TypeReferenceKind
GetTypeReferenceKind retrieve the type reference kind kind.
func (ConformanceFlags) HasGenericWitnessTable ¶ added in v1.1.166
func (f ConformanceFlags) HasGenericWitnessTable() bool
HasGenericWitnessTable whether this conformance has a generic witness table that may need to be instantiated.
func (ConformanceFlags) HasResilientWitnesses ¶ added in v1.1.166
func (f ConformanceFlags) HasResilientWitnesses() bool
HasResilientWitnesses whether this conformance has any resilient witnesses.
func (ConformanceFlags) IsRetroactive ¶ added in v1.1.166
func (f ConformanceFlags) IsRetroactive() bool
IsRetroactive Is the conformance "retroactive"?
A conformance is retroactive when it occurs in a module that is neither the module in which the protocol is defined nor the module in which the conforming type is defined. With retroactive conformance, it is possible to detect a conflict at run time.
func (ConformanceFlags) IsSynthesizedNonUnique ¶ added in v1.1.166
func (f ConformanceFlags) IsSynthesizedNonUnique() bool
IsSynthesizedNonUnique is the conformance synthesized in a non-unique manner?
The Swift compiler will synthesize conformances on behalf of some imported entities (e.g., C typedefs with the swift_wrapper attribute). Such conformances are retroactive by nature, but the presence of multiple such conformances is not a conflict because all synthesized conformances will be equivalent.
func (ConformanceFlags) NumConditionalPackShapeDescriptors ¶ added in v1.1.166
func (f ConformanceFlags) NumConditionalPackShapeDescriptors() int
NumConditionalPackShapeDescriptors retrieve the # of conditional pack shape descriptors.
func (ConformanceFlags) String ¶ added in v1.1.166
func (f ConformanceFlags) String() string
type ContextDescriptorFlags ¶ added in v1.1.166
type ContextDescriptorFlags uint32
func (ContextDescriptorFlags) IsGeneric ¶ added in v1.1.166
func (f ContextDescriptorFlags) IsGeneric() bool
func (ContextDescriptorFlags) IsUnique ¶ added in v1.1.166
func (f ContextDescriptorFlags) IsUnique() bool
func (ContextDescriptorFlags) Kind ¶ added in v1.1.166
func (f ContextDescriptorFlags) Kind() ContextDescriptorKind
func (ContextDescriptorFlags) KindSpecific ¶ added in v1.1.166
func (f ContextDescriptorFlags) KindSpecific() TypeContextDescriptorFlags
func (ContextDescriptorFlags) String ¶ added in v1.1.166
func (f ContextDescriptorFlags) String() string
func (ContextDescriptorFlags) Version ¶ added in v1.1.166
func (f ContextDescriptorFlags) Version() uint8
type ContextDescriptorKind ¶ added in v1.1.166
type ContextDescriptorKind uint8
const ( // This context descriptor represents a module. CDKindModule ContextDescriptorKind = 0 // module /// This context descriptor represents an extension. CDKindExtension ContextDescriptorKind = 1 // extension /// This context descriptor represents an anonymous possibly-generic context /// such as a function body. CDKindAnonymous ContextDescriptorKind = 2 // anonymous /// This context descriptor represents a protocol context. CDKindProtocol ContextDescriptorKind = 3 // protocol /// This context descriptor represents an opaque type alias. CDKindOpaqueType ContextDescriptorKind = 4 // opaque_type /// First kind that represents a type of any sort. CDKindTypeFirst = 16 // type_first /// This context descriptor represents a class. CDKindClass ContextDescriptorKind = CDKindTypeFirst // class /// This context descriptor represents a struct. CDKindStruct ContextDescriptorKind = CDKindTypeFirst + 1 // struct /// This context descriptor represents an enum. CDKindEnum ContextDescriptorKind = CDKindTypeFirst + 2 // enum /// Last kind that represents a type of any sort. CDKindTypeLast = 31 // type_last )
func (ContextDescriptorKind) String ¶ added in v1.1.166
func (i ContextDescriptorKind) String() string
type DynamicReplacementChainEntry ¶ added in v1.1.166
type DynamicReplacementDescriptor ¶ added in v1.1.100
type DynamicReplacementDescriptor struct { ReplacedFunctionKey int32 // DynamicReplacementKey ReplacementFunction int32 // UNION w/ ReplacementAsyncFunction - TargetCompactFunctionPointer|TargetRelativeDirectPointer ChainEntry int32 // DynamicReplacementChainEntry Flags uint32 }
func (DynamicReplacementDescriptor) ShouldChain ¶ added in v1.1.166
func (d DynamicReplacementDescriptor) ShouldChain() bool
type DynamicReplacementKey ¶ added in v1.1.100
func (DynamicReplacementKey) ExtraDiscriminator ¶ added in v1.1.166
func (d DynamicReplacementKey) ExtraDiscriminator() uint16
func (DynamicReplacementKey) IsAsync ¶ added in v1.1.166
func (d DynamicReplacementKey) IsAsync() bool
type DynamicReplacementScope ¶ added in v1.1.100
type DynamicReplacementScope struct { Flags uint32 NumReplacements uint32 // hard coded to 1 DynamicReplacementDescriptor }
type DynamicReplacementSomeDescriptor ¶ added in v1.1.166
type Enum ¶ added in v1.1.166
type Enum struct { TargetEnumDescriptor GenericContext *GenericContext ForeignMetadata *TargetForeignMetadataInitialization SingletonMetadata *TargetSingletonMetadataInitialization Metadatas []Metadata CachingOnceToken *TargetCanonicalSpecializedMetadatasCachingOnceToken }
type ExtraClassDescriptorFlags ¶ added in v1.1.166
type ExtraClassDescriptorFlags uint32
const (
HasObjCResilientClassStub ExtraClassDescriptorFlags = 0
)
type Field ¶ added in v1.1.166
type Field struct { FieldDescriptor Address uint64 Type string SuperClass string Records []FieldRecord }
func (Field) IsProtocol ¶ added in v1.1.166
type FieldDescriptor ¶ added in v1.1.166
type FieldDescriptor struct { MangledTypeNameOffset RelativeDirectPointer SuperclassOffset RelativeDirectPointer Kind FieldDescriptorKind FieldRecordSize uint16 NumFields uint32 }
FieldDescriptor contain a collection of field records for a single class, struct or enum declaration. ref: swift/include/swift/Reflection/Records.h
func (*FieldDescriptor) Read ¶ added in v1.1.166
func (fd *FieldDescriptor) Read(r io.Reader, addr uint64) error
func (FieldDescriptor) Size ¶ added in v1.1.166
func (fd FieldDescriptor) Size() uint64
type FieldDescriptorKind ¶ added in v1.1.166
type FieldDescriptorKind uint16
const ( // Swift nominal types. FDKindStruct FieldDescriptorKind = iota // struct FDKindClass // class FDKindEnum // enum // Fixed-size multi-payload enums have a special descriptor format that // encodes spare bits. // // FIXME: Actually implement this. For now, a descriptor with this kind // just means we also have a builtin descriptor from which we get the // size and alignment. FDKindMultiPayloadEnum // multi-payload enum // A Swift opaque protocol. There are no fields, just a record for the // type itself. FDKindProtocol // protocol // A Swift class-bound protocol. FDKindClassProtocol // class protocol // An Objective-C protocol, which may be imported or defined in Swift. FDKindObjCProtocol // objc protocol // An Objective-C class, which may be imported or defined in Swift. // In the former case, field type metadata is not emitted, and // must be obtained from the Objective-C runtime. FDKindObjCClass // objc class )
func (FieldDescriptorKind) String ¶ added in v1.1.166
func (i FieldDescriptorKind) String() string
type FieldRecord ¶ added in v1.1.166
type FieldRecord struct { FieldRecordDescriptor Name string MangledType string }
type FieldRecordDescriptor ¶ added in v1.1.166
type FieldRecordDescriptor struct { Flags FieldRecordFlags MangledTypeNameOffset RelativeDirectPointer FieldNameOffset RelativeDirectPointer }
func (*FieldRecordDescriptor) Read ¶ added in v1.1.166
func (frd *FieldRecordDescriptor) Read(r io.Reader, addr uint64) error
func (FieldRecordDescriptor) Size ¶ added in v1.1.166
func (fd FieldRecordDescriptor) Size() uint64
type FieldRecordFlags ¶ added in v1.1.166
type FieldRecordFlags uint32
const ( // IsIndirectCase is this an indirect enum case? IsIndirectCase FieldRecordFlags = 0x1 // IsVar is this a mutable `var` property? IsVar FieldRecordFlags = 0x2 // IsArtificial is this an artificial field? IsArtificial FieldRecordFlags = 0x4 )
func (FieldRecordFlags) String ¶ added in v1.1.166
func (f FieldRecordFlags) String() string
type GenericContext ¶ added in v1.1.166
type GenericContext struct { TargetTypeGenericContextDescriptorHeader Parameters []GenericParamDescriptor Requirements []TargetGenericRequirementDescriptor }
type GenericContextDescriptorFlags ¶ added in v1.1.166
type GenericContextDescriptorFlags uint16
func (GenericContextDescriptorFlags) HasTypePacks ¶ added in v1.1.166
func (f GenericContextDescriptorFlags) HasTypePacks() bool
HasTypePacks is whether this generic context has at least one type parameter pack, in which case the generic context will have a trailing GenericPackShapeHeader.
type GenericEnvironmentFlags ¶ added in v1.1.166
type GenericEnvironmentFlags uint32
func (GenericEnvironmentFlags) GetNumGenericParameterLevels ¶ added in v1.1.166
func (f GenericEnvironmentFlags) GetNumGenericParameterLevels() uint32
func (GenericEnvironmentFlags) GetNumGenericRequirements ¶ added in v1.1.166
func (f GenericEnvironmentFlags) GetNumGenericRequirements() uint32
type GenericMetadataPatternFlags ¶ added in v1.1.166
type GenericMetadataPatternFlags uint32
func (GenericMetadataPatternFlags) HasExtraDataPattern ¶ added in v1.1.166
func (f GenericMetadataPatternFlags) HasExtraDataPattern() bool
func (GenericMetadataPatternFlags) HasImmediateMembersPattern ¶ added in v1.1.166
func (f GenericMetadataPatternFlags) HasImmediateMembersPattern() bool
func (GenericMetadataPatternFlags) HasTrailingFlags ¶ added in v1.1.166
func (f GenericMetadataPatternFlags) HasTrailingFlags() bool
func (GenericMetadataPatternFlags) MetadataKind ¶ added in v1.1.166
func (f GenericMetadataPatternFlags) MetadataKind() MetadataKind
type GenericPackKind ¶ added in v1.1.166
type GenericPackKind uint16
const ( GPKMetadata GenericPackKind = 0 GPKWitnessTable GenericPackKind = 1 )
type GenericPackShapeDescriptor ¶ added in v1.1.166
type GenericPackShapeDescriptor struct { Kind GenericPackKind Index uint16 // The index of this metadata pack or witness table pack in the generic arguments array. ShapeClass uint16 // The equivalence class of this pack under the same-shape relation. // contains filtered or unexported fields }
GenericPackShapeDescriptor the GenericPackShapeHeader is followed by an array of these descriptors, whose length is given by the header's NumPacks field.
The invariant is that all pack descriptors with GenericPackKind::Metadata must precede those with GenericPackKind::WitnessTable, and for each kind, the pack descriptors are ordered by their Index.
This allows us to iterate over the generic arguments array in parallel with the array of pack shape descriptors. We know we have a metadata or witness table when we reach the generic argument whose index is stored in the next descriptor; we increment the descriptor pointer in this case.
ref: swift/ABI/GenericContext.h - GenericPackShapeDescriptor
type GenericPackShapeHeader ¶ added in v1.1.166
type GenericPackShapeHeader struct { NumPacks uint16 // The number of generic parameters and conformance requirements which are packs. NumShapeClasses uint16 // The number of equivalence classes in the same-shape relation. }
GenericPackShapeHeader object ref: swift/ABI/GenericContext.h - GenericPackShapeHeader
type GenericParamDescriptor ¶ added in v1.1.166
type GenericParamDescriptor struct { // Don't set 0x40 for compatibility with pre-Swift 5.8 runtimes Value uint8 // contains filtered or unexported fields }
func (GenericParamDescriptor) GetKind ¶ added in v1.1.166
func (g GenericParamDescriptor) GetKind() GenericParamKind
func (GenericParamDescriptor) HasKeyArgument ¶ added in v1.1.166
func (g GenericParamDescriptor) HasKeyArgument() bool
type GenericParamKind ¶ added in v1.1.166
type GenericParamKind uint8
type GenericRequirementFlags ¶ added in v1.1.166
type GenericRequirementFlags uint32
func (GenericRequirementFlags) HasExtraArgument ¶ added in v1.1.166
func (f GenericRequirementFlags) HasExtraArgument() bool
func (GenericRequirementFlags) HasKeyArgument ¶ added in v1.1.166
func (f GenericRequirementFlags) HasKeyArgument() bool
func (GenericRequirementFlags) Kind ¶ added in v1.1.166
func (f GenericRequirementFlags) Kind() GenericRequirementKind
func (GenericRequirementFlags) String ¶ added in v1.1.166
func (f GenericRequirementFlags) String() string
type GenericRequirementKind ¶ added in v1.1.166
type GenericRequirementKind uint8
const ( GRKindProtocol GenericRequirementKind = 0 // protocol GRKindSameType GenericRequirementKind = 1 // same-type GRKindBaseClass GenericRequirementKind = 2 // base-class // implied by a same-type or base-class constraint that binds a parameter with protocol requirements. GRKindSameConformance GenericRequirementKind = 3 // same-conformance GRKindLayout GenericRequirementKind = 0x1F // layout )
func (GenericRequirementKind) String ¶ added in v1.1.166
func (i GenericRequirementKind) String() string
type Metadata ¶ added in v1.1.166
type Metadata struct { TargetCanonicalSpecializedMetadatasListEntry TargetMetadata }
type MetadataInitializationKind ¶ added in v1.1.166
type MetadataInitializationKind uint8
const ( // There are either no special rules for initializing the metadata or the metadata is generic. // (Genericity is set in the non-kind-specific descriptor flags.) MetadataInitNone MetadataInitializationKind = 0 // none //The type requires non-trivial singleton initialization using the "in-place" code pattern. MetadataInitSingleton MetadataInitializationKind = 1 // singleton // The type requires non-trivial singleton initialization using the "foreign" code pattern. MetadataInitForeign MetadataInitializationKind = 2 // foreign )
func (MetadataInitializationKind) String ¶ added in v1.1.166
func (i MetadataInitializationKind) String() string
type MetadataKind ¶ added in v1.1.166
type MetadataKind uint32
const ( ClassMetadataKind MetadataKind = 0 // class StructMetadataKind MetadataKind = 0 | MetadataKindIsNonHeap // struct EnumMetadataKind MetadataKind = 1 | MetadataKindIsNonHeap // enum OptionalMetadataKind MetadataKind = 2 | MetadataKindIsNonHeap // optional ForeignClassMetadataKind MetadataKind = 3 | MetadataKindIsNonHeap // foreign class ForeignReferenceTypeMetadataKind MetadataKind = 4 | MetadataKindIsNonHeap // foreign reference type OpaqueMetadataKind MetadataKind = 0 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // opaque TupleMetadataKind MetadataKind = 1 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // tuple FunctionMetadataKind MetadataKind = 2 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // function ExistentialMetadataKind MetadataKind = 3 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // existential MetatypeMetadataKind MetadataKind = 4 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // metatype ObjCClassWrapperMetadataKind MetadataKind = 5 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // objc class wrapper ExistentialMetatypeMetadataKind MetadataKind = 6 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // existential metatype ExtendedExistentialMetadataKind MetadataKind = 7 | MetadataKindIsRuntimePrivate | MetadataKindIsNonHeap // extended existential type HeapLocalVariableMetadataKind MetadataKind = 0 | MetadataKindIsNonType // heap local variable HeapGenericLocalVariableMetadataKind MetadataKind = 0 | MetadataKindIsNonType | MetadataKindIsRuntimePrivate // heap generic local variable ErrorObjectMetadataKind MetadataKind = 1 | MetadataKindIsNonType | MetadataKindIsRuntimePrivate // error object TaskMetadataKind MetadataKind = 2 | MetadataKindIsNonType | MetadataKindIsRuntimePrivate // task JobMetadataKind MetadataKind = 3 | MetadataKindIsNonType | MetadataKindIsRuntimePrivate // job // The largest possible non-isa-pointer metadata kind value. LastEnumerated MetadataKind = 0x7FF )
func (MetadataKind) String ¶ added in v1.1.166
func (i MetadataKind) String() string
type MetadataSource ¶ added in v1.1.100
type MetadataSourceRecord ¶
type Method ¶ added in v1.1.166
type Method struct { TargetMethodDescriptor Address uint64 Symbol string }
type MethodDescriptorFlags ¶ added in v1.1.166
type MethodDescriptorFlags uint32
func (MethodDescriptorFlags) ExtraDiscriminator ¶ added in v1.1.166
func (f MethodDescriptorFlags) ExtraDiscriminator() uint16
func (MethodDescriptorFlags) IsAsync ¶ added in v1.1.166
func (f MethodDescriptorFlags) IsAsync() bool
func (MethodDescriptorFlags) IsDynamic ¶ added in v1.1.166
func (f MethodDescriptorFlags) IsDynamic() bool
func (MethodDescriptorFlags) IsInstance ¶ added in v1.1.166
func (f MethodDescriptorFlags) IsInstance() bool
func (MethodDescriptorFlags) Kind ¶ added in v1.1.166
func (f MethodDescriptorFlags) Kind() MDKind
func (MethodDescriptorFlags) String ¶ added in v1.1.166
func (f MethodDescriptorFlags) String(field string) string
type MultiPayloadEnum ¶ added in v1.1.166
func (MultiPayloadEnum) String ¶ added in v1.1.166
func (e MultiPayloadEnum) String() string
type MultiPayloadEnumDescriptor ¶ added in v1.1.166
ref: include/swift/RemoteInspection/Records.h
type MultiPayloadEnumPayloadSpareBitMaskByteCount ¶ added in v1.1.166
type MultiPayloadEnumPayloadSpareBitMaskByteCount uint32
func (MultiPayloadEnumPayloadSpareBitMaskByteCount) ByteCount ¶ added in v1.1.166
func (f MultiPayloadEnumPayloadSpareBitMaskByteCount) ByteCount() uint16
func (MultiPayloadEnumPayloadSpareBitMaskByteCount) ByteOffset ¶ added in v1.1.166
func (f MultiPayloadEnumPayloadSpareBitMaskByteCount) ByteOffset() uint16
func (MultiPayloadEnumPayloadSpareBitMaskByteCount) String ¶ added in v1.1.166
func (f MultiPayloadEnumPayloadSpareBitMaskByteCount) String() string
type MultiPayloadEnumSizeAndFlags ¶ added in v1.1.166
type MultiPayloadEnumSizeAndFlags uint32
func (MultiPayloadEnumSizeAndFlags) Flags ¶ added in v1.1.166
func (f MultiPayloadEnumSizeAndFlags) Flags() uint16
func (MultiPayloadEnumSizeAndFlags) Size ¶ added in v1.1.166
func (f MultiPayloadEnumSizeAndFlags) Size() uint16
func (MultiPayloadEnumSizeAndFlags) String ¶ added in v1.1.166
func (f MultiPayloadEnumSizeAndFlags) String() string
func (MultiPayloadEnumSizeAndFlags) UsesPayloadSpareBits ¶ added in v1.1.166
func (f MultiPayloadEnumSizeAndFlags) UsesPayloadSpareBits() bool
type NecessaryBindings ¶ added in v1.1.100
type NecessaryBindings struct { Kind NecessaryBindingsKind RequirementsSet int32 RequirementsVector int32 Conformances int32 }
type NecessaryBindingsKind ¶ added in v1.1.101
type NecessaryBindingsKind uint32
const ( PartialApply NecessaryBindingsKind = iota AsyncFunction )
func (NecessaryBindingsKind) String ¶ added in v1.1.101
func (i NecessaryBindingsKind) String() string
type PCDWitnessTable ¶ added in v1.1.166
type Protocol ¶ added in v1.1.166
type Protocol struct { TargetProtocolDescriptor Address uint64 Name string Parent *TargetModuleContext AssociatedTypes []string SignatureRequirements []TargetGenericRequirement Requirements []TargetProtocolRequirement }
Protocol swift protocol object
type ProtocolContextDescriptorFlags ¶ added in v1.1.166
type ProtocolContextDescriptorFlags uint16
ProtocolContextDescriptorFlags flags for protocol context descriptors. These values are used as the kindSpecificFlags of the ContextDescriptorFlags for the protocol.
const ( /// Whether this protocol is class-constrained. HasClassConstraint ProtocolContextDescriptorFlags = 0 HasClassConstraint_width ProtocolContextDescriptorFlags = 1 /// Whether this protocol is resilient. IsResilient ProtocolContextDescriptorFlags = 1 /// Special protocol value. SpecialProtocolKind ProtocolContextDescriptorFlags = 2 SpecialProtocolKind_width ProtocolContextDescriptorFlags = 6 )
type ProtocolRequirementFlags ¶ added in v1.1.166
type ProtocolRequirementFlags uint32
func (ProtocolRequirementFlags) ExtraDiscriminator ¶ added in v1.1.166
func (f ProtocolRequirementFlags) ExtraDiscriminator() uint16
func (ProtocolRequirementFlags) IsAsync ¶ added in v1.1.166
func (f ProtocolRequirementFlags) IsAsync() bool
func (ProtocolRequirementFlags) IsFunctionImpl ¶ added in v1.1.166
func (f ProtocolRequirementFlags) IsFunctionImpl() bool
func (ProtocolRequirementFlags) IsInstance ¶ added in v1.1.166
func (f ProtocolRequirementFlags) IsInstance() bool
func (ProtocolRequirementFlags) IsSignedWithAddress ¶ added in v1.1.166
func (f ProtocolRequirementFlags) IsSignedWithAddress() bool
func (ProtocolRequirementFlags) Kind ¶ added in v1.1.166
func (f ProtocolRequirementFlags) Kind() ProtocolRequirementKind
func (ProtocolRequirementFlags) String ¶ added in v1.1.166
func (f ProtocolRequirementFlags) String() string
type ProtocolRequirementKind ¶ added in v1.1.166
type ProtocolRequirementKind uint8
const ( PRKindBaseProtocol ProtocolRequirementKind = iota // base protocol PRKindMethodc // method PRKindInit // initializer PRKindGetter // getter PRKindSetter // setter PRKindReadCoroutine // read coroutine PRKindModifyCoroutine // modify coroutine PRKindAssociatedTypeAccessFunction // associated type access function PRKindAssociatedConformanceAccessFunction // associated conformance access function )
func (ProtocolRequirementKind) String ¶ added in v1.1.166
func (i ProtocolRequirementKind) String() string
type RelativeDirectPointer ¶ added in v1.1.166
func (RelativeDirectPointer) GetAddress ¶ added in v1.1.166
func (r RelativeDirectPointer) GetAddress() uint64
func (RelativeDirectPointer) IsSet ¶ added in v1.1.166
func (r RelativeDirectPointer) IsSet() bool
type RelativeIndirectablePointer ¶ added in v1.1.166
func (RelativeIndirectablePointer) GetAddress ¶ added in v1.1.166
func (RelativeIndirectablePointer) GetRelPtrAddress ¶ added in v1.1.166
func (ri RelativeIndirectablePointer) GetRelPtrAddress() uint64
func (RelativeIndirectablePointer) IsSet ¶ added in v1.1.166
func (ri RelativeIndirectablePointer) IsSet() bool
type ResilientWitnesses ¶ added in v1.1.166
type ResilientWitnesses struct { TargetResilientWitness Symbol string Requirement TargetProtocolRequirement }
type SpecialPointerAuthDiscriminators ¶ added in v1.1.100
type SpecialPointerAuthDiscriminators uint16
const ( /// HeapMetadataHeader::destroy DiscHeapDestructor SpecialPointerAuthDiscriminators = 0xbbbf /// Type descriptor data pointers. DiscTypeDescriptor SpecialPointerAuthDiscriminators = 0xae86 /// Runtime function variables exported by the runtime. DiscRuntimeFunctionEntry SpecialPointerAuthDiscriminators = 0x625b /// Protocol conformance descriptors. DiscProtocolConformanceDescriptor SpecialPointerAuthDiscriminators = 0xc6eb /// Pointer to value witness table stored in type metadata. /// /// Computed with ptrauth_string_discriminator("value_witness_table_t"). DiscValueWitnessTable SpecialPointerAuthDiscriminators = 0x2e3f /// Extended existential type shapes. DiscExtendedExistentialTypeShape SpecialPointerAuthDiscriminators = 0x5a3d // SpecialPointerAuthDiscriminators = 23101 DiscNonUniqueExtendedExistentialTypeShape SpecialPointerAuthDiscriminators = 0xe798 // SpecialPointerAuthDiscriminators = 59288 /// Value witness functions. DiscInitializeBufferWithCopyOfBuffer SpecialPointerAuthDiscriminators = 0xda4a DiscDestroy SpecialPointerAuthDiscriminators = 0x04f8 DiscInitializeWithCopy SpecialPointerAuthDiscriminators = 0xe3ba DiscAssignWithCopy SpecialPointerAuthDiscriminators = 0x8751 DiscInitializeWithTake SpecialPointerAuthDiscriminators = 0x48d8 DiscAssignWithTake SpecialPointerAuthDiscriminators = 0xefda DiscDestroyArray SpecialPointerAuthDiscriminators = 0x2398 DiscInitializeArrayWithCopy SpecialPointerAuthDiscriminators = 0xa05c DiscInitializeArrayWithTakeFrontToBack SpecialPointerAuthDiscriminators = 0x1c3e DiscInitializeArrayWithTakeBackToFront SpecialPointerAuthDiscriminators = 0x8dd3 DiscStoreExtraInhabitant SpecialPointerAuthDiscriminators = 0x79c5 DiscGetExtraInhabitantIndex SpecialPointerAuthDiscriminators = 0x2ca8 DiscGetEnumTag SpecialPointerAuthDiscriminators = 0xa3b5 DiscDestructiveProjectEnumData SpecialPointerAuthDiscriminators = 0x041d DiscDestructiveInjectEnumTag SpecialPointerAuthDiscriminators = 0xb2e4 DiscGetEnumTagSinglePayload SpecialPointerAuthDiscriminators = 0x60f0 DiscStoreEnumTagSinglePayload SpecialPointerAuthDiscriminators = 0xa0d1 /// KeyPath metadata functions. DiscKeyPathDestroy SpecialPointerAuthDiscriminators = 0x7072 DiscKeyPathCopy SpecialPointerAuthDiscriminators = 0x6f66 DiscKeyPathEquals SpecialPointerAuthDiscriminators = 0x756e DiscKeyPathHash SpecialPointerAuthDiscriminators = 0x6374 DiscKeyPathGetter SpecialPointerAuthDiscriminators = 0x6f72 DiscKeyPathNonmutatingSetter SpecialPointerAuthDiscriminators = 0x6f70 DiscKeyPathMutatingSetter SpecialPointerAuthDiscriminators = 0x7469 DiscKeyPathGetLayout SpecialPointerAuthDiscriminators = 0x6373 DiscKeyPathInitializer SpecialPointerAuthDiscriminators = 0x6275 DiscKeyPathMetadataAccessor SpecialPointerAuthDiscriminators = 0x7474 /// ObjC bridging entry points. DiscObjectiveCTypeDiscriminator SpecialPointerAuthDiscriminators = 0x31c3 // SpecialPointerAuthDiscriminators = 12739 DiscbridgeToObjectiveCDiscriminator SpecialPointerAuthDiscriminators = 0xbca0 // SpecialPointerAuthDiscriminators = 48288 DiscforceBridgeFromObjectiveCDiscriminator SpecialPointerAuthDiscriminators = 0x22fb // SpecialPointerAuthDiscriminators = 8955 DiscconditionallyBridgeFromObjectiveCDiscriminator SpecialPointerAuthDiscriminators = 0x9a9b // SpecialPointerAuthDiscriminators = 39579 /// Dynamic replacement pointers. DiscDynamicReplacementScope SpecialPointerAuthDiscriminators = 0x48F0 // SpecialPointerAuthDiscriminators = 18672 DiscDynamicReplacementKey SpecialPointerAuthDiscriminators = 0x2C7D // SpecialPointerAuthDiscriminators = 11389 /// Resume functions for yield-once coroutines that yield a single /// opaque borrowed/inout value. These aren't actually hard-coded, but /// they're important enough to be worth writing in one place. DiscOpaqueReadResumeFunction SpecialPointerAuthDiscriminators = 56769 DiscOpaqueModifyResumeFunction SpecialPointerAuthDiscriminators = 3909 /// ObjC class pointers. DiscObjCISA SpecialPointerAuthDiscriminators = 0x6AE1 DiscObjCSuperclass SpecialPointerAuthDiscriminators = 0xB5AB /// Resilient class stub initializer callback DiscResilientClassStubInitCallback SpecialPointerAuthDiscriminators = 0xC671 /// Jobs, tasks, and continuations. DiscJobInvokeFunction SpecialPointerAuthDiscriminators = 0xcc64 // SpecialPointerAuthDiscriminators = 52324 DiscTaskResumeFunction SpecialPointerAuthDiscriminators = 0x2c42 // SpecialPointerAuthDiscriminators = 11330 DiscTaskResumeContext SpecialPointerAuthDiscriminators = 0x753a // SpecialPointerAuthDiscriminators = 30010 DiscAsyncRunAndBlockFunction SpecialPointerAuthDiscriminators = 0x0f08 // 3848 DiscAsyncContextParent SpecialPointerAuthDiscriminators = 0xbda2 // SpecialPointerAuthDiscriminators = 48546 DiscAsyncContextResume SpecialPointerAuthDiscriminators = 0xd707 // SpecialPointerAuthDiscriminators = 55047 DiscAsyncContextYield SpecialPointerAuthDiscriminators = 0xe207 // SpecialPointerAuthDiscriminators = 57863 DiscCancellationNotificationFunction SpecialPointerAuthDiscriminators = 0x1933 // SpecialPointerAuthDiscriminators = 6451 DiscEscalationNotificationFunction SpecialPointerAuthDiscriminators = 0x5be4 // SpecialPointerAuthDiscriminators = 23524 DiscAsyncThinNullaryFunction SpecialPointerAuthDiscriminators = 0x0f08 // SpecialPointerAuthDiscriminators = 3848 DiscAsyncFutureFunction SpecialPointerAuthDiscriminators = 0x720f // SpecialPointerAuthDiscriminators = 29199 /// Swift async context parameter stored in the extended frame info. DiscSwiftAsyncContextExtendedFrameEntry SpecialPointerAuthDiscriminators = 0xc31a // SpecialPointerAuthDiscriminators = 49946 // C type TaskContinuationFunction* descriminator. DiscClangTypeTaskContinuationFunction SpecialPointerAuthDiscriminators = 0x2abe // SpecialPointerAuthDiscriminators = 10942 /// Dispatch integration. DiscDispatchInvokeFunction SpecialPointerAuthDiscriminators = 0xf493 // SpecialPointerAuthDiscriminators = 62611 /// Functions accessible at runtime (i.e. distributed method accessors). DiscAccessibleFunctionRecord SpecialPointerAuthDiscriminators = 0x438c // = 17292 )
func (SpecialPointerAuthDiscriminators) String ¶ added in v1.1.100
func (i SpecialPointerAuthDiscriminators) String() string
type TargetAccessibleFunctionRecord ¶ added in v1.1.166
type TargetAccessibleFunctionRecord struct { Name int32 // char * GenericEnvironment int32 // TargetGenericEnvironment FunctionType int32 // mangled name Function int32 // void * Flags AccessibleFunctionFlags }
type TargetAnonymousContextDescriptor ¶ added in v1.1.166
type TargetAnonymousContextDescriptor struct {
TargetContextDescriptor
}
type TargetCanonicalSpecializedMetadatasCachingOnceToken ¶ added in v1.1.166
type TargetCanonicalSpecializedMetadatasCachingOnceToken struct {
Token TargetRelativeDirectPointer
}
func (*TargetCanonicalSpecializedMetadatasCachingOnceToken) Read ¶ added in v1.1.166
func (f *TargetCanonicalSpecializedMetadatasCachingOnceToken) Read(r io.Reader, addr uint64) error
func (TargetCanonicalSpecializedMetadatasCachingOnceToken) Size ¶ added in v1.1.166
func (f TargetCanonicalSpecializedMetadatasCachingOnceToken) Size() int64
type TargetCanonicalSpecializedMetadatasListCount ¶ added in v1.1.166
type TargetCanonicalSpecializedMetadatasListCount struct {
Count uint32
}
type TargetCanonicalSpecializedMetadatasListEntry ¶ added in v1.1.166
type TargetCanonicalSpecializedMetadatasListEntry struct {
Metadata RelativeDirectPointer
}
func (*TargetCanonicalSpecializedMetadatasListEntry) Read ¶ added in v1.1.166
func (f *TargetCanonicalSpecializedMetadatasListEntry) Read(r io.Reader, addr uint64) error
func (TargetCanonicalSpecializedMetadatasListEntry) Size ¶ added in v1.1.166
func (f TargetCanonicalSpecializedMetadatasListEntry) Size() int64
type TargetClassDescriptor ¶ added in v1.1.166
type TargetClassDescriptor struct { TargetTypeContextDescriptor SuperclassType RelativeDirectPointer MetadataNegativeSizeInWordsORResilientMetadataBounds uint32 MetadataPositiveSizeInWordsORExtraClassFlags uint32 NumImmediateMembers uint32 NumFields uint32 FieldOffsetVectorOffset uint32 }
func (*TargetClassDescriptor) Read ¶ added in v1.1.166
func (c *TargetClassDescriptor) Read(r io.Reader, addr uint64) error
func (TargetClassDescriptor) Size ¶ added in v1.1.166
func (tcd TargetClassDescriptor) Size() int64
type TargetContextDescriptor ¶ added in v1.1.166
type TargetContextDescriptor struct { Flags ContextDescriptorFlags // Flags describing the context, including its kind and format version. ParentOffset RelativeDirectPointer // The parent context, or null if this is a top-level context. }
TargetContextDescriptor base class for all context descriptors.
func (*TargetContextDescriptor) Read ¶ added in v1.1.166
func (cd *TargetContextDescriptor) Read(r io.Reader, addr uint64) error
func (TargetContextDescriptor) Size ¶ added in v1.1.166
func (cd TargetContextDescriptor) Size() int64
type TargetEnumDescriptor ¶ added in v1.1.166
type TargetEnumDescriptor struct { TargetTypeContextDescriptor NumPayloadCasesAndPayloadSizeOffset uint32 NumEmptyCases uint32 }
func (TargetEnumDescriptor) GetNumCases ¶ added in v1.1.166
func (e TargetEnumDescriptor) GetNumCases() uint32
func (TargetEnumDescriptor) GetNumPayloadCases ¶ added in v1.1.166
func (e TargetEnumDescriptor) GetNumPayloadCases() uint32
func (TargetEnumDescriptor) GetPayloadSizeOffset ¶ added in v1.1.166
func (e TargetEnumDescriptor) GetPayloadSizeOffset() uint32
func (*TargetEnumDescriptor) Read ¶ added in v1.1.166
func (e *TargetEnumDescriptor) Read(r io.Reader, addr uint64) error
func (TargetEnumDescriptor) Size ¶ added in v1.1.166
func (e TargetEnumDescriptor) Size() int64
type TargetExtensionContextDescriptor ¶ added in v1.1.166
type TargetExtensionContextDescriptor struct { TargetContextDescriptor // A mangling of the `Self` type context that the extension extends. // The mangled name represents the type in the generic context encoded by // this descriptor. For example, a nongeneric nominal type extension will // encode the nominal type name. A generic nominal type extension will encode // the instance of the type with any generic arguments bound. // // Note that the Parent of the extension will be the module context the // extension is declared inside. ExtendedContext RelativeDirectPointer }
func (*TargetExtensionContextDescriptor) Read ¶ added in v1.1.166
func (tmcd *TargetExtensionContextDescriptor) Read(r io.Reader, addr uint64) error
func (TargetExtensionContextDescriptor) Size ¶ added in v1.1.166
func (e TargetExtensionContextDescriptor) Size() int64
type TargetForeignMetadataInitialization ¶ added in v1.1.166
type TargetForeignMetadataInitialization struct {
CompletionFunction RelativeDirectPointer // The completion function. The pattern will always be null.
}
TargetForeignMetadataInitialization is the control structure for performing non-trivial initialization of singleton foreign metadata.
func (*TargetForeignMetadataInitialization) Read ¶ added in v1.1.166
func (f *TargetForeignMetadataInitialization) Read(r io.Reader, addr uint64) error
func (TargetForeignMetadataInitialization) Size ¶ added in v1.1.166
func (f TargetForeignMetadataInitialization) Size() int64
type TargetGenericContextDescriptorHeader ¶ added in v1.1.166
type TargetGenericContextDescriptorHeader struct { // The number of (source-written) generic parameters, and thus // the number of GenericParamDescriptors associated with this // context. The parameter descriptors appear in the order in // which they were given in the source. // // A GenericParamDescriptor corresponds to a type metadata pointer // in the arguments layout when isKeyArgument() is true. // isKeyArgument() will be false if the parameter has been made // equivalent to a different parameter or a concrete type. NumParams uint16 // The number of GenericRequirementDescriptors in this generic // signature. // // A GenericRequirementDescriptor of kind Protocol corresponds // to a witness table pointer in the arguments layout when // isKeyArgument() is true. isKeyArgument() will be false if // the protocol is an Objective-C protocol. (Unlike generic // parameters, redundant conformance requirements can simply be // eliminated, and so that case is not impossible.) NumRequirements uint16 // The size of the "key" area of the argument layout, in words. // Key arguments include shape classes, generic parameters and // conformance requirements which are part of the identity of // the context. // // The key area of the argument layout consists of: // // - a sequence of pack lengths, in the same order as the parameter // descriptors which satisfy getKind() == GenericParamKind::TypePack // and hasKeyArgument(); // // - a sequence of metadata or metadata pack pointers, in the same // order as the parameter descriptors which satisfy hasKeyArgument(); // // - a sequence of witness table or witness table pack pointers, in the // same order as the requirement descriptors which satisfy // hasKeyArgument(). // // The elements above which are packs are precisely those appearing // in the sequence of trailing GenericPackShapeDescriptors. NumKeyArguments uint16 // Originally this was the size of the "extra" area of the argument // layout, in words. The idea was that extra arguments would // include generic parameters and conformances that are not part // of the identity of the context; however, it's unclear why we // would ever want such a thing. As a result, in pre-5.8 runtimes // this field is always zero. New flags can only be added as long // as they remains zero in code which must be compatible with // older Swift runtimes. Flags GenericContextDescriptorFlags }
ref: include/swift/ABI/GenericContext.h
func (TargetGenericContextDescriptorHeader) GetNumArguments ¶ added in v1.1.166
func (g TargetGenericContextDescriptorHeader) GetNumArguments() uint16
func (TargetGenericContextDescriptorHeader) HasArguments ¶ added in v1.1.166
func (g TargetGenericContextDescriptorHeader) HasArguments() bool
type TargetGenericEnvironment ¶ added in v1.1.166
type TargetGenericEnvironment struct {
Flags GenericEnvironmentFlags
}
type TargetGenericMetadataInstantiationCache ¶ added in v1.1.166
type TargetGenericMetadataInstantiationCache struct { // Data that the runtime can use for its own purposes. It is guaranteed // to be zero-filled by the compiler. Might be null when building with // -disable-preallocated-instantiation-caches. PrivateData [16]byte }
The instantiation cache for generic metadata. This must be guaranteed to zero-initialized before it is first accessed. Its contents are private to the runtime.
type TargetGenericMetadataPattern ¶ added in v1.1.166
type TargetGenericMetadataPattern struct { InstantiationFunction int32 CompletionFunction int32 PatternFlags GenericMetadataPatternFlags }
type TargetGenericRequirement ¶ added in v1.1.166
type TargetGenericRequirement struct { Name string Kind string TargetGenericRequirementDescriptor }
type TargetGenericRequirementDescriptor ¶ added in v1.1.166
type TargetGenericRequirementDescriptor struct { Flags GenericRequirementFlags Param RelativeDirectPointer // The type that's constrained, described as a mangled name. TypeOrProtocolOrConformanceOrLayout RelativeDirectPointer // UNION: flags determine type }
ref: swift/ABI/Metadata.h - TargetGenericRequirementDescriptor
func (*TargetGenericRequirementDescriptor) Read ¶ added in v1.1.166
func (d *TargetGenericRequirementDescriptor) Read(r io.Reader, addr uint64) error
func (TargetGenericRequirementDescriptor) Size ¶ added in v1.1.166
func (d TargetGenericRequirementDescriptor) Size() int64
type TargetGenericWitnessTable ¶ added in v1.1.166
type TargetGenericWitnessTable struct { WitnessTableSizeInWords uint16 WitnessTablePrivateSizeInWordsAndRequiresInstantiation uint16 Instantiator int32 PrivateData int32 }
TargetGenericWitnessTable object ref: swift/ABI/Metadata.h - TargetGenericWitnessTable
type TargetMetadata ¶ added in v1.1.166
TargetMetadata the common structure of all type metadata.
type TargetMethodDescriptor ¶ added in v1.1.166
type TargetMethodDescriptor struct { Flags MethodDescriptorFlags Impl int32 }
type TargetMethodOverrideDescriptor ¶ added in v1.1.166
type TargetModuleContext ¶ added in v1.1.166
type TargetModuleContext struct { TargetModuleContextDescriptor Name string }
type TargetModuleContextDescriptor ¶ added in v1.1.166
type TargetModuleContextDescriptor struct { TargetContextDescriptor NameOffset RelativeDirectPointer }
func (*TargetModuleContextDescriptor) Read ¶ added in v1.1.166
func (tmcd *TargetModuleContextDescriptor) Read(r io.Reader, addr uint64) error
func (TargetModuleContextDescriptor) Size ¶ added in v1.1.166
func (tmc TargetModuleContextDescriptor) Size() int64
type TargetObjCResilientClassStubInfo ¶ added in v1.1.166
type TargetObjCResilientClassStubInfo struct {
Stub int32 // Objective-C class stub.
}
type TargetOpaqueTypeDescriptor ¶ added in v1.1.166
type TargetOpaqueTypeDescriptor struct {
TargetContextDescriptor
}
type TargetOverrideTableHeader ¶ added in v1.1.166
type TargetOverrideTableHeader struct {
NumEntries uint32
}
type TargetProtocolConformanceDescriptor ¶ added in v1.1.166
type TargetProtocolConformanceDescriptor struct { ProtocolOffsest RelativeIndirectablePointer // The protocol being conformed to. TypeRefOffsest RelativeDirectPointer // Some description of the type that conforms to the protocol. WitnessTablePatternOffsest RelativeDirectPointer // The witness table pattern, which may also serve as the witness table. Flags ConformanceFlags // Various flags, including the kind of conformance. }
TargetProtocolConformanceDescriptor the structure of a protocol conformance.
func (*TargetProtocolConformanceDescriptor) Read ¶ added in v1.1.166
func (d *TargetProtocolConformanceDescriptor) Read(r io.Reader, addr uint64) error
func (TargetProtocolConformanceDescriptor) Size ¶ added in v1.1.166
func (d TargetProtocolConformanceDescriptor) Size() int64
type TargetProtocolDescriptor ¶ added in v1.1.166
type TargetProtocolDescriptor struct { TargetContextDescriptor NameOffset RelativeDirectPointer // The name of the protocol. NumRequirementsInSignature uint32 // The number of generic requirements in the requirement signature of the protocol. NumRequirements uint32 /* The number of requirements in the protocol. If any requirements beyond MinimumWitnessTableSizeInWords are present * in the witness table template, they will be not be overwritten with defaults. */ AssociatedTypeNamesOffset RelativeDirectPointer // Associated type names, as a space-separated list in the same order as the requirements. }
TargetProtocolDescriptor ref: include/swift/ABI/MetadataValues.h
func (*TargetProtocolDescriptor) Read ¶ added in v1.1.166
func (d *TargetProtocolDescriptor) Read(r io.Reader, addr uint64) error
func (TargetProtocolDescriptor) Size ¶ added in v1.1.166
func (d TargetProtocolDescriptor) Size() int64
type TargetProtocolRecord ¶ added in v1.1.166
type TargetProtocolRecord struct {
Protocol int32 // The protocol referenced (the remaining low bit is reserved for future use)
}
TargetProtocolRecord the structure of a protocol reference record. ref: swift/ABI/Metadata.h
type TargetProtocolRequirement ¶ added in v1.1.166
type TargetProtocolRequirement struct { Flags ProtocolRequirementFlags DefaultImplementation RelativeDirectPointer // The optional default implementation of the protocol. }
TargetProtocolRequirement protocol requirement descriptor. This describes a single protocol requirement in a protocol descriptor. The index of the requirement in the descriptor determines the offset of the witness in a witness table for this protocol. ref: swift/ABI/Metadata.h - TargetProtocolRequirement
func (*TargetProtocolRequirement) Read ¶ added in v1.1.166
func (pr *TargetProtocolRequirement) Read(r io.Reader, addr uint64) error
func (TargetProtocolRequirement) Size ¶ added in v1.1.166
func (pr TargetProtocolRequirement) Size() int64
type TargetRelativeDirectPointer ¶ added in v1.1.166
func (TargetRelativeDirectPointer) GetAddress ¶ added in v1.1.166
func (tr TargetRelativeDirectPointer) GetAddress(r io.Reader) (uint64, error)
func (TargetRelativeDirectPointer) GetRelPtrAddress ¶ added in v1.1.166
func (tr TargetRelativeDirectPointer) GetRelPtrAddress() uint64
func (TargetRelativeDirectPointer) IsSet ¶ added in v1.1.166
func (tr TargetRelativeDirectPointer) IsSet() bool
type TargetResilientSuperclass ¶ added in v1.1.166
type TargetResilientSuperclass struct {
Superclass int32
}
type TargetResilientWitness ¶ added in v1.1.166
type TargetResilientWitness struct { RequirementOff RelativeIndirectablePointer ImplOff RelativeDirectPointer }
TargetResilientWitness object ref: swift/ABI/Metadata.h - TargetResilientWitness
func (*TargetResilientWitness) Read ¶ added in v1.1.166
func (rw *TargetResilientWitness) Read(r io.Reader, addr uint64) error
func (TargetResilientWitness) Size ¶ added in v1.1.166
func (rw TargetResilientWitness) Size() int64
type TargetResilientWitnessesHeader ¶ added in v1.1.166
type TargetResilientWitnessesHeader struct {
NumWitnesses uint32
}
TargetResilientWitnessesHeader a header containing information about the resilient witnesses in a protocol conformance descriptor. ref: swift/ABI/Metadata.h - TargetResilientWitnessesHeader
type TargetSingletonMetadataInitialization ¶ added in v1.1.166
type TargetSingletonMetadataInitialization struct { InitializationCacheOffset TargetRelativeDirectPointer // The initialization cache. Out-of-line because mutable. IncompleteMetadata TargetRelativeDirectPointer // UNION: The incomplete metadata, for structs, enums and classes without resilient ancestry. // ResilientPattern // If the class descriptor's hasResilientSuperclass() flag is set, // this field instead points at a pattern used to allocate and // initialize metadata for this class, since it's size and contents // is not known at compile time. CompletionFunction TargetRelativeDirectPointer // The completion function. The pattern will always be null, even for a resilient class. }
func (*TargetSingletonMetadataInitialization) Read ¶ added in v1.1.166
func (s *TargetSingletonMetadataInitialization) Read(r io.Reader, addr uint64) error
func (TargetSingletonMetadataInitialization) Size ¶ added in v1.1.166
func (s TargetSingletonMetadataInitialization) Size() int64
type TargetStructDescriptor ¶ added in v1.1.166
type TargetStructDescriptor struct { TargetTypeContextDescriptor NumFields uint32 FieldOffsetVectorOffset uint32 }
func (*TargetStructDescriptor) Read ¶ added in v1.1.166
func (s *TargetStructDescriptor) Read(r io.Reader, addr uint64) error
func (TargetStructDescriptor) Size ¶ added in v1.1.166
func (s TargetStructDescriptor) Size() int64
type TargetTypeContextDescriptor ¶ added in v1.1.166
type TargetTypeContextDescriptor struct { TargetContextDescriptor NameOffset RelativeDirectPointer // The name of the type. AccessFunctionPtr RelativeDirectPointer // A pointer to the metadata access function for this type. FieldsOffset RelativeDirectPointer // A pointer to the field descriptor for the type, if any. }
TargetTypeContextDescriptor object
func (*TargetTypeContextDescriptor) Read ¶ added in v1.1.166
func (tcd *TargetTypeContextDescriptor) Read(r io.Reader, addr uint64) error
func (TargetTypeContextDescriptor) Size ¶ added in v1.1.166
func (tcd TargetTypeContextDescriptor) Size() int64
type TargetTypeGenericContextDescriptorHeader ¶ added in v1.1.166
type TargetTypeGenericContextDescriptorHeader struct { InstantiationCache TargetRelativeDirectPointer DefaultInstantiationPattern TargetRelativeDirectPointer Base TargetGenericContextDescriptorHeader }
func (*TargetTypeGenericContextDescriptorHeader) Read ¶ added in v1.1.166
func (h *TargetTypeGenericContextDescriptorHeader) Read(r io.Reader, addr uint64) error
func (TargetTypeGenericContextDescriptorHeader) Size ¶ added in v1.1.166
func (h TargetTypeGenericContextDescriptorHeader) Size() int64
type TargetVTableDescriptorHeader ¶ added in v1.1.166
type TargetWitnessTable ¶ added in v1.1.166
type TargetWitnessTable struct {
Description int32
}
type Type ¶ added in v1.1.166
type Type struct { Address uint64 Parent *TargetModuleContext Name string SuperClass string Kind ContextDescriptorKind AccessFunction uint64 FieldOffsets []int32 Generic *TargetTypeGenericContextDescriptorHeader VTable *VTable Fields []Field Type any }
func (Type) IsCImportedModuleName ¶ added in v1.1.166
type TypeContextDescriptorFlags ¶ added in v1.1.166
type TypeContextDescriptorFlags uint16
const ( /// Whether there's something unusual about how the metadata is /// initialized. /// /// Meaningful for all type-descriptor kinds. MetadataInitialization TypeContextDescriptorFlags = 0 MetadataInitialization_width TypeContextDescriptorFlags = 2 /// Set if the type has extended import information. /// /// If true, a sequence of strings follow the null terminator in the /// descriptor, terminated by an empty string (i.e. by two null /// terminators in a row). See TypeImportInfo for the details of /// these strings and the order in which they appear. /// /// Meaningful for all type-descriptor kinds. HasImportInfo TypeContextDescriptorFlags = 2 /// Set if the type descriptor has a pointer to a list of canonical /// prespecializations. HasCanonicalMetadataPrespecializations TypeContextDescriptorFlags = 3 /// Set if the class is an actor. /// /// Only meaningful for class descriptors. Class_IsActor TypeContextDescriptorFlags = 7 /// Set if the class is a default actor class. Note that this is /// based on the best knowledge available to the class; actor /// classes with resilient superclassess might be default actors /// without knowing it. /// /// Only meaningful for class descriptors. Class_IsDefaultActor TypeContextDescriptorFlags = 8 /// The kind of reference that this class makes to its resilient superclass /// descriptor. A TypeReferenceKind. /// /// Only meaningful for class descriptors. Class_ResilientSuperclassReferenceKind TypeContextDescriptorFlags = 9 Class_ResilientSuperclassReferenceKind_width TypeContextDescriptorFlags = 3 /// Whether the immediate class members in this metadata are allocated /// at negative offsets. For now, we don't use this. Class_AreImmediateMembersNegative TypeContextDescriptorFlags = 12 /// Set if the context descriptor is for a class with resilient ancestry. /// /// Only meaningful for class descriptors. Class_HasResilientSuperclass TypeContextDescriptorFlags = 13 /// Set if the context descriptor includes metadata for dynamically /// installing method overrides at metadata instantiation time. Class_HasOverrideTable TypeContextDescriptorFlags = 14 /// Set if the context descriptor includes metadata for dynamically /// constructing a class's vtables at metadata instantiation time. /// /// Only meaningful for class descriptors. Class_HasVTable TypeContextDescriptorFlags = 15 )
func (TypeContextDescriptorFlags) AreImmediateMembersNegative ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) AreImmediateMembersNegative() bool
func (TypeContextDescriptorFlags) HasCanonicalMetadataPrespecializations ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) HasCanonicalMetadataPrespecializations() bool
func (TypeContextDescriptorFlags) HasImportInfo ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) HasImportInfo() bool
func (TypeContextDescriptorFlags) HasOverrideTable ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) HasOverrideTable() bool
func (TypeContextDescriptorFlags) HasResilientSuperclass ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) HasResilientSuperclass() bool
func (TypeContextDescriptorFlags) HasVTable ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) HasVTable() bool
func (TypeContextDescriptorFlags) IsActor ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) IsActor() bool
func (TypeContextDescriptorFlags) IsDefaultActor ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) IsDefaultActor() bool
func (TypeContextDescriptorFlags) MetadataInitialization ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) MetadataInitialization() MetadataInitializationKind
func (TypeContextDescriptorFlags) ResilientSuperclassReferenceKind ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) ResilientSuperclassReferenceKind() TypeReferenceKind
func (TypeContextDescriptorFlags) String ¶ added in v1.1.166
func (f TypeContextDescriptorFlags) String() string
type TypeReferenceKind ¶ added in v1.1.166
type TypeReferenceKind uint8
TypeReferenceKind kinds of type metadata/protocol conformance records.
const ( //The conformance is for a nominal type referenced directly; getTypeDescriptor() points to the type context descriptor. DirectTypeDescriptor TypeReferenceKind = 0x00 // The conformance is for a nominal type referenced indirectly; getTypeDescriptor() points to the type context descriptor. IndirectTypeDescriptor TypeReferenceKind = 0x01 // The conformance is for an Objective-C class that should be looked up by class name. DirectObjCClassName TypeReferenceKind = 0x02 // The conformance is for an Objective-C class that has no nominal type descriptor. // getIndirectObjCClass() points to a variable that contains the pointer to // the class object, which then requires a runtime call to get metadata. // // On platforms without Objective-C interoperability, this case is unused. IndirectObjCClass TypeReferenceKind = 0x03 // We only reserve three bits for this in the various places we store it. FirstKind = DirectTypeDescriptor LastKind = IndirectObjCClass )
func (TypeReferenceKind) String ¶ added in v1.1.166
func (i TypeReferenceKind) String() string
type VTable ¶ added in v1.1.166
type VTable struct { TargetVTableDescriptorHeader MethodListAddr int64 Methods []Method }
Source Files ¶
- accessible_funcs.go
- associated_type.go
- builtin_type.go
- capture.go
- capture_string.go
- field.go
- field_string.go
- metadata.go
- metadata_string.go
- multi_payload_enum.go
- protocols.go
- protocols_string.go
- relative_pointer.go
- replacements.go
- swift.go
- swift_string.go
- type_class.go
- type_enum.go
- type_ext.go
- type_mod.go
- type_struct.go
- types.go
- types_string.go