1 // Copyright 2013 The Flutter Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef FLUTTER_FLUTTERMACROS_H_ 6 #define FLUTTER_FLUTTERMACROS_H_ 7 8 #if defined(FLUTTER_FRAMEWORK) 9 10 #define FLUTTER_EXPORT __attribute__((visibility("default"))) 11 12 #else // defined(FLUTTER_SDK) 13 14 #define FLUTTER_EXPORT 15 16 #endif // defined(FLUTTER_SDK) 17 18 #ifndef NS_ASSUME_NONNULL_BEGIN 19 #define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") 20 #define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") 21 #endif // defined(NS_ASSUME_NONNULL_BEGIN) 22 23 /** 24 * Indicates that the API has been deprecated for the specified reason. Code 25 * that uses the deprecated API will continue to work as before. However, the 26 * API will soon become unavailable and users are encouraged to immediately take 27 * the appropriate action mentioned in the deprecation message and the BREAKING 28 * CHANGES section present in the Flutter.h umbrella header. 29 */ 30 #define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg))) 31 32 /** 33 * Indicates that the previously deprecated API is now unavailable. Code that 34 * uses the API will not work and the declaration of the API is only a stub 35 * meant to display the given message detailing the actions for the user to take 36 * immediately. 37 */ 38 #define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg))) 39 40 #endif // FLUTTER_FLUTTERMACROS_H_ 41