update ffigen/objective_c dependencies

This commit is contained in:
Nick Fisher
2025-04-16 17:59:46 +08:00
parent b128f385e5
commit f272410803
4 changed files with 310 additions and 20372 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,111 +1,63 @@
#include <stdint.h> #include <stdint.h>
#import <Foundation/Foundation.h>
#import <objc/message.h>
#import "../../../native/include/generated/ThermionTextureSwiftObjCAPI.h" #import "../../../native/include/generated/ThermionTextureSwiftObjCAPI.h"
typedef void (^ListenerBlock)(NSDictionary* , struct _NSRange , BOOL * ); #if !__has_feature(objc_arc)
ListenerBlock wrapListenerBlock_ObjCBlock_ffiVoid_NSDictionary_NSRange_bool(ListenerBlock block) { #error "This file must be compiled with ARC enabled"
ListenerBlock wrapper = [^void(NSDictionary* arg0, struct _NSRange arg1, BOOL * arg2) { #endif
block([arg0 retain], arg1, arg2);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock1)(id , struct _NSRange , BOOL * ); #pragma clang diagnostic push
ListenerBlock1 wrapListenerBlock_ObjCBlock_ffiVoid_objcObjCObject_NSRange_bool(ListenerBlock1 block) { #pragma clang diagnostic ignored "-Wundeclared-selector"
ListenerBlock1 wrapper = [^void(id arg0, struct _NSRange arg1, BOOL * arg2) {
block([arg0 retain], arg1, arg2);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock2)(NSTimer* ); typedef struct {
ListenerBlock2 wrapListenerBlock_ObjCBlock_ffiVoid_NSTimer(ListenerBlock2 block) { int64_t version;
ListenerBlock2 wrapper = [^void(NSTimer* arg0) { void* (*newWaiter)(void);
block([arg0 retain]); void (*awaitWaiter)(void*);
} copy]; void* (*currentIsolate)(void);
[block release]; void (*enterIsolate)(void*);
return wrapper; void (*exitIsolate)(void);
} int64_t (*getMainPortId)(void);
bool (*getCurrentThreadOwnsIsolate)(int64_t);
} DOBJC_Context;
typedef void (^ListenerBlock3)(NSFileHandle* ); id objc_retainBlock(id);
ListenerBlock3 wrapListenerBlock_ObjCBlock_ffiVoid_NSFileHandle(ListenerBlock3 block) {
ListenerBlock3 wrapper = [^void(NSFileHandle* arg0) {
block([arg0 retain]);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock4)(NSError* ); #define BLOCKING_BLOCK_IMPL(ctx, BLOCK_SIG, INVOKE_DIRECT, INVOKE_LISTENER) \
ListenerBlock4 wrapListenerBlock_ObjCBlock_ffiVoid_NSError(ListenerBlock4 block) { assert(ctx->version >= 1); \
ListenerBlock4 wrapper = [^void(NSError* arg0) { void* targetIsolate = ctx->currentIsolate(); \
block([arg0 retain]); int64_t targetPort = ctx->getMainPortId == NULL ? 0 : ctx->getMainPortId(); \
} copy]; return BLOCK_SIG { \
[block release]; void* currentIsolate = ctx->currentIsolate(); \
return wrapper; bool mayEnterIsolate = \
} currentIsolate == NULL && \
ctx->getCurrentThreadOwnsIsolate != NULL && \
ctx->getCurrentThreadOwnsIsolate(targetPort); \
if (currentIsolate == targetIsolate || mayEnterIsolate) { \
if (mayEnterIsolate) { \
ctx->enterIsolate(targetIsolate); \
} \
INVOKE_DIRECT; \
if (mayEnterIsolate) { \
ctx->exitIsolate(); \
} \
} else { \
void* waiter = ctx->newWaiter(); \
INVOKE_LISTENER; \
ctx->awaitWaiter(waiter); \
} \
};
typedef void (^ListenerBlock5)(NSDictionary* , NSError* );
ListenerBlock5 wrapListenerBlock_ObjCBlock_ffiVoid_NSDictionary_NSError(ListenerBlock5 block) {
ListenerBlock5 wrapper = [^void(NSDictionary* arg0, NSError* arg1) {
block([arg0 retain], [arg1 retain]);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock6)(NSArray* ); Protocol* _ThermionTextureSwift_MTLDevice(void) { return @protocol(MTLDevice); }
ListenerBlock6 wrapListenerBlock_ObjCBlock_ffiVoid_NSArray(ListenerBlock6 block) {
ListenerBlock6 wrapper = [^void(NSArray* arg0) {
block([arg0 retain]);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock7)(NSTextCheckingResult* , NSMatchingFlags , BOOL * ); Protocol* _ThermionTextureSwift_MTLTexture(void) { return @protocol(MTLTexture); }
ListenerBlock7 wrapListenerBlock_ObjCBlock_ffiVoid_NSTextCheckingResult_NSMatchingFlags_bool(ListenerBlock7 block) {
ListenerBlock7 wrapper = [^void(NSTextCheckingResult* arg0, NSMatchingFlags arg1, BOOL * arg2) {
block([arg0 retain], arg1, arg2);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock8)(NSCachedURLResponse* ); typedef id (^ProtocolTrampoline)(void * sel);
ListenerBlock8 wrapListenerBlock_ObjCBlock_ffiVoid_NSCachedURLResponse(ListenerBlock8 block) { __attribute__((visibility("default"))) __attribute__((used))
ListenerBlock8 wrapper = [^void(NSCachedURLResponse* arg0) { id _ThermionTextureSwift_protocolTrampoline_1mbt9g9(id target, void * sel) {
block([arg0 retain]); return ((ProtocolTrampoline)((id (*)(id, SEL, SEL))objc_msgSend)(target, @selector(getDOBJCDartProtocolMethodForSelector:), sel))(sel);
} copy];
[block release];
return wrapper;
} }
#undef BLOCKING_BLOCK_IMPL
typedef void (^ListenerBlock9)(NSURLResponse* , NSData* , NSError* ); #pragma clang diagnostic pop
ListenerBlock9 wrapListenerBlock_ObjCBlock_ffiVoid_NSURLResponse_NSData_NSError(ListenerBlock9 block) {
ListenerBlock9 wrapper = [^void(NSURLResponse* arg0, NSData* arg1, NSError* arg2) {
block([arg0 retain], [arg1 retain], [arg2 retain]);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock10)(NSDictionary* );
ListenerBlock10 wrapListenerBlock_ObjCBlock_ffiVoid_NSDictionary(ListenerBlock10 block) {
ListenerBlock10 wrapper = [^void(NSDictionary* arg0) {
block([arg0 retain]);
} copy];
[block release];
return wrapper;
}
typedef void (^ListenerBlock11)(NSURLCredential* );
ListenerBlock11 wrapListenerBlock_ObjCBlock_ffiVoid_NSURLCredential(ListenerBlock11 block) {
ListenerBlock11 wrapper = [^void(NSURLCredential* arg0) {
block([arg0 retain]);
} copy];
[block release];
return wrapper;
}

View File

@@ -299,6 +299,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if defined(__OBJC__) #if defined(__OBJC__)
@protocol MTLDevice; @protocol MTLDevice;
@protocol MTLTexture; @protocol MTLTexture;
@class NSURL;
@class NSData; @class NSData;
SWIFT_CLASS("_TtC12swift_module20ThermionTextureSwift") SWIFT_CLASS("_TtC12swift_module20ThermionTextureSwift")
@@ -311,6 +312,7 @@ SWIFT_CLASS("_TtC12swift_module20ThermionTextureSwift")
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithWidth:(int64_t)width height:(int64_t)height isDepth:(BOOL)isDepth OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)initWithWidth:(int64_t)width height:(int64_t)height isDepth:(BOOL)isDepth OBJC_DESIGNATED_INITIALIZER;
- (void)destroyTexture; - (void)destroyTexture;
- (BOOL)fillWithPNGImageWithImageURL:(NSURL * _Nonnull)imageURL SWIFT_WARN_UNUSED_RESULT;
- (void)fillColor; - (void)fillColor;
- (NSData * _Nullable)getTextureBytes SWIFT_WARN_UNUSED_RESULT; - (NSData * _Nullable)getTextureBytes SWIFT_WARN_UNUSED_RESULT;
@end @end

View File

@@ -21,11 +21,9 @@ dependencies:
path: ^1.9.0 path: ^1.9.0
image: ^4.3.0 image: ^4.3.0
dev_dependencies: dev_dependencies:
ffigen: ^13.0.0 ffigen: ^18.1.0
# objective_c: ^1.1.0 objective_c: ^7.1.0
test: test:
path:
mockito: ^5.0.0 mockito: ^5.0.0
build_runner: ^2.0.0 build_runner: ^2.0.0