123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- //
- // FLEXIvar.h
- // FLEX
- //
- // Derived from MirrorKit.
- // Created by Tanner on 6/30/15.
- // Copyright (c) 2020 FLEX Team. All rights reserved.
- //
- #import "FLEXRuntimeConstants.h"
- @interface FLEXIvar : NSObject
- + (instancetype)ivar:(Ivar)ivar;
- + (instancetype)named:(NSString *)name onClass:(Class)cls;
- /// The underlying \c Ivar data structure.
- @property (nonatomic, readonly) Ivar objc_ivar;
- /// The name of the instance variable.
- @property (nonatomic, readonly) NSString *name;
- /// The type of the instance variable.
- @property (nonatomic, readonly) FLEXTypeEncoding type;
- /// The type encoding string of the instance variable.
- @property (nonatomic, readonly) NSString *typeEncoding;
- /// The offset of the instance variable.
- @property (nonatomic, readonly) NSInteger offset;
- /// The size of the instance variable. 0 if unknown.
- @property (nonatomic, readonly) NSUInteger size;
- /// Describes the type encoding, size, offset, and objc_ivar
- @property (nonatomic, readonly) NSString *details;
- /// The full path of the image that contains this ivar definition,
- /// or \c nil if this ivar was probably defined at runtime.
- @property (nonatomic, readonly) NSString *imagePath;
- /// For internal use
- @property (nonatomic) id tag;
- - (id)getValue:(id)target;
- - (void)setValue:(id)value onObject:(id)target;
- /// Calls into -getValue: and passes that value into
- /// -[FLEXRuntimeUtility potentiallyUnwrapBoxedPointer:type:]
- /// and returns the result
- - (id)getPotentiallyUnboxedValue:(id)target;
- @end
|