//===--- Attr.def - Swift Attributes 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 used for macro-metaprogramming with attributes. // //===----------------------------------------------------------------------===// #ifndef ATTR #define ATTR(X) #endif // ATTR(name) - Invokes a macro for each attribute. ATTR(assignment) ATTR(cc) ATTR(class_protocol) ATTR(conversion) ATTR(exported) ATTR(infix) ATTR(resilient) ATTR(fragile) ATTR(born_fragile) ATTR(byref) ATTR(auto_closure) ATTR(thin) ATTR(noreturn) ATTR(asmname) ATTR(prefix) ATTR(postfix) ATTR(objc) ATTR(objc_block) ATTR(iboutlet) ATTR(ibaction) ATTR(local_storage) ATTR(transparent) #undef ATTR