123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- //===--- DemangleNodes.def - Demangling Tree Metaprogramming ----*- C++ -*-===//
- //
- // This source file is part of the Swift.org open source project
- //
- // Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
- // Licensed under Apache License v2.0 with Runtime Library Exception
- //
- // See http://swift.org/LICENSE.txt for license information
- // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
- //
- //===----------------------------------------------------------------------===//
- //
- // This file defines macros useful for macro-metaprogramming with nodes in
- // the demangling tree.
- //
- //===----------------------------------------------------------------------===//
- /// NODE(ID)
- /// The node's enumerator value is Node::Kind::ID.
- /// CONTEXT_NODE(ID)
- /// Nodes that can serve as contexts for other entities.
- #ifndef CONTEXT_NODE
- #define CONTEXT_NODE(ID) NODE(ID)
- #endif
- CONTEXT_NODE(Allocator)
- NODE(Archetype)
- NODE(ArchetypeRef)
- NODE(ArgumentTuple)
- NODE(AssociatedType)
- NODE(AssociatedTypeRef)
- NODE(AssociatedTypeMetadataAccessor)
- NODE(AssociatedTypeWitnessTableAccessor)
- NODE(AutoClosureType)
- NODE(BoundGenericClass)
- NODE(BoundGenericEnum)
- NODE(BoundGenericStructure)
- NODE(BuiltinTypeName)
- NODE(CFunctionPointer)
- CONTEXT_NODE(Class)
- CONTEXT_NODE(Constructor)
- CONTEXT_NODE(Deallocator)
- NODE(DeclContext)
- CONTEXT_NODE(DefaultArgumentInitializer)
- NODE(DependentAssociatedTypeRef)
- NODE(DependentGenericConformanceRequirement)
- NODE(DependentGenericParamCount)
- NODE(DependentGenericParamType)
- NODE(DependentGenericSameTypeRequirement)
- NODE(DependentGenericSignature)
- NODE(DependentGenericType)
- NODE(DependentMemberType)
- NODE(DependentPseudogenericSignature)
- CONTEXT_NODE(Destructor)
- CONTEXT_NODE(DidSet)
- NODE(Directness)
- NODE(DynamicAttribute)
- NODE(DirectMethodReferenceAttribute)
- NODE(DynamicSelf)
- CONTEXT_NODE(Enum)
- NODE(ErrorType)
- NODE(ExistentialMetatype)
- CONTEXT_NODE(ExplicitClosure)
- CONTEXT_NODE(Extension)
- NODE(FieldOffset)
- NODE(FullTypeMetadata)
- CONTEXT_NODE(Function)
- NODE(FunctionSignatureSpecialization)
- NODE(FunctionSignatureSpecializationParam)
- NODE(FunctionSignatureSpecializationParamKind)
- NODE(FunctionSignatureSpecializationParamPayload)
- NODE(FunctionType)
- NODE(GenericProtocolWitnessTable)
- NODE(GenericProtocolWitnessTableInstantiationFunction)
- NODE(GenericSpecialization)
- NODE(GenericSpecializationNotReAbstracted)
- NODE(GenericSpecializationParam)
- NODE(GenericTypeMetadataPattern)
- CONTEXT_NODE(Getter)
- NODE(Global)
- CONTEXT_NODE(GlobalGetter)
- NODE(Identifier)
- NODE(Index)
- CONTEXT_NODE(IVarInitializer)
- CONTEXT_NODE(IVarDestroyer)
- NODE(ImplConvention)
- NODE(ImplFunctionAttribute)
- NODE(ImplFunctionType)
- CONTEXT_NODE(ImplicitClosure)
- NODE(ImplParameter)
- NODE(ImplResult)
- NODE(ImplErrorResult)
- NODE(InOut)
- NODE(InfixOperator)
- CONTEXT_NODE(Initializer)
- NODE(LazyProtocolWitnessTableAccessor)
- NODE(LazyProtocolWitnessTableCacheVariable)
- NODE(LocalDeclName)
- CONTEXT_NODE(MaterializeForSet)
- NODE(Metatype)
- NODE(MetatypeRepresentation)
- NODE(Metaclass)
- CONTEXT_NODE(Module)
- CONTEXT_NODE(NativeOwningAddressor)
- CONTEXT_NODE(NativeOwningMutableAddressor)
- CONTEXT_NODE(NativePinningAddressor)
- CONTEXT_NODE(NativePinningMutableAddressor)
- NODE(NominalTypeDescriptor)
- NODE(NonObjCAttribute)
- NODE(NonVariadicTuple)
- NODE(Number)
- NODE(ObjCAttribute)
- NODE(ObjCBlock)
- CONTEXT_NODE(OwningAddressor)
- CONTEXT_NODE(OwningMutableAddressor)
- NODE(PartialApplyForwarder)
- NODE(PartialApplyObjCForwarder)
- NODE(PostfixOperator)
- NODE(PrefixOperator)
- NODE(PrivateDeclName)
- CONTEXT_NODE(Protocol)
- NODE(ProtocolConformance)
- NODE(ProtocolDescriptor)
- NODE(ProtocolList)
- NODE(ProtocolWitness)
- NODE(ProtocolWitnessTable)
- NODE(ProtocolWitnessTableAccessor)
- NODE(QualifiedArchetype)
- NODE(ReabstractionThunk)
- NODE(ReabstractionThunkHelper)
- NODE(ReturnType)
- NODE(SILBoxType)
- NODE(SelfTypeRef)
- CONTEXT_NODE(Setter)
- NODE(SpecializationPassID)
- NODE(SpecializationIsFragile)
- CONTEXT_NODE(Static)
- CONTEXT_NODE(Structure)
- CONTEXT_NODE(Subscript)
- NODE(Suffix)
- NODE(ThinFunctionType)
- NODE(TupleElement)
- NODE(TupleElementName)
- NODE(Type)
- NODE(TypeAlias)
- NODE(TypeList)
- NODE(TypeMangling)
- NODE(TypeMetadata)
- NODE(TypeMetadataAccessFunction)
- NODE(TypeMetadataLazyCache)
- NODE(UncurriedFunctionType)
- NODE(Unmanaged)
- NODE(Unowned)
- CONTEXT_NODE(UnsafeAddressor)
- CONTEXT_NODE(UnsafeMutableAddressor)
- NODE(ValueWitness)
- NODE(ValueWitnessTable)
- CONTEXT_NODE(Variable)
- NODE(VariadicTuple)
- NODE(VTableAttribute)
- NODE(Weak)
- CONTEXT_NODE(WillSet)
- NODE(WitnessTableOffset)
- NODE(ThrowsAnnotation)
- #undef CONTEXT_NODE
- #undef NODE
|