mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
531 lines
13 KiB
C++
531 lines
13 KiB
C++
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "swift/Runtime/Metadata.h"
|
|
#include "swift/Demangling/ManglingMacros.h"
|
|
|
|
using namespace swift;
|
|
|
|
// Placeholders for Swift functions that the C++ runtime references
|
|
// but that the test code does not link to.
|
|
|
|
// AnyHashable
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_makeAnyHashableUsingDefaultRepresentation(
|
|
const OpaqueValue *value,
|
|
const void *anyHashableResultPointer,
|
|
const Metadata *T,
|
|
const WitnessTable *hashableWT
|
|
) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11AnyHashableVMn[1] = {0};
|
|
|
|
// SwiftHashableSupport
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_stdlib_Hashable_isEqual_indirect(
|
|
const void *lhsValue, const void *rhsValue, const Metadata *type,
|
|
const void *wt) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
intptr_t _swift_stdlib_Hashable_hashValue_indirect(
|
|
const void *value, const Metadata *type, const void *wt) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_convertToAnyHashableIndirect(
|
|
OpaqueValue *source, OpaqueValue *destination, const Metadata *sourceType,
|
|
const void *sourceConformance) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_anyHashableDownCastConditionalIndirect(
|
|
OpaqueValue *source, OpaqueValue *destination, const Metadata *targetType) {
|
|
abort();
|
|
}
|
|
|
|
// SwiftEquatableSupport
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_stdlib_Equatable_isEqual_indirect(
|
|
const void *lhsValue, const void *rhsValue, const Metadata *type,
|
|
const void *wt) {
|
|
abort();
|
|
}
|
|
|
|
// Casting
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_arrayDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_arrayDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_setDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceValueHashable,
|
|
const void *targetValueHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_setDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceValueHashable,
|
|
const void *targetValueHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _swift_dictionaryDownCastIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceKeyType,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetKeyType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceKeyHashable,
|
|
const void *targetKeyHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool _swift_dictionaryDownCastConditionalIndirect(OpaqueValue *destination,
|
|
OpaqueValue *source,
|
|
const Metadata *sourceKeyType,
|
|
const Metadata *sourceValueType,
|
|
const Metadata *targetKeyType,
|
|
const Metadata *targetValueType,
|
|
const void *sourceKeyHashable,
|
|
const void *targetKeyHashable) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _bridgeNonVerbatimBoxedValue(const OpaqueValue *sourceValue,
|
|
OpaqueValue *destValue,
|
|
const Metadata *nativeType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void _bridgeNonVerbatimFromObjectiveCToAny(HeapObject *sourceValue,
|
|
OpaqueValue *destValue) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool swift_unboxFromSwiftValueWithType(OpaqueValue *source,
|
|
OpaqueValue *result,
|
|
const Metadata *destinationType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
bool swift_swiftValueConformsTo(const Metadata *destinationType) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_API
|
|
HeapObject *$ss27_bridgeAnythingToObjectiveCyyXlxlF(OpaqueValue *src, const Metadata *srcType) {
|
|
abort();
|
|
}
|
|
|
|
// ErrorObject
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
int $ss13_getErrorCodeySiSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss23_getErrorDomainNSStringyyXlSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss29_getErrorUserInfoNSDictionaryyyXlSgSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
void *$ss32_getErrorEmbeddedNSErrorIndirectyyXlSgSPyxGs0B0RzlF(void *) {
|
|
abort();
|
|
}
|
|
|
|
// Hashable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $SkMp[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSHMp[1] = {0};
|
|
|
|
// Array
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSaMn[1] = {0};
|
|
|
|
// Dictionary
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ssSdVMn[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSDMn[1] = {0};
|
|
|
|
// Set
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ssSeVMn[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sShMn[1] = {0};
|
|
|
|
// Bool
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSbMn[1] = {0};
|
|
|
|
// Binary Floating Point
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSBMp[1] = {0};
|
|
|
|
// Double
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSdMn[1] = {0};
|
|
|
|
// RandomNumberGenerator
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSGMp[1] = {0};
|
|
|
|
// Int
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSiMn[1] = {0};
|
|
|
|
// DefaultIndices
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSIMn[1] = {0};
|
|
|
|
// Character
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSJMn[1] = {0};
|
|
|
|
// Numeric
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSjMp[1] = {0};
|
|
|
|
// RandomAccessCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSkMp[1] = {0};
|
|
|
|
// BidirectionalCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSKMp[1] = {0};
|
|
|
|
// RangeReplacementCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSmMp[1] = {0};
|
|
|
|
// MutationCollection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSMMp[1] = {0};
|
|
|
|
// Range
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSnMn[1] = {0};
|
|
|
|
// ClosedRange
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSNMn[1] = {0};
|
|
|
|
// ObjectIdentifier
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSOMn[1] = {0};
|
|
|
|
// UnsafeMutablePointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSpMn[1] = {0};
|
|
|
|
// Optional
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSqMn[1] = {0};
|
|
|
|
// Equatable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSQMp[1] = {0};
|
|
|
|
// UnsafeMutableBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSrMn[1] = {0};
|
|
|
|
// UnsafeBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSRMn[1] = {0};
|
|
|
|
// String
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSSMn[1] = {0};
|
|
|
|
// Sequence
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSTMp[1] = {0};
|
|
|
|
// UInt
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSuMn[1] = {0};
|
|
|
|
// UnsignedInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSUMp[1] = {0};
|
|
|
|
// UnsafeMutableRawPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSvMn[1] = {0};
|
|
|
|
// Strideable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSxMp[1] = {0};
|
|
|
|
// RangeExpression
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSXMp[1] = {0};
|
|
|
|
// StringProtocol
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSyMp[1] = {0};
|
|
|
|
// RawRepresentable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSYMp[1] = {0};
|
|
|
|
// BinaryInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSzMp[1] = {0};
|
|
|
|
// Decodable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSeMp[1] = {0};
|
|
|
|
// Encodable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSEMp[1] = {0};
|
|
|
|
// Float
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSfMn[1] = {0};
|
|
|
|
// FloatingPoint
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSFMp[1] = {0};
|
|
|
|
// Collection
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSlMp[1] = {0};
|
|
|
|
// Comparable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSLMp[1] = {0};
|
|
|
|
// UnsafePointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSPMn[1] = {0};
|
|
|
|
// Substring
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSsMn[1] = {0};
|
|
|
|
// IteratorProtocol
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sStMp[1] = {0};
|
|
|
|
// UnsafeRawPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSVMn[1] = {0};
|
|
|
|
// UnsafeMutableRawBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSwMn[1] = {0};
|
|
|
|
// UnsafeRawBufferPointer
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSWMn[1] = {0};
|
|
|
|
// SignedInteger
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $sSZMp[1] = {0};
|
|
|
|
// Mirror
|
|
|
|
// protocol witness table for Swift._ClassSuperMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss17_ClassSuperMirrorVs01_C0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._ClassSuperMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss17_ClassSuperMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._MetatypeMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss15_MetatypeMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._MetatypeMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss15_MetatypeMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._EnumMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11_EnumMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._EnumMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss11_EnumMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._OpaqueMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_OpaqueMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._OpaqueMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_OpaqueMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._StructMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_StructMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._StructMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss13_StructMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._TupleMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_TupleMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._TupleMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_TupleMirrorVMa[1] = {0};
|
|
|
|
// protocol witness table for Swift._ClassMirror : Swift._Mirror in Swift
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_ClassMirrorVs01_B0sWP[1] = {0};
|
|
|
|
// type metadata accessor for Swift._ClassMirror
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12_ClassMirrorVMa[1] = {0};
|
|
|
|
// KeyPath
|
|
|
|
SWIFT_RUNTIME_STDLIB_SPI
|
|
const HeapObject *swift_getKeyPathImpl(const void *p,
|
|
const void *e,
|
|
const void *a) {
|
|
abort();
|
|
}
|
|
|
|
// playground print hook
|
|
|
|
struct swift_closure {
|
|
void *fptr;
|
|
HeapObject *context;
|
|
};
|
|
SWIFT_RUNTIME_STDLIB_API SWIFT_CC(swift) swift_closure
|
|
MANGLE_SYM(s20_playgroundPrintHookySScSgvg)() {
|
|
return {nullptr, nullptr};
|
|
}
|
|
|
|
// ObjectiveC Bridgeable
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss21_ObjectiveCBridgeableMp[1] = {0};
|
|
|
|
// Key Path
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss7KeyPathCMo[1] = {0};
|
|
|
|
// Boxing
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss12__SwiftValueCMn[1] = {0};
|
|
|
|
// Never and Error
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss5NeverOMn[1] = {0};
|
|
|
|
SWIFT_RUNTIME_STDLIB_INTERNAL
|
|
const long long $ss5ErrorMp[1] = {0};
|