//===-- DemangleNodes.def - Demangling Tree Metaprogramming -----*- C++ -*-===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2015 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. NODE(Failure) NODE(Addressor) NODE(Allocator) NODE(ArchetypeAndProtocol) NODE(ArchetypeRef) NODE(ArgumentTuple) NODE(AssociatedTypeRef) NODE(AutoClosureType) NODE(BoundGenericClass) NODE(BoundGenericEnum) NODE(BoundGenericStructure) NODE(BuiltinTypeName) NODE(Class) NODE(Constructor) NODE(Deallocator) NODE(DeclContext) NODE(DefaultArgumentInitializer) NODE(DependentGenericSignature) NODE(DependentGenericParamCount) NODE(DependentGenericConformanceRequirement) NODE(DependentGenericSameTypeRequirement) NODE(DependentGenericType) NODE(DependentMemberType) NODE(DependentGenericParamType) NODE(DependentProtocolWitnessTableGenerator) NODE(DependentProtocolWitnessTableTemplate) NODE(Destructor) NODE(DidSet) NODE(Directness) NODE(DynamicAttribute) NODE(DynamicSelf) NODE(Enum) NODE(ErrorType) NODE(ExistentialMetatype) NODE(ExplicitClosure) NODE(Extension) NODE(FieldOffset) NODE(Function) NODE(FunctionType) NODE(Generics) NODE(GenericType) NODE(GenericTypeMetadataPattern) NODE(Getter) NODE(Global) NODE(GlobalGetter) NODE(Identifier) NODE(IVarInitializer) NODE(IVarDestroyer) NODE(ImplConvention) NODE(ImplFunctionAttribute) NODE(ImplFunctionType) NODE(ImplicitClosure) NODE(ImplParameter) NODE(ImplResult) NODE(InOut) NODE(InfixOperator) NODE(Initializer) NODE(LazyProtocolWitnessTableAccessor) NODE(LazyProtocolWitnessTableTemplate) NODE(LocalDeclName) NODE(MaterializeForSet) NODE(Metatype) NODE(Metaclass) NODE(Module) NODE(MutableAddressor) NODE(NominalTypeDescriptor) NODE(NonObjCAttribute) NODE(NonVariadicTuple) NODE(Number) NODE(ObjCAttribute) NODE(ObjCBlock) NODE(PartialApplyForwarder) NODE(PartialApplyObjCForwarder) NODE(PostfixOperator) NODE(PrefixOperator) NODE(PrivateDeclName) NODE(Protocol) NODE(ProtocolConformance) NODE(ProtocolList) NODE(ProtocolWitness) NODE(ProtocolWitnessTable) NODE(QualifiedArchetype) NODE(ReabstractionThunk) NODE(ReabstractionThunkHelper) NODE(ReturnType) NODE(SelfTypeRef) NODE(Setter) NODE(SpecializedAttribute) NODE(SpecializationParam) NODE(Structure) NODE(Subscript) NODE(Suffix) NODE(TupleElement) NODE(TupleElementName) NODE(TupleElementType) NODE(Type) NODE(TypeAlias) NODE(TypeList) NODE(TypeMetadata) NODE(TypeMetadataAccessFunction) NODE(TypeMetadataLazyCache) NODE(UncurriedFunctionType) NODE(Unknown) NODE(Unmanaged) NODE(Unowned) NODE(ValueWitness) NODE(ValueWitnessTable) NODE(Variable) NODE(VariadicTuple) NODE(Weak) NODE(WillSet) NODE(WitnessTableOffset) #undef NODE