1//===-- ValueWitnessMangling.def - VW Mangling Metaprogramming --*- C++ -*-===// 2// 3// This source file is part of the Swift.org open source project 4// 5// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors 6// Licensed under Apache License v2.0 with Runtime Library Exception 7// 8// See https://swift.org/LICENSE.txt for license information 9// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors 10// 11//===----------------------------------------------------------------------===// 12 13/// VALUE_WITNESS(MANGLING, NAME) 14/// The 2-character MANGLING for a value witness NAME. 15 16VALUE_WITNESS(al, AllocateBuffer) 17VALUE_WITNESS(ca, AssignWithCopy) 18VALUE_WITNESS(ta, AssignWithTake) 19VALUE_WITNESS(de, DeallocateBuffer) 20VALUE_WITNESS(xx, Destroy) 21VALUE_WITNESS(XX, DestroyBuffer) 22VALUE_WITNESS(Xx, DestroyArray) 23VALUE_WITNESS(CP, InitializeBufferWithCopyOfBuffer) 24VALUE_WITNESS(Cp, InitializeBufferWithCopy) 25VALUE_WITNESS(cp, InitializeWithCopy) 26VALUE_WITNESS(Tk, InitializeBufferWithTake) 27VALUE_WITNESS(tk, InitializeWithTake) 28VALUE_WITNESS(pr, ProjectBuffer) 29VALUE_WITNESS(TK, InitializeBufferWithTakeOfBuffer) 30VALUE_WITNESS(Cc, InitializeArrayWithCopy) 31VALUE_WITNESS(Tt, InitializeArrayWithTakeFrontToBack) 32VALUE_WITNESS(tT, InitializeArrayWithTakeBackToFront) 33VALUE_WITNESS(xs, StoreExtraInhabitant) 34VALUE_WITNESS(xg, GetExtraInhabitantIndex) 35VALUE_WITNESS(ug, GetEnumTag) 36VALUE_WITNESS(up, DestructiveProjectEnumData) 37VALUE_WITNESS(ui, DestructiveInjectEnumTag) 38VALUE_WITNESS(et, GetEnumTagSinglePayload) 39VALUE_WITNESS(st, StoreEnumTagSinglePayload) 40 41#undef VALUE_WITNESS 42