1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //
- // FLEXRuntimeConstants.h
- // FLEX
- //
- // Created by Tanner on 3/11/20.
- // Copyright © 2020 FLEX Team. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import <objc/runtime.h>
- #define FLEXEncodeClass(class) ("@\"" #class "\"")
- #define FLEXEncodeObject(obj) (obj ? [NSString stringWithFormat:@"@\"%@\"", [obj class]].UTF8String : @encode(id))
- // Arguments 0 and 1 are self and _cmd always
- extern const unsigned int kFLEXNumberOfImplicitArgs;
- // See https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtPropertyIntrospection.html#//apple_ref/doc/uid/TP40008048-CH101-SW6
- extern NSString *const kFLEXPropertyAttributeKeyTypeEncoding;
- extern NSString *const kFLEXPropertyAttributeKeyBackingIvarName;
- extern NSString *const kFLEXPropertyAttributeKeyReadOnly;
- extern NSString *const kFLEXPropertyAttributeKeyCopy;
- extern NSString *const kFLEXPropertyAttributeKeyRetain;
- extern NSString *const kFLEXPropertyAttributeKeyNonAtomic;
- extern NSString *const kFLEXPropertyAttributeKeyCustomGetter;
- extern NSString *const kFLEXPropertyAttributeKeyCustomSetter;
- extern NSString *const kFLEXPropertyAttributeKeyDynamic;
- extern NSString *const kFLEXPropertyAttributeKeyWeak;
- extern NSString *const kFLEXPropertyAttributeKeyGarbageCollectable;
- extern NSString *const kFLEXPropertyAttributeKeyOldStyleTypeEncoding;
- typedef NS_ENUM(NSUInteger, FLEXPropertyAttribute) {
- FLEXPropertyAttributeTypeEncoding = 'T',
- FLEXPropertyAttributeBackingIvarName = 'V',
- FLEXPropertyAttributeCopy = 'C',
- FLEXPropertyAttributeCustomGetter = 'G',
- FLEXPropertyAttributeCustomSetter = 'S',
- FLEXPropertyAttributeDynamic = 'D',
- FLEXPropertyAttributeGarbageCollectible = 'P',
- FLEXPropertyAttributeNonAtomic = 'N',
- FLEXPropertyAttributeOldTypeEncoding = 't',
- FLEXPropertyAttributeReadOnly = 'R',
- FLEXPropertyAttributeRetain = '&',
- FLEXPropertyAttributeWeak = 'W'
- };
- typedef NS_ENUM(char, FLEXTypeEncoding) {
- FLEXTypeEncodingNull = '\0',
- FLEXTypeEncodingUnknown = '?',
- FLEXTypeEncodingChar = 'c',
- FLEXTypeEncodingInt = 'i',
- FLEXTypeEncodingShort = 's',
- FLEXTypeEncodingLong = 'l',
- FLEXTypeEncodingLongLong = 'q',
- FLEXTypeEncodingUnsignedChar = 'C',
- FLEXTypeEncodingUnsignedInt = 'I',
- FLEXTypeEncodingUnsignedShort = 'S',
- FLEXTypeEncodingUnsignedLong = 'L',
- FLEXTypeEncodingUnsignedLongLong = 'Q',
- FLEXTypeEncodingFloat = 'f',
- FLEXTypeEncodingDouble = 'd',
- FLEXTypeEncodingLongDouble = 'D',
- FLEXTypeEncodingCBool = 'B',
- FLEXTypeEncodingVoid = 'v',
- FLEXTypeEncodingCString = '*',
- FLEXTypeEncodingObjcObject = '@',
- FLEXTypeEncodingObjcClass = '#',
- FLEXTypeEncodingSelector = ':',
- FLEXTypeEncodingArrayBegin = '[',
- FLEXTypeEncodingArrayEnd = ']',
- FLEXTypeEncodingStructBegin = '{',
- FLEXTypeEncodingStructEnd = '}',
- FLEXTypeEncodingUnionBegin = '(',
- FLEXTypeEncodingUnionEnd = ')',
- FLEXTypeEncodingQuote = '\"',
- FLEXTypeEncodingBitField = 'b',
- FLEXTypeEncodingPointer = '^',
- FLEXTypeEncodingConst = 'r'
- };
|