From 3fe4c5c0769366dd358477fdae6ad4c8c1d11847 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 14 May 2024 13:37:08 +1200 Subject: [PATCH 01/30] Use NSProxy to implement protocols --- .../native_objc_test/is_instance_test.dart | 1 - .../native_objc_test/protocol_config.yaml | 20 + .../test/native_objc_test/protocol_test.dart | 54 + .../test/native_objc_test/protocol_test.m | 35 + pkgs/objective_c/.gitignore | 1 + pkgs/objective_c/ffigen_c.yaml | 3 + pkgs/objective_c/ffigen_objc.yaml | 2 + pkgs/objective_c/ios/Classes/objective_c.c | 2 +- pkgs/objective_c/ios/Classes/objective_c.m | 7 + pkgs/objective_c/lib/objective_c.dart | 1 + .../lib/src/c_bindings_generated.dart | 31 + pkgs/objective_c/lib/src/internal.dart | 25 + .../src/objective_c_bindings_generated.dart | 9683 +++++++++-------- pkgs/objective_c/macos/Classes/objective_c.c | 2 +- pkgs/objective_c/macos/Classes/objective_c.m | 7 + pkgs/objective_c/src/foundation.h | 1 + pkgs/objective_c/src/objective_c_runtime.h | 11 + pkgs/objective_c/src/proxy.h | 22 + pkgs/objective_c/src/proxy.m | 61 + pkgs/objective_c/test/setup.dart | 31 +- 20 files changed, 5286 insertions(+), 4714 deletions(-) create mode 100644 pkgs/ffigen/test/native_objc_test/protocol_config.yaml create mode 100644 pkgs/ffigen/test/native_objc_test/protocol_test.dart create mode 100644 pkgs/ffigen/test/native_objc_test/protocol_test.m create mode 100644 pkgs/objective_c/ios/Classes/objective_c.m create mode 100644 pkgs/objective_c/macos/Classes/objective_c.m create mode 100644 pkgs/objective_c/src/proxy.h create mode 100644 pkgs/objective_c/src/proxy.m diff --git a/pkgs/ffigen/test/native_objc_test/is_instance_test.dart b/pkgs/ffigen/test/native_objc_test/is_instance_test.dart index 183134002e..d6ba8fcc5d 100644 --- a/pkgs/ffigen/test/native_objc_test/is_instance_test.dart +++ b/pkgs/ffigen/test/native_objc_test/is_instance_test.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. // Objective C support is only available on mac. - @TestOn('mac-os') import 'dart:ffi'; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml new file mode 100644 index 0000000000..52c574d222 --- /dev/null +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -0,0 +1,20 @@ +name: ProtocolTestObjCLibrary +description: 'Tests implementing protocols' +language: objc +output: 'protocol_bindings.dart' +exclude-all-by-default: true +objc-interfaces: + include: + - ProtocolConsumer + - ObjCProtocolImpl +typedefs: + include: + - BuildStringBlock +functions: + include: + - forceCodeGenOfBuildStringBlock +headers: + entry-points: + - 'protocol_test.m' +preamble: | + // ignore_for_file: camel_case_types, non_constant_identifier_names, unnecessary_non_null_assertion, unused_element, unused_field diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart new file mode 100644 index 0000000000..078941c14c --- /dev/null +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -0,0 +1,54 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +// Objective C support is only available on mac. +@TestOn('mac-os') + +import 'dart:ffi'; +import 'dart:io'; + +import 'package:objective_c/objective_c.dart'; +import 'package:test/test.dart'; + +import '../test_utils.dart'; +import 'protocol_bindings.dart'; +import 'util.dart'; + +void main() { + group('protocol', () { + setUpAll(() { + logWarnings(); + // TODO(https://github.com/dart-lang/native/issues/1068): Remove this. + DynamicLibrary.open('../objective_c/test/objective_c.dylib'); + final dylib = File('test/native_objc_test/protocol_test.dylib'); + verifySetupFile(dylib); + DynamicLibrary.open(dylib.absolute.path); + generateBindingsForCoverage('protocol'); + }); + + test('ObjC implementation', () { + final protoImpl = ObjCProtocolImpl.new1(); + final consumer = ProtocolConsumer.new1(); + final result = consumer.getProtoString_(protoImpl); + expect(result.toString(), 'ObjCProtocolImpl: Hello from ObjC: 3.14'); + }); + + test('Manual DartProxy implementation', () { + final protoImpl = DartProxy.new1(); + final sel = registerName('buildString:withDouble:'); + final proto = getProtocol('MyProtocol'); + final signature = getProtocolMethodSignature(proto, sel, true, true); + + final block = DartBuildStringBlock.fromFunction( + (Pointer p, NSString s, double x) { + return 'DartProxy: $s: $x'.toNSString(); + }); + protoImpl.implementMethod_withSignature_andBlock_( + sel, signature!, block.pointer.cast()); + final consumer = ProtocolConsumer.new1(); + final result = consumer.getProtoString_(protoImpl); + expect(result.toString(), "DartProxy: Hello from ObjC: 3.14"); + }); + }); +} diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m new file mode 100644 index 0000000000..52362aad88 --- /dev/null +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -0,0 +1,35 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +#import +#import + +@protocol MyProtocol +- (NSString*)buildString:(NSString*)s withDouble:(double)x; +@end + +@interface ProtocolConsumer : NSObject +- (NSString*)getProtoString:(id)proto; +@end + +@implementation ProtocolConsumer : NSObject +- (NSString*)getProtoString:(id)proto { + return [proto buildString:@"Hello from ObjC" withDouble:3.14]; +} +@end + +@interface ObjCProtocolImpl : NSObject +@end + +@implementation ObjCProtocolImpl +- (NSString *)buildString:(NSString *)s withDouble:(double)x { + return [NSString stringWithFormat:@"ObjCProtocolImpl: %@: %.2f", s, x]; +} +@end + +// TODO(https://github.com/dart-lang/native/issues/1040): Delete this. +typedef NSString* (^BuildStringBlock)(void*, NSString*, double); + +// TODO(https://github.com/dart-lang/native/issues/1040): Delete this. +void forceCodeGenOfBuildStringBlock(BuildStringBlock block); diff --git a/pkgs/objective_c/.gitignore b/pkgs/objective_c/.gitignore index 6cff356546..1a2dbce3af 100644 --- a/pkgs/objective_c/.gitignore +++ b/pkgs/objective_c/.gitignore @@ -4,6 +4,7 @@ *.pyc *.swp *.dylib +*.o .DS_Store .atom/ .buildlog/ diff --git a/pkgs/objective_c/ffigen_c.yaml b/pkgs/objective_c/ffigen_c.yaml index 33c17e3b4c..d16df6fe43 100644 --- a/pkgs/objective_c/ffigen_c.yaml +++ b/pkgs/objective_c/ffigen_c.yaml @@ -16,6 +16,7 @@ functions: - 'objc_.*' - 'object_getClass' - 'sel_registerName' + - 'protocol_getMethodDescription' - '_Block_.*' - 'disposeObjCBlockWithClosure' - 'isValidBlock' @@ -34,6 +35,8 @@ functions: 'objc_msgSend_stret': 'msgSendStret' 'object_getClass': 'getObjectClass' 'objc_copyClassList': 'copyClassList' + 'objc_getProtocol': 'getProtocol' + 'protocol_getMethodDescription': 'getMethodDescription' '_Block_copy': 'blockCopy' '_Block_release': 'blockRelease' globals: diff --git a/pkgs/objective_c/ffigen_objc.yaml b/pkgs/objective_c/ffigen_objc.yaml index 4be46b5502..0d05ad6f94 100644 --- a/pkgs/objective_c/ffigen_objc.yaml +++ b/pkgs/objective_c/ffigen_objc.yaml @@ -6,12 +6,14 @@ output: 'lib/src/objective_c_bindings_generated.dart' headers: entry-points: - 'src/foundation.h' + - 'src/proxy.h' ffi-native: exclude-all-by-default: true generate-for-package-objective-c: true objc-interfaces: # Keep in sync with ffigen's ObjCBuiltInFunctions.builtInInterfaces. include: + - DartProxy - NSArray - NSCharacterSet - NSCoder diff --git a/pkgs/objective_c/ios/Classes/objective_c.c b/pkgs/objective_c/ios/Classes/objective_c.c index 83496a45f3..6d9c021cce 100644 --- a/pkgs/objective_c/ios/Classes/objective_c.c +++ b/pkgs/objective_c/ios/Classes/objective_c.c @@ -3,6 +3,6 @@ // BSD-style license that can be found in the LICENSE file. // Relative import to be able to reuse the C sources. -// See the comment in ../{projectName}}.podspec for more information. +// See the comment in ../objective_c.podspec for more information. #include "../../src/objective_c.c" #include "../../src/include/dart_api_dl.c" diff --git a/pkgs/objective_c/ios/Classes/objective_c.m b/pkgs/objective_c/ios/Classes/objective_c.m new file mode 100644 index 0000000000..d7f0800b6b --- /dev/null +++ b/pkgs/objective_c/ios/Classes/objective_c.m @@ -0,0 +1,7 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +// Relative import to be able to reuse the ObjC sources. +// See the comment in ../objective_c.podspec for more information. +#include "../../src/proxy.m" diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index 41f473af55..e118dd8ed3 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -18,6 +18,7 @@ export 'src/c_bindings_generated.dart' // Keep in sync with pkgs/objective_c/ffigen_objc.yaml. export 'src/objective_c_bindings_generated.dart' show + DartProxy, NSArray, NSCharacterSet, NSCoder, diff --git a/pkgs/objective_c/lib/src/c_bindings_generated.dart b/pkgs/objective_c/lib/src/c_bindings_generated.dart index 5a9ac2a7dd..450ba5970f 100644 --- a/pkgs/objective_c/lib/src/c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/c_bindings_generated.dart @@ -116,6 +116,25 @@ external void blockRelease( ffi.Pointer object, ); +@ffi.Native Function(ffi.Pointer)>( + symbol: "objc_getProtocol", isLeaf: true) +external ffi.Pointer getProtocol( + ffi.Pointer name, +); + +@ffi.Native< + ObjCMethodDesc Function( + ffi.Pointer, + ffi.Pointer, + ffi.Bool, + ffi.Bool)>(symbol: "protocol_getMethodDescription", isLeaf: true) +external ObjCMethodDesc getMethodDescription( + ffi.Pointer proto, + ffi.Pointer sel, + bool isRequiredMethod, + bool isInstanceMethod, +); + @ffi.Native)>(isLeaf: true) external void disposeObjCBlockWithClosure( ffi.Pointer block, @@ -134,6 +153,18 @@ typedef ObjCObject = _ObjCObject; final class _ObjCObject extends ffi.Opaque {} +typedef ObjCProtocol = _ObjCProtocol; + +final class _ObjCProtocol extends ffi.Opaque {} + +typedef ObjCMethodDesc = _ObjCMethodDesc; + +final class _ObjCMethodDesc extends ffi.Struct { + external ffi.Pointer name; + + external ffi.Pointer types; +} + typedef ObjCBlock = _ObjCBlock; final class _ObjCBlock extends ffi.Struct { diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index 53b6bb762b..ae4ec444ac 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -8,6 +8,7 @@ import 'dart:isolate'; import 'package:ffi/ffi.dart'; import 'c_bindings_generated.dart' as c; +import 'objective_c_bindings_generated.dart' as objc; /// Only for use by ffigen bindings. Pointer registerName(String name) { @@ -28,6 +29,30 @@ Pointer getClass(String name) { return clazz; } +/// Only for use by ffigen bindings. +Pointer getProtocol(String name) { + final cstr = name.toNativeUtf8(); + final clazz = c.getProtocol(cstr.cast()); + calloc.free(cstr); + if (clazz == nullptr) { + throw Exception('Failed to load Objective-C protocol: $name'); + } + return clazz; +} + +/// Only for use by ffigen bindings. +objc.NSMethodSignature? getProtocolMethodSignature( + Pointer protocol, Pointer sel, + bool isRequiredMethod, bool isInstanceMethod) { + final sig = c.getMethodDescription( + protocol, sel, isRequiredMethod, + isInstanceMethod).types; + if (sig == nullptr) { + return null; + } + return objc.NSMethodSignature.signatureWithObjCTypes_(sig); +} + /// Only for use by ffigen bindings. final msgSendPointer = Native.addressOf>(c.msgSend); diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index 0eaa25ad4d..02d1c04e08 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -135,24 +135,24 @@ class NSObject extends objc.ObjCObjectBase { NSMethodSignature methodSignatureForSelector_( ffi.Pointer aSelector) { - final _ret = _objc_msgSend_10( + final _ret = _objc_msgSend_15( this.pointer, _sel_methodSignatureForSelector_, aSelector); return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } static NSMethodSignature instanceMethodSignatureForSelector_( ffi.Pointer aSelector) { - final _ret = _objc_msgSend_10( + final _ret = _objc_msgSend_15( _class_NSObject, _sel_instanceMethodSignatureForSelector_, aSelector); return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } bool allowsWeakReference() { - return _objc_msgSend_11(this.pointer, _sel_allowsWeakReference); + return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); } bool retainWeakReference() { - return _objc_msgSend_11(this.pointer, _sel_retainWeakReference); + return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); } static bool isSubclassOfClass_(objc.ObjCObjectBase aClass) { @@ -169,7 +169,7 @@ class NSObject extends objc.ObjCObjectBase { } static int hash() { - return _objc_msgSend_12(_class_NSObject, _sel_hash); + return _objc_msgSend_11(_class_NSObject, _sel_hash); } static objc.ObjCObjectBase superclass() { @@ -183,21 +183,21 @@ class NSObject extends objc.ObjCObjectBase { } static NSString description() { - final _ret = _objc_msgSend_32(_class_NSObject, _sel_description); + final _ret = _objc_msgSend_35(_class_NSObject, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString debugDescription() { - final _ret = _objc_msgSend_32(_class_NSObject, _sel_debugDescription); + final _ret = _objc_msgSend_35(_class_NSObject, _sel_debugDescription); return NSString.castFromPointer(_ret, retain: true, release: true); } static int version() { - return _objc_msgSend_76(_class_NSObject, _sel_version); + return _objc_msgSend_79(_class_NSObject, _sel_version); } static void setVersion_(int aVersion) { - _objc_msgSend_284(_class_NSObject, _sel_setVersion_, aVersion); + _objc_msgSend_295(_class_NSObject, _sel_setVersion_, aVersion); } objc.ObjCObjectBase get classForCoder { @@ -206,7 +206,7 @@ class NSObject extends objc.ObjCObjectBase { } objc.ObjCObjectBase? replacementObjectForCoder_(NSCoder coder) { - final _ret = _objc_msgSend_14( + final _ret = _objc_msgSend_17( this.pointer, _sel_replacementObjectForCoder_, coder.pointer); return _ret.address == 0 ? null @@ -214,7 +214,7 @@ class NSObject extends objc.ObjCObjectBase { } objc.ObjCObjectBase? awakeAfterUsingCoder_(NSCoder coder) { - final _ret = _objc_msgSend_14( + final _ret = _objc_msgSend_17( this.pointer, _sel_awakeAfterUsingCoder_, coder.pointer); return _ret.address == 0 ? null @@ -222,7 +222,7 @@ class NSObject extends objc.ObjCObjectBase { } static void poseAsClass_(objc.ObjCObjectBase aClass) { - _objc_msgSend_198(_class_NSObject, _sel_poseAsClass_, aClass.pointer); + _objc_msgSend_210(_class_NSObject, _sel_poseAsClass_, aClass.pointer); } objc.ObjCObjectBase get autoContentAccessingProxy { @@ -231,22 +231,22 @@ class NSObject extends objc.ObjCObjectBase { } void URL_resourceDataDidBecomeAvailable_(NSURL sender, NSData newBytes) { - _objc_msgSend_285(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, + _objc_msgSend_296(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, sender.pointer, newBytes.pointer); } void URLResourceDidFinishLoading_(NSURL sender) { - _objc_msgSend_286( + _objc_msgSend_297( this.pointer, _sel_URLResourceDidFinishLoading_, sender.pointer); } void URLResourceDidCancelLoading_(NSURL sender) { - _objc_msgSend_286( + _objc_msgSend_297( this.pointer, _sel_URLResourceDidCancelLoading_, sender.pointer); } void URL_resourceDidFailLoadingWithReason_(NSURL sender, NSString reason) { - _objc_msgSend_287(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, + _objc_msgSend_298(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, sender.pointer, reason.pointer); } } @@ -424,10 +424,10 @@ final _objc_msgSend_9 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -class NSMethodSignature extends objc.ObjCObjectBase { +class NSMethodSignature extends NSObject { NSMethodSignature._(ffi.Pointer pointer, {bool retain = false, bool release = false}) - : super(pointer, retain: retain, release: release); + : super.castFromPointer(pointer, retain: retain, release: release); /// Constructs a [NSMethodSignature] that points to the same underlying object as [other]. NSMethodSignature.castFrom(objc.ObjCObjectBase other) @@ -443,12 +443,119 @@ class NSMethodSignature extends objc.ObjCObjectBase { return _objc_msgSend_0( obj.pointer, _sel_isKindOfClass_, _class_NSMethodSignature); } + + static NSMethodSignature? signatureWithObjCTypes_( + ffi.Pointer types) { + final _ret = _objc_msgSend_10( + _class_NSMethodSignature, _sel_signatureWithObjCTypes_, types); + return _ret.address == 0 + ? null + : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); + } + + int get numberOfArguments { + return _objc_msgSend_11(this.pointer, _sel_numberOfArguments); + } + + ffi.Pointer getArgumentTypeAtIndex_(int idx) { + return _objc_msgSend_12(this.pointer, _sel_getArgumentTypeAtIndex_, idx); + } + + int get frameLength { + return _objc_msgSend_11(this.pointer, _sel_frameLength); + } + + bool isOneway() { + return _objc_msgSend_13(this.pointer, _sel_isOneway); + } + + ffi.Pointer get methodReturnType { + return _objc_msgSend_14(this.pointer, _sel_methodReturnType); + } + + int get methodReturnLength { + return _objc_msgSend_11(this.pointer, _sel_methodReturnLength); + } + + @override + NSMethodSignature init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); + } + + static NSMethodSignature new1() { + final _ret = _objc_msgSend_2(_class_NSMethodSignature, _sel_new); + return NSMethodSignature.castFromPointer(_ret, + retain: false, release: true); + } + + static NSMethodSignature allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_NSMethodSignature, _sel_allocWithZone_, zone); + return NSMethodSignature.castFromPointer(_ret, + retain: false, release: true); + } + + static NSMethodSignature alloc() { + final _ret = _objc_msgSend_2(_class_NSMethodSignature, _sel_alloc); + return NSMethodSignature.castFromPointer(_ret, + retain: false, release: true); + } } late final _class_NSMethodSignature = objc.getClass("NSMethodSignature"); +late final _sel_signatureWithObjCTypes_ = + objc.registerName("signatureWithObjCTypes:"); +final _objc_msgSend_10 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_numberOfArguments = objc.registerName("numberOfArguments"); +final _objc_msgSend_11 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.UnsignedLong Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + int Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_getArgumentTypeAtIndex_ = + objc.registerName("getArgumentTypeAtIndex:"); +final _objc_msgSend_12 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_frameLength = objc.registerName("frameLength"); +late final _sel_isOneway = objc.registerName("isOneway"); +final _objc_msgSend_13 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + bool Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_methodReturnType = objc.registerName("methodReturnType"); +final _objc_msgSend_14 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_methodReturnLength = objc.registerName("methodReturnLength"); late final _sel_methodSignatureForSelector_ = objc.registerName("methodSignatureForSelector:"); -final _objc_msgSend_10 = objc.msgSendPointer +final _objc_msgSend_15 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -461,28 +568,12 @@ final _objc_msgSend_10 = objc.msgSendPointer late final _sel_instanceMethodSignatureForSelector_ = objc.registerName("instanceMethodSignatureForSelector:"); late final _sel_allowsWeakReference = objc.registerName("allowsWeakReference"); -final _objc_msgSend_11 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - bool Function( - ffi.Pointer, ffi.Pointer)>(); late final _sel_retainWeakReference = objc.registerName("retainWeakReference"); late final _sel_isSubclassOfClass_ = objc.registerName("isSubclassOfClass:"); late final _sel_resolveClassMethod_ = objc.registerName("resolveClassMethod:"); late final _sel_resolveInstanceMethod_ = objc.registerName("resolveInstanceMethod:"); late final _sel_hash = objc.registerName("hash"); -final _objc_msgSend_12 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, ffi.Pointer)>(); late final _sel_superclass = objc.registerName("superclass"); late final _sel_class = objc.registerName("class"); @@ -520,11 +611,11 @@ class NSString extends NSObject { } int get length { - return _objc_msgSend_12(this.pointer, _sel_length); + return _objc_msgSend_11(this.pointer, _sel_length); } int characterAtIndex_(int index) { - return _objc_msgSend_13(this.pointer, _sel_characterAtIndex_, index); + return _objc_msgSend_16(this.pointer, _sel_characterAtIndex_, index); } @override @@ -535,51 +626,51 @@ class NSString extends NSObject { NSString? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString substringFromIndex_(int from) { - final _ret = _objc_msgSend_15(this.pointer, _sel_substringFromIndex_, from); + final _ret = _objc_msgSend_18(this.pointer, _sel_substringFromIndex_, from); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString substringToIndex_(int to) { - final _ret = _objc_msgSend_15(this.pointer, _sel_substringToIndex_, to); + final _ret = _objc_msgSend_18(this.pointer, _sel_substringToIndex_, to); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString substringWithRange_(_NSRange range) { final _ret = - _objc_msgSend_16(this.pointer, _sel_substringWithRange_, range); + _objc_msgSend_19(this.pointer, _sel_substringWithRange_, range); return NSString.castFromPointer(_ret, retain: true, release: true); } void getCharacters_range_( ffi.Pointer buffer, _NSRange range) { - _objc_msgSend_17(this.pointer, _sel_getCharacters_range_, buffer, range); + _objc_msgSend_20(this.pointer, _sel_getCharacters_range_, buffer, range); } int compare_(NSString string) { - return _objc_msgSend_18(this.pointer, _sel_compare_, string.pointer); + return _objc_msgSend_21(this.pointer, _sel_compare_, string.pointer); } int compare_options_(NSString string, int mask) { - return _objc_msgSend_19( + return _objc_msgSend_22( this.pointer, _sel_compare_options_, string.pointer, mask); } int compare_options_range_( NSString string, int mask, _NSRange rangeOfReceiverToCompare) { - return _objc_msgSend_20(this.pointer, _sel_compare_options_range_, + return _objc_msgSend_23(this.pointer, _sel_compare_options_range_, string.pointer, mask, rangeOfReceiverToCompare); } int compare_options_range_locale_(NSString string, int mask, _NSRange rangeOfReceiverToCompare, objc.ObjCObjectBase? locale) { - return _objc_msgSend_21( + return _objc_msgSend_24( this.pointer, _sel_compare_options_range_locale_, string.pointer, @@ -589,95 +680,95 @@ class NSString extends NSObject { } int caseInsensitiveCompare_(NSString string) { - return _objc_msgSend_18( + return _objc_msgSend_21( this.pointer, _sel_caseInsensitiveCompare_, string.pointer); } int localizedCompare_(NSString string) { - return _objc_msgSend_18( + return _objc_msgSend_21( this.pointer, _sel_localizedCompare_, string.pointer); } int localizedCaseInsensitiveCompare_(NSString string) { - return _objc_msgSend_18( + return _objc_msgSend_21( this.pointer, _sel_localizedCaseInsensitiveCompare_, string.pointer); } int localizedStandardCompare_(NSString string) { - return _objc_msgSend_18( + return _objc_msgSend_21( this.pointer, _sel_localizedStandardCompare_, string.pointer); } bool isEqualToString_(NSString aString) { - return _objc_msgSend_22( + return _objc_msgSend_25( this.pointer, _sel_isEqualToString_, aString.pointer); } bool hasPrefix_(NSString str) { - return _objc_msgSend_22(this.pointer, _sel_hasPrefix_, str.pointer); + return _objc_msgSend_25(this.pointer, _sel_hasPrefix_, str.pointer); } bool hasSuffix_(NSString str) { - return _objc_msgSend_22(this.pointer, _sel_hasSuffix_, str.pointer); + return _objc_msgSend_25(this.pointer, _sel_hasSuffix_, str.pointer); } NSString commonPrefixWithString_options_(NSString str, int mask) { - final _ret = _objc_msgSend_23( + final _ret = _objc_msgSend_26( this.pointer, _sel_commonPrefixWithString_options_, str.pointer, mask); return NSString.castFromPointer(_ret, retain: true, release: true); } bool containsString_(NSString str) { - return _objc_msgSend_22(this.pointer, _sel_containsString_, str.pointer); + return _objc_msgSend_25(this.pointer, _sel_containsString_, str.pointer); } bool localizedCaseInsensitiveContainsString_(NSString str) { - return _objc_msgSend_22(this.pointer, + return _objc_msgSend_25(this.pointer, _sel_localizedCaseInsensitiveContainsString_, str.pointer); } bool localizedStandardContainsString_(NSString str) { - return _objc_msgSend_22( + return _objc_msgSend_25( this.pointer, _sel_localizedStandardContainsString_, str.pointer); } void localizedStandardRangeOfString_( ffi.Pointer<_NSRange> stret, NSString str) { objc.useMsgSendVariants - ? _objc_msgSend_24Stret(stret, this.pointer, + ? _objc_msgSend_27Stret(stret, this.pointer, _sel_localizedStandardRangeOfString_, str.pointer) - : stret.ref = _objc_msgSend_24( + : stret.ref = _objc_msgSend_27( this.pointer, _sel_localizedStandardRangeOfString_, str.pointer); } void rangeOfString_(ffi.Pointer<_NSRange> stret, NSString searchString) { objc.useMsgSendVariants - ? _objc_msgSend_24Stret( + ? _objc_msgSend_27Stret( stret, this.pointer, _sel_rangeOfString_, searchString.pointer) - : stret.ref = _objc_msgSend_24( + : stret.ref = _objc_msgSend_27( this.pointer, _sel_rangeOfString_, searchString.pointer); } void rangeOfString_options_( ffi.Pointer<_NSRange> stret, NSString searchString, int mask) { objc.useMsgSendVariants - ? _objc_msgSend_25Stret(stret, this.pointer, + ? _objc_msgSend_28Stret(stret, this.pointer, _sel_rangeOfString_options_, searchString.pointer, mask) - : stret.ref = _objc_msgSend_25(this.pointer, + : stret.ref = _objc_msgSend_28(this.pointer, _sel_rangeOfString_options_, searchString.pointer, mask); } void rangeOfString_options_range_(ffi.Pointer<_NSRange> stret, NSString searchString, int mask, _NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants - ? _objc_msgSend_26Stret( + ? _objc_msgSend_29Stret( stret, this.pointer, _sel_rangeOfString_options_range_, searchString.pointer, mask, rangeOfReceiverToSearch) - : stret.ref = _objc_msgSend_26( + : stret.ref = _objc_msgSend_29( this.pointer, _sel_rangeOfString_options_range_, searchString.pointer, @@ -692,7 +783,7 @@ class NSString extends NSObject { _NSRange rangeOfReceiverToSearch, NSLocale? locale) { objc.useMsgSendVariants - ? _objc_msgSend_27Stret( + ? _objc_msgSend_30Stret( stret, this.pointer, _sel_rangeOfString_options_range_locale_, @@ -700,7 +791,7 @@ class NSString extends NSObject { mask, rangeOfReceiverToSearch, locale?.pointer ?? ffi.nullptr) - : stret.ref = _objc_msgSend_27( + : stret.ref = _objc_msgSend_30( this.pointer, _sel_rangeOfString_options_range_locale_, searchString.pointer, @@ -712,32 +803,32 @@ class NSString extends NSObject { void rangeOfCharacterFromSet_( ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet) { objc.useMsgSendVariants - ? _objc_msgSend_229Stret(stret, this.pointer, + ? _objc_msgSend_241Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer) - : stret.ref = _objc_msgSend_229( + : stret.ref = _objc_msgSend_241( this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer); } void rangeOfCharacterFromSet_options_( ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet, int mask) { objc.useMsgSendVariants - ? _objc_msgSend_230Stret(stret, this.pointer, + ? _objc_msgSend_242Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask) - : stret.ref = _objc_msgSend_230(this.pointer, + : stret.ref = _objc_msgSend_242(this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask); } void rangeOfCharacterFromSet_options_range_(ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet, int mask, _NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants - ? _objc_msgSend_231Stret( + ? _objc_msgSend_243Stret( stret, this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, mask, rangeOfReceiverToSearch) - : stret.ref = _objc_msgSend_231( + : stret.ref = _objc_msgSend_243( this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, @@ -748,106 +839,106 @@ class NSString extends NSObject { void rangeOfComposedCharacterSequenceAtIndex_( ffi.Pointer<_NSRange> stret, int index) { objc.useMsgSendVariants - ? _objc_msgSend_232Stret(stret, this.pointer, + ? _objc_msgSend_244Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index) - : stret.ref = _objc_msgSend_232( + : stret.ref = _objc_msgSend_244( this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index); } void rangeOfComposedCharacterSequencesForRange_( ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_233Stret(stret, this.pointer, + ? _objc_msgSend_245Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range) - : stret.ref = _objc_msgSend_233(this.pointer, + : stret.ref = _objc_msgSend_245(this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range); } NSString stringByAppendingString_(NSString aString) { - final _ret = _objc_msgSend_101( + final _ret = _objc_msgSend_103( this.pointer, _sel_stringByAppendingString_, aString.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString stringByAppendingFormat_(NSString format) { - final _ret = _objc_msgSend_101( + final _ret = _objc_msgSend_103( this.pointer, _sel_stringByAppendingFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } double get doubleValue { return objc.useMsgSendVariants - ? _objc_msgSend_80Fpret(this.pointer, _sel_doubleValue) - : _objc_msgSend_80(this.pointer, _sel_doubleValue); + ? _objc_msgSend_83Fpret(this.pointer, _sel_doubleValue) + : _objc_msgSend_83(this.pointer, _sel_doubleValue); } double get floatValue { return objc.useMsgSendVariants - ? _objc_msgSend_79Fpret(this.pointer, _sel_floatValue) - : _objc_msgSend_79(this.pointer, _sel_floatValue); + ? _objc_msgSend_82Fpret(this.pointer, _sel_floatValue) + : _objc_msgSend_82(this.pointer, _sel_floatValue); } int get intValue { - return _objc_msgSend_74(this.pointer, _sel_intValue); + return _objc_msgSend_77(this.pointer, _sel_intValue); } int get integerValue { - return _objc_msgSend_76(this.pointer, _sel_integerValue); + return _objc_msgSend_79(this.pointer, _sel_integerValue); } int get longLongValue { - return _objc_msgSend_77(this.pointer, _sel_longLongValue); + return _objc_msgSend_80(this.pointer, _sel_longLongValue); } bool get boolValue { - return _objc_msgSend_11(this.pointer, _sel_boolValue); + return _objc_msgSend_13(this.pointer, _sel_boolValue); } NSString get uppercaseString { - final _ret = _objc_msgSend_32(this.pointer, _sel_uppercaseString); + final _ret = _objc_msgSend_35(this.pointer, _sel_uppercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get lowercaseString { - final _ret = _objc_msgSend_32(this.pointer, _sel_lowercaseString); + final _ret = _objc_msgSend_35(this.pointer, _sel_lowercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get capitalizedString { - final _ret = _objc_msgSend_32(this.pointer, _sel_capitalizedString); + final _ret = _objc_msgSend_35(this.pointer, _sel_capitalizedString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get localizedUppercaseString { - final _ret = _objc_msgSend_32(this.pointer, _sel_localizedUppercaseString); + final _ret = _objc_msgSend_35(this.pointer, _sel_localizedUppercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get localizedLowercaseString { - final _ret = _objc_msgSend_32(this.pointer, _sel_localizedLowercaseString); + final _ret = _objc_msgSend_35(this.pointer, _sel_localizedLowercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get localizedCapitalizedString { final _ret = - _objc_msgSend_32(this.pointer, _sel_localizedCapitalizedString); + _objc_msgSend_35(this.pointer, _sel_localizedCapitalizedString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString uppercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_234(this.pointer, + final _ret = _objc_msgSend_246(this.pointer, _sel_uppercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString lowercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_234(this.pointer, + final _ret = _objc_msgSend_246(this.pointer, _sel_lowercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString capitalizedStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_234(this.pointer, + final _ret = _objc_msgSend_246(this.pointer, _sel_capitalizedStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -857,16 +948,16 @@ class NSString extends NSObject { ffi.Pointer lineEndPtr, ffi.Pointer contentsEndPtr, _NSRange range) { - _objc_msgSend_235(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, + _objc_msgSend_247(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, startPtr, lineEndPtr, contentsEndPtr, range); } void lineRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_233Stret( + ? _objc_msgSend_245Stret( stret, this.pointer, _sel_lineRangeForRange_, range) : stret.ref = - _objc_msgSend_233(this.pointer, _sel_lineRangeForRange_, range); + _objc_msgSend_245(this.pointer, _sel_lineRangeForRange_, range); } void getParagraphStart_end_contentsEnd_forRange_( @@ -874,7 +965,7 @@ class NSString extends NSObject { ffi.Pointer parEndPtr, ffi.Pointer contentsEndPtr, _NSRange range) { - _objc_msgSend_235( + _objc_msgSend_247( this.pointer, _sel_getParagraphStart_end_contentsEnd_forRange_, startPtr, @@ -885,15 +976,15 @@ class NSString extends NSObject { void paragraphRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_233Stret( + ? _objc_msgSend_245Stret( stret, this.pointer, _sel_paragraphRangeForRange_, range) - : stret.ref = _objc_msgSend_233( + : stret.ref = _objc_msgSend_245( this.pointer, _sel_paragraphRangeForRange_, range); } void enumerateSubstringsInRange_options_usingBlock_(_NSRange range, int opts, ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) { - _objc_msgSend_236( + _objc_msgSend_248( this.pointer, _sel_enumerateSubstringsInRange_options_usingBlock_, range, @@ -902,24 +993,24 @@ class NSString extends NSObject { } void enumerateLinesUsingBlock_(ObjCBlock_ffiVoid_NSString_bool block) { - _objc_msgSend_237( + _objc_msgSend_249( this.pointer, _sel_enumerateLinesUsingBlock_, block.pointer); } ffi.Pointer get UTF8String { - return _objc_msgSend_84(this.pointer, _sel_UTF8String); + return _objc_msgSend_14(this.pointer, _sel_UTF8String); } int get fastestEncoding { - return _objc_msgSend_12(this.pointer, _sel_fastestEncoding); + return _objc_msgSend_11(this.pointer, _sel_fastestEncoding); } int get smallestEncoding { - return _objc_msgSend_12(this.pointer, _sel_smallestEncoding); + return _objc_msgSend_11(this.pointer, _sel_smallestEncoding); } NSData? dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) { - final _ret = _objc_msgSend_238(this.pointer, + final _ret = _objc_msgSend_250(this.pointer, _sel_dataUsingEncoding_allowLossyConversion_, encoding, lossy); return _ret.address == 0 ? null @@ -928,25 +1019,24 @@ class NSString extends NSObject { NSData? dataUsingEncoding_(int encoding) { final _ret = - _objc_msgSend_239(this.pointer, _sel_dataUsingEncoding_, encoding); + _objc_msgSend_251(this.pointer, _sel_dataUsingEncoding_, encoding); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } bool canBeConvertedToEncoding_(int encoding) { - return _objc_msgSend_121( + return _objc_msgSend_124( this.pointer, _sel_canBeConvertedToEncoding_, encoding); } ffi.Pointer cStringUsingEncoding_(int encoding) { - return _objc_msgSend_240( - this.pointer, _sel_cStringUsingEncoding_, encoding); + return _objc_msgSend_12(this.pointer, _sel_cStringUsingEncoding_, encoding); } bool getCString_maxLength_encoding_( ffi.Pointer buffer, int maxBufferCount, int encoding) { - return _objc_msgSend_241(this.pointer, _sel_getCString_maxLength_encoding_, + return _objc_msgSend_252(this.pointer, _sel_getCString_maxLength_encoding_, buffer, maxBufferCount, encoding); } @@ -958,7 +1048,7 @@ class NSString extends NSObject { int options, _NSRange range, ffi.Pointer<_NSRange> leftover) { - return _objc_msgSend_242( + return _objc_msgSend_253( this.pointer, _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, buffer, @@ -971,74 +1061,74 @@ class NSString extends NSObject { } int maximumLengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_118( + return _objc_msgSend_121( this.pointer, _sel_maximumLengthOfBytesUsingEncoding_, enc); } int lengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_118( + return _objc_msgSend_121( this.pointer, _sel_lengthOfBytesUsingEncoding_, enc); } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_243(_class_NSString, _sel_availableStringEncodings); + return _objc_msgSend_254(_class_NSString, _sel_availableStringEncodings); } static NSString localizedNameOfStringEncoding_(int encoding) { - final _ret = _objc_msgSend_15( + final _ret = _objc_msgSend_18( _class_NSString, _sel_localizedNameOfStringEncoding_, encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } static int getDefaultCStringEncoding() { - return _objc_msgSend_12(_class_NSString, _sel_defaultCStringEncoding); + return _objc_msgSend_11(_class_NSString, _sel_defaultCStringEncoding); } NSString get decomposedStringWithCanonicalMapping { - final _ret = _objc_msgSend_32( + final _ret = _objc_msgSend_35( this.pointer, _sel_decomposedStringWithCanonicalMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get precomposedStringWithCanonicalMapping { - final _ret = _objc_msgSend_32( + final _ret = _objc_msgSend_35( this.pointer, _sel_precomposedStringWithCanonicalMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get decomposedStringWithCompatibilityMapping { - final _ret = _objc_msgSend_32( + final _ret = _objc_msgSend_35( this.pointer, _sel_decomposedStringWithCompatibilityMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get precomposedStringWithCompatibilityMapping { - final _ret = _objc_msgSend_32( + final _ret = _objc_msgSend_35( this.pointer, _sel_precomposedStringWithCompatibilityMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } NSArray componentsSeparatedByString_(NSString separator) { - final _ret = _objc_msgSend_244( + final _ret = _objc_msgSend_255( this.pointer, _sel_componentsSeparatedByString_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray componentsSeparatedByCharactersInSet_(NSCharacterSet separator) { - final _ret = _objc_msgSend_245(this.pointer, + final _ret = _objc_msgSend_256(this.pointer, _sel_componentsSeparatedByCharactersInSet_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString stringByTrimmingCharactersInSet_(NSCharacterSet set) { - final _ret = _objc_msgSend_246( + final _ret = _objc_msgSend_257( this.pointer, _sel_stringByTrimmingCharactersInSet_, set.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString stringByPaddingToLength_withString_startingAtIndex_( int newLength, NSString padString, int padIndex) { - final _ret = _objc_msgSend_247( + final _ret = _objc_msgSend_258( this.pointer, _sel_stringByPaddingToLength_withString_startingAtIndex_, newLength, @@ -1048,7 +1138,7 @@ class NSString extends NSObject { } NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) { - final _ret = _objc_msgSend_248( + final _ret = _objc_msgSend_259( this.pointer, _sel_stringByFoldingWithOptions_locale_, options, @@ -1061,7 +1151,7 @@ class NSString extends NSObject { NSString replacement, int options, _NSRange searchRange) { - final _ret = _objc_msgSend_249( + final _ret = _objc_msgSend_260( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_options_range_, target.pointer, @@ -1073,7 +1163,7 @@ class NSString extends NSObject { NSString stringByReplacingOccurrencesOfString_withString_( NSString target, NSString replacement) { - final _ret = _objc_msgSend_250( + final _ret = _objc_msgSend_261( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_, target.pointer, @@ -1083,7 +1173,7 @@ class NSString extends NSObject { NSString stringByReplacingCharactersInRange_withString_( _NSRange range, NSString replacement) { - final _ret = _objc_msgSend_251( + final _ret = _objc_msgSend_262( this.pointer, _sel_stringByReplacingCharactersInRange_withString_, range, @@ -1093,7 +1183,7 @@ class NSString extends NSObject { NSString? stringByApplyingTransform_reverse_( NSString transform, bool reverse) { - final _ret = _objc_msgSend_252(this.pointer, + final _ret = _objc_msgSend_263(this.pointer, _sel_stringByApplyingTransform_reverse_, transform.pointer, reverse); return _ret.address == 0 ? null @@ -1102,7 +1192,7 @@ class NSString extends NSObject { bool writeToURL_atomically_encoding_error_(NSURL url, bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_253( + return _objc_msgSend_264( this.pointer, _sel_writeToURL_atomically_encoding_error_, url.pointer, @@ -1116,7 +1206,7 @@ class NSString extends NSObject { bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_254( + return _objc_msgSend_265( this.pointer, _sel_writeToFile_atomically_encoding_error_, path.pointer, @@ -1126,17 +1216,17 @@ class NSString extends NSObject { } NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); + final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } int get hash { - return _objc_msgSend_12(this.pointer, _sel_hash); + return _objc_msgSend_11(this.pointer, _sel_hash); } NSString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_255( + final _ret = _objc_msgSend_266( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -1149,7 +1239,7 @@ class NSString extends NSObject { ffi.Pointer chars, int len, ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_256( + final _ret = _objc_msgSend_267( this.pointer, _sel_initWithCharactersNoCopy_length_deallocator_, chars, @@ -1160,13 +1250,13 @@ class NSString extends NSObject { NSString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_257( + final _ret = _objc_msgSend_268( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString? initWithUTF8String_(ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_258( + final _ret = _objc_msgSend_269( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1175,33 +1265,33 @@ class NSString extends NSObject { NSString initWithString_(NSString aString) { final _ret = - _objc_msgSend_42(this.pointer, _sel_initWithString_, aString.pointer); + _objc_msgSend_45(this.pointer, _sel_initWithString_, aString.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_(NSString format) { final _ret = - _objc_msgSend_42(this.pointer, _sel_initWithFormat_, format.pointer); + _objc_msgSend_45(this.pointer, _sel_initWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_arguments_( NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_259( + final _ret = _objc_msgSend_270( this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_260(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_271(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_locale_arguments_(NSString format, objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_272( this.pointer, _sel_initWithFormat_locale_arguments_, format.pointer, @@ -1214,7 +1304,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1230,7 +1320,7 @@ class NSString extends NSObject { NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_263( + final _ret = _objc_msgSend_274( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -1247,7 +1337,7 @@ class NSString extends NSObject { NSString validFormatSpecifiers, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_264( + final _ret = _objc_msgSend_275( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, format.pointer, @@ -1266,7 +1356,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_265( + final _ret = _objc_msgSend_276( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, format.pointer, @@ -1280,7 +1370,7 @@ class NSString extends NSObject { } NSString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_277( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null @@ -1289,7 +1379,7 @@ class NSString extends NSObject { NSString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_267(this.pointer, + final _ret = _objc_msgSend_278(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null @@ -1298,7 +1388,7 @@ class NSString extends NSObject { NSString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_268( + final _ret = _objc_msgSend_279( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -1315,7 +1405,7 @@ class NSString extends NSObject { int len, int encoding, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_280( this.pointer, _sel_initWithBytesNoCopy_length_encoding_deallocator_, bytes, @@ -1333,21 +1423,21 @@ class NSString extends NSObject { } static NSString stringWithString_(NSString string) { - final _ret = _objc_msgSend_42( + final _ret = _objc_msgSend_45( _class_NSString, _sel_stringWithString_, string.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_257( + final _ret = _objc_msgSend_268( _class_NSString, _sel_stringWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_258( + final _ret = _objc_msgSend_269( _class_NSString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1355,13 +1445,13 @@ class NSString extends NSObject { } static NSString stringWithFormat_(NSString format) { - final _ret = _objc_msgSend_42( + final _ret = _objc_msgSend_45( _class_NSString, _sel_stringWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString localizedStringWithFormat_(NSString format) { - final _ret = _objc_msgSend_42( + final _ret = _objc_msgSend_45( _class_NSString, _sel_localizedStringWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -1370,7 +1460,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( _class_NSString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1386,7 +1476,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( _class_NSString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1399,7 +1489,7 @@ class NSString extends NSObject { NSString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_270(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_281(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -1408,7 +1498,7 @@ class NSString extends NSObject { static NSString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_281( _class_NSString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null @@ -1417,7 +1507,7 @@ class NSString extends NSObject { NSString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_271(this.pointer, + final _ret = _objc_msgSend_282(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1426,7 +1516,7 @@ class NSString extends NSObject { NSString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_272(this.pointer, + final _ret = _objc_msgSend_283(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -1435,7 +1525,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_271(_class_NSString, + final _ret = _objc_msgSend_282(_class_NSString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1444,7 +1534,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_283( _class_NSString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -1459,7 +1549,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_284( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1474,7 +1564,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_285( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1489,7 +1579,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_284( _class_NSString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1504,7 +1594,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_285( _class_NSString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1521,7 +1611,7 @@ class NSString extends NSObject { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_275( + return _objc_msgSend_286( _class_NSString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -1537,36 +1627,36 @@ class NSString extends NSObject { NSDictionary? propertyListFromStringsFileFormat() { final _ret = - _objc_msgSend_276(this.pointer, _sel_propertyListFromStringsFileFormat); + _objc_msgSend_287(this.pointer, _sel_propertyListFromStringsFileFormat); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); } ffi.Pointer cString() { - return _objc_msgSend_84(this.pointer, _sel_cString); + return _objc_msgSend_14(this.pointer, _sel_cString); } ffi.Pointer lossyCString() { - return _objc_msgSend_84(this.pointer, _sel_lossyCString); + return _objc_msgSend_14(this.pointer, _sel_lossyCString); } int cStringLength() { - return _objc_msgSend_12(this.pointer, _sel_cStringLength); + return _objc_msgSend_11(this.pointer, _sel_cStringLength); } void getCString_(ffi.Pointer bytes) { - _objc_msgSend_277(this.pointer, _sel_getCString_, bytes); + _objc_msgSend_288(this.pointer, _sel_getCString_, bytes); } void getCString_maxLength_(ffi.Pointer bytes, int maxLength) { - _objc_msgSend_278( + _objc_msgSend_289( this.pointer, _sel_getCString_maxLength_, bytes, maxLength); } void getCString_maxLength_range_remainingRange_(ffi.Pointer bytes, int maxLength, _NSRange aRange, ffi.Pointer<_NSRange> leftoverRange) { - _objc_msgSend_279( + _objc_msgSend_290( this.pointer, _sel_getCString_maxLength_range_remainingRange_, bytes, @@ -1576,17 +1666,17 @@ class NSString extends NSObject { } bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { - return _objc_msgSend_37(this.pointer, _sel_writeToFile_atomically_, + return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_158( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } objc.ObjCObjectBase? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -1594,7 +1684,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1602,7 +1692,7 @@ class NSString extends NSObject { } static objc.ObjCObjectBase? stringWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( _class_NSString, _sel_stringWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -1610,7 +1700,7 @@ class NSString extends NSObject { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( _class_NSString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1619,7 +1709,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCStringNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool freeBuffer) { - final _ret = _objc_msgSend_280( + final _ret = _objc_msgSend_291( this.pointer, _sel_initWithCStringNoCopy_length_freeWhenDone_, bytes, @@ -1632,7 +1722,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_281( this.pointer, _sel_initWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1640,7 +1730,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_258(this.pointer, _sel_initWithCString_, bytes); + final _ret = _objc_msgSend_269(this.pointer, _sel_initWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -1648,7 +1738,7 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_281( _class_NSString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1657,19 +1747,19 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { final _ret = - _objc_msgSend_258(_class_NSString, _sel_stringWithCString_, bytes); + _objc_msgSend_269(_class_NSString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } void getCharacters_(ffi.Pointer buffer) { - _objc_msgSend_281(this.pointer, _sel_getCharacters_, buffer); + _objc_msgSend_292(this.pointer, _sel_getCharacters_, buffer); } NSString? stringByAddingPercentEncodingWithAllowedCharacters_( NSCharacterSet allowedCharacters) { - final _ret = _objc_msgSend_282( + final _ret = _objc_msgSend_293( this.pointer, _sel_stringByAddingPercentEncodingWithAllowedCharacters_, allowedCharacters.pointer); @@ -1680,14 +1770,14 @@ class NSString extends NSObject { NSString? get stringByRemovingPercentEncoding { final _ret = - _objc_msgSend_55(this.pointer, _sel_stringByRemovingPercentEncoding); + _objc_msgSend_58(this.pointer, _sel_stringByRemovingPercentEncoding); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? stringByAddingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_283( + final _ret = _objc_msgSend_294( this.pointer, _sel_stringByAddingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -1695,7 +1785,7 @@ class NSString extends NSObject { } NSString? stringByReplacingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_283( + final _ret = _objc_msgSend_294( this.pointer, _sel_stringByReplacingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -1721,7 +1811,7 @@ class NSString extends NSObject { late final _class_NSString = objc.getClass("NSString"); late final _sel_length = objc.registerName("length"); late final _sel_characterAtIndex_ = objc.registerName("characterAtIndex:"); -final _objc_msgSend_13 = objc.msgSendPointer +final _objc_msgSend_16 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedShort Function(ffi.Pointer, @@ -1752,7 +1842,7 @@ class NSCoder extends objc.ObjCObjectBase { late final _class_NSCoder = objc.getClass("NSCoder"); late final _sel_initWithCoder_ = objc.registerName("initWithCoder:"); -final _objc_msgSend_14 = objc.msgSendPointer +final _objc_msgSend_17 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -1763,7 +1853,7 @@ final _objc_msgSend_14 = objc.msgSendPointer instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_substringFromIndex_ = objc.registerName("substringFromIndex:"); -final _objc_msgSend_15 = objc.msgSendPointer +final _objc_msgSend_18 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -1782,7 +1872,7 @@ final class _NSRange extends ffi.Struct { } late final _sel_substringWithRange_ = objc.registerName("substringWithRange:"); -final _objc_msgSend_16 = objc.msgSendPointer +final _objc_msgSend_19 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -1792,7 +1882,7 @@ final _objc_msgSend_16 = objc.msgSendPointer ffi.Pointer, _NSRange)>(); late final _sel_getCharacters_range_ = objc.registerName("getCharacters:range:"); -final _objc_msgSend_17 = objc.msgSendPointer +final _objc_msgSend_20 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -1814,7 +1904,7 @@ abstract class NSComparisonResult { } late final _sel_compare_ = objc.registerName("compare:"); -final _objc_msgSend_18 = objc.msgSendPointer +final _objc_msgSend_21 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -1838,7 +1928,7 @@ abstract class NSStringCompareOptions { } late final _sel_compare_options_ = objc.registerName("compare:options:"); -final _objc_msgSend_19 = objc.msgSendPointer +final _objc_msgSend_22 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -1854,7 +1944,7 @@ final _objc_msgSend_19 = objc.msgSendPointer int)>(); late final _sel_compare_options_range_ = objc.registerName("compare:options:range:"); -final _objc_msgSend_20 = objc.msgSendPointer +final _objc_msgSend_23 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -1872,7 +1962,7 @@ final _objc_msgSend_20 = objc.msgSendPointer _NSRange)>(); late final _sel_compare_options_range_locale_ = objc.registerName("compare:options:range:locale:"); -final _objc_msgSend_21 = objc.msgSendPointer +final _objc_msgSend_24 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -1898,7 +1988,7 @@ late final _sel_localizedCaseInsensitiveCompare_ = late final _sel_localizedStandardCompare_ = objc.registerName("localizedStandardCompare:"); late final _sel_isEqualToString_ = objc.registerName("isEqualToString:"); -final _objc_msgSend_22 = objc.msgSendPointer +final _objc_msgSend_25 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -1912,7 +2002,7 @@ late final _sel_hasPrefix_ = objc.registerName("hasPrefix:"); late final _sel_hasSuffix_ = objc.registerName("hasSuffix:"); late final _sel_commonPrefixWithString_options_ = objc.registerName("commonPrefixWithString:options:"); -final _objc_msgSend_23 = objc.msgSendPointer +final _objc_msgSend_26 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -1933,7 +2023,7 @@ late final _sel_localizedStandardContainsString_ = objc.registerName("localizedStandardContainsString:"); late final _sel_localizedStandardRangeOfString_ = objc.registerName("localizedStandardRangeOfString:"); -final _objc_msgSend_24 = objc.msgSendPointer +final _objc_msgSend_27 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -1943,7 +2033,7 @@ final _objc_msgSend_24 = objc.msgSendPointer .asFunction< _NSRange Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_24Stret = objc.msgSendStretPointer +final _objc_msgSend_27Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -1957,7 +2047,7 @@ final _objc_msgSend_24Stret = objc.msgSendStretPointer late final _sel_rangeOfString_ = objc.registerName("rangeOfString:"); late final _sel_rangeOfString_options_ = objc.registerName("rangeOfString:options:"); -final _objc_msgSend_25 = objc.msgSendPointer +final _objc_msgSend_28 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -1971,7 +2061,7 @@ final _objc_msgSend_25 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int)>(); -final _objc_msgSend_25Stret = objc.msgSendStretPointer +final _objc_msgSend_28Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -1989,7 +2079,7 @@ final _objc_msgSend_25Stret = objc.msgSendStretPointer int)>(); late final _sel_rangeOfString_options_range_ = objc.registerName("rangeOfString:options:range:"); -final _objc_msgSend_26 = objc.msgSendPointer +final _objc_msgSend_29 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -2005,7 +2095,7 @@ final _objc_msgSend_26 = objc.msgSendPointer ffi.Pointer, int, _NSRange)>(); -final _objc_msgSend_26Stret = objc.msgSendStretPointer +final _objc_msgSend_29Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -2047,7 +2137,7 @@ class NSLocale extends objc.ObjCObjectBase { late final _class_NSLocale = objc.getClass("NSLocale"); late final _sel_rangeOfString_options_range_locale_ = objc.registerName("rangeOfString:options:range:locale:"); -final _objc_msgSend_27 = objc.msgSendPointer +final _objc_msgSend_30 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -2065,7 +2155,7 @@ final _objc_msgSend_27 = objc.msgSendPointer int, _NSRange, ffi.Pointer)>(); -final _objc_msgSend_27Stret = objc.msgSendStretPointer +final _objc_msgSend_30Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -2108,114 +2198,114 @@ class NSCharacterSet extends NSObject { static NSCharacterSet getControlCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_controlCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_controlCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getWhitespaceCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_whitespaceCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_whitespaceCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getWhitespaceAndNewlineCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_whitespaceAndNewlineCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getDecimalDigitCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_decimalDigitCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_decimalDigitCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getLetterCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_letterCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_letterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getLowercaseLetterCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_lowercaseLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getUppercaseLetterCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_uppercaseLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getNonBaseCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_nonBaseCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_nonBaseCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getAlphanumericCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_alphanumericCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_alphanumericCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getDecomposableCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_decomposableCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_decomposableCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getIllegalCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_illegalCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_illegalCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getPunctuationCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_punctuationCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_punctuationCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getCapitalizedLetterCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_capitalizedLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getSymbolCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_symbolCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_symbolCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getNewlineCharacterSet() { final _ret = - _objc_msgSend_28(_class_NSCharacterSet, _sel_newlineCharacterSet); + _objc_msgSend_31(_class_NSCharacterSet, _sel_newlineCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); } static NSCharacterSet characterSetWithRange_(_NSRange aRange) { - final _ret = _objc_msgSend_29( + final _ret = _objc_msgSend_32( _class_NSCharacterSet, _sel_characterSetWithRange_, aRange); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet characterSetWithCharactersInString_(NSString aString) { - final _ret = _objc_msgSend_30(_class_NSCharacterSet, + final _ret = _objc_msgSend_33(_class_NSCharacterSet, _sel_characterSetWithCharactersInString_, aString.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet characterSetWithBitmapRepresentation_(NSData data) { - final _ret = _objc_msgSend_222(_class_NSCharacterSet, + final _ret = _objc_msgSend_234(_class_NSCharacterSet, _sel_characterSetWithBitmapRepresentation_, data.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet? characterSetWithContentsOfFile_(NSString fName) { - final _ret = _objc_msgSend_223(_class_NSCharacterSet, + final _ret = _objc_msgSend_235(_class_NSCharacterSet, _sel_characterSetWithContentsOfFile_, fName.pointer); return _ret.address == 0 ? null @@ -2224,70 +2314,70 @@ class NSCharacterSet extends NSObject { NSCharacterSet initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_224(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_236(this.pointer, _sel_initWithCoder_, coder.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } bool characterIsMember_(int aCharacter) { - return _objc_msgSend_225(this.pointer, _sel_characterIsMember_, aCharacter); + return _objc_msgSend_237(this.pointer, _sel_characterIsMember_, aCharacter); } NSData get bitmapRepresentation { - final _ret = _objc_msgSend_54(this.pointer, _sel_bitmapRepresentation); + final _ret = _objc_msgSend_57(this.pointer, _sel_bitmapRepresentation); return NSData.castFromPointer(_ret, retain: true, release: true); } NSCharacterSet get invertedSet { - final _ret = _objc_msgSend_28(this.pointer, _sel_invertedSet); + final _ret = _objc_msgSend_31(this.pointer, _sel_invertedSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } bool longCharacterIsMember_(int theLongChar) { - return _objc_msgSend_226( + return _objc_msgSend_238( this.pointer, _sel_longCharacterIsMember_, theLongChar); } bool isSupersetOfSet_(NSCharacterSet theOtherSet) { - return _objc_msgSend_227( + return _objc_msgSend_239( this.pointer, _sel_isSupersetOfSet_, theOtherSet.pointer); } bool hasMemberInPlane_(int thePlane) { - return _objc_msgSend_228(this.pointer, _sel_hasMemberInPlane_, thePlane); + return _objc_msgSend_240(this.pointer, _sel_hasMemberInPlane_, thePlane); } static NSCharacterSet getURLUserAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLUserAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getURLPasswordAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLPasswordAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getURLHostAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLHostAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getURLPathAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLPathAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getURLQueryAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLQueryAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet getURLFragmentAllowedCharacterSet() { - final _ret = _objc_msgSend_28( + final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLFragmentAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } @@ -2317,7 +2407,7 @@ class NSCharacterSet extends NSObject { late final _class_NSCharacterSet = objc.getClass("NSCharacterSet"); late final _sel_controlCharacterSet = objc.registerName("controlCharacterSet"); -final _objc_msgSend_28 = objc.msgSendPointer +final _objc_msgSend_31 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -2350,7 +2440,7 @@ late final _sel_symbolCharacterSet = objc.registerName("symbolCharacterSet"); late final _sel_newlineCharacterSet = objc.registerName("newlineCharacterSet"); late final _sel_characterSetWithRange_ = objc.registerName("characterSetWithRange:"); -final _objc_msgSend_29 = objc.msgSendPointer +final _objc_msgSend_32 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -2360,7 +2450,7 @@ final _objc_msgSend_29 = objc.msgSendPointer ffi.Pointer, _NSRange)>(); late final _sel_characterSetWithCharactersInString_ = objc.registerName("characterSetWithCharactersInString:"); -final _objc_msgSend_30 = objc.msgSendPointer +final _objc_msgSend_33 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -2391,68 +2481,68 @@ class NSData extends NSObject { } int get length { - return _objc_msgSend_12(this.pointer, _sel_length); + return _objc_msgSend_11(this.pointer, _sel_length); } ffi.Pointer get bytes { - return _objc_msgSend_31(this.pointer, _sel_bytes); + return _objc_msgSend_34(this.pointer, _sel_bytes); } NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); + final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } void getBytes_length_(ffi.Pointer buffer, int length) { - _objc_msgSend_33(this.pointer, _sel_getBytes_length_, buffer, length); + _objc_msgSend_36(this.pointer, _sel_getBytes_length_, buffer, length); } void getBytes_range_(ffi.Pointer buffer, _NSRange range) { - _objc_msgSend_34(this.pointer, _sel_getBytes_range_, buffer, range); + _objc_msgSend_37(this.pointer, _sel_getBytes_range_, buffer, range); } bool isEqualToData_(NSData other) { - return _objc_msgSend_35(this.pointer, _sel_isEqualToData_, other.pointer); + return _objc_msgSend_38(this.pointer, _sel_isEqualToData_, other.pointer); } NSData subdataWithRange_(_NSRange range) { - final _ret = _objc_msgSend_36(this.pointer, _sel_subdataWithRange_, range); + final _ret = _objc_msgSend_39(this.pointer, _sel_subdataWithRange_, range); return NSData.castFromPointer(_ret, retain: true, release: true); } bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { - return _objc_msgSend_37(this.pointer, _sel_writeToFile_atomically_, + return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_158( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } bool writeToFile_options_error_(NSString path, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_206(this.pointer, _sel_writeToFile_options_error_, + return _objc_msgSend_218(this.pointer, _sel_writeToFile_options_error_, path.pointer, writeOptionsMask, errorPtr); } bool writeToURL_options_error_(NSURL url, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_207(this.pointer, _sel_writeToURL_options_error_, + return _objc_msgSend_219(this.pointer, _sel_writeToURL_options_error_, url.pointer, writeOptionsMask, errorPtr); } void rangeOfData_options_range_(ffi.Pointer<_NSRange> stret, NSData dataToFind, int mask, _NSRange searchRange) { objc.useMsgSendVariants - ? _objc_msgSend_208Stret( + ? _objc_msgSend_220Stret( stret, this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, mask, searchRange) - : stret.ref = _objc_msgSend_208( + : stret.ref = _objc_msgSend_220( this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, @@ -2462,7 +2552,7 @@ class NSData extends NSObject { void enumerateByteRangesUsingBlock_( ObjCBlock_ffiVoid_ffiVoid_NSRange_bool block) { - _objc_msgSend_209( + _objc_msgSend_221( this.pointer, _sel_enumerateByteRangesUsingBlock_, block.pointer); } @@ -2472,28 +2562,28 @@ class NSData extends NSObject { } static NSData dataWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( + final _ret = _objc_msgSend_222( _class_NSData, _sel_dataWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( + final _ret = _objc_msgSend_222( _class_NSData, _sel_dataWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_211(_class_NSData, + final _ret = _objc_msgSend_223(_class_NSData, _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData? dataWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_212( + final _ret = _objc_msgSend_224( _class_NSData, _sel_dataWithContentsOfFile_options_error_, path.pointer, @@ -2506,7 +2596,7 @@ class NSData extends NSObject { static NSData? dataWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_213( + final _ret = _objc_msgSend_225( _class_NSData, _sel_dataWithContentsOfURL_options_error_, url.pointer, @@ -2518,7 +2608,7 @@ class NSData extends NSObject { } static NSData? dataWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( _class_NSData, _sel_dataWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -2526,7 +2616,7 @@ class NSData extends NSObject { } static NSData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( _class_NSData, _sel_dataWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2534,27 +2624,27 @@ class NSData extends NSObject { } NSData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( + final _ret = _objc_msgSend_222( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData initWithBytesNoCopy_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( + final _ret = _objc_msgSend_222( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } NSData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_211(this.pointer, + final _ret = _objc_msgSend_223(this.pointer, _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } NSData initWithBytesNoCopy_length_deallocator_(ffi.Pointer bytes, int length, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_227( this.pointer, _sel_initWithBytesNoCopy_length_deallocator_, bytes, @@ -2565,7 +2655,7 @@ class NSData extends NSObject { NSData? initWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_212( + final _ret = _objc_msgSend_224( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, @@ -2578,7 +2668,7 @@ class NSData extends NSObject { NSData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_213( + final _ret = _objc_msgSend_225( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, @@ -2590,7 +2680,7 @@ class NSData extends NSObject { } NSData? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -2598,7 +2688,7 @@ class NSData extends NSObject { } NSData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2607,19 +2697,19 @@ class NSData extends NSObject { NSData initWithData_(NSData data) { final _ret = - _objc_msgSend_216(this.pointer, _sel_initWithData_, data.pointer); + _objc_msgSend_228(this.pointer, _sel_initWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithData_(NSData data) { final _ret = - _objc_msgSend_216(_class_NSData, _sel_dataWithData_, data.pointer); + _objc_msgSend_228(_class_NSData, _sel_dataWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedString_options_( NSString base64String, int options) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_229( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, @@ -2630,13 +2720,13 @@ class NSData extends NSObject { } NSString base64EncodedStringWithOptions_(int options) { - final _ret = _objc_msgSend_218( + final _ret = _objc_msgSend_230( this.pointer, _sel_base64EncodedStringWithOptions_, options); return NSString.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedData_options_(NSData base64Data, int options) { - final _ret = _objc_msgSend_219(this.pointer, + final _ret = _objc_msgSend_231(this.pointer, _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); return _ret.address == 0 ? null @@ -2644,14 +2734,14 @@ class NSData extends NSObject { } NSData base64EncodedDataWithOptions_(int options) { - final _ret = _objc_msgSend_220( + final _ret = _objc_msgSend_232( this.pointer, _sel_base64EncodedDataWithOptions_, options); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? decompressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_221(this.pointer, + final _ret = _objc_msgSend_233(this.pointer, _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -2660,7 +2750,7 @@ class NSData extends NSObject { NSData? compressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_221(this.pointer, + final _ret = _objc_msgSend_233(this.pointer, _sel_compressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -2668,11 +2758,11 @@ class NSData extends NSObject { } void getBytes_(ffi.Pointer buffer) { - _objc_msgSend_91(this.pointer, _sel_getBytes_, buffer); + _objc_msgSend_93(this.pointer, _sel_getBytes_, buffer); } static objc.ObjCObjectBase? dataWithContentsOfMappedFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( _class_NSData, _sel_dataWithContentsOfMappedFile_, path.pointer); return _ret.address == 0 ? null @@ -2680,7 +2770,7 @@ class NSData extends NSObject { } objc.ObjCObjectBase? initWithContentsOfMappedFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfMappedFile_, path.pointer); return _ret.address == 0 ? null @@ -2688,7 +2778,7 @@ class NSData extends NSObject { } objc.ObjCObjectBase? initWithBase64Encoding_(NSString base64String) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( this.pointer, _sel_initWithBase64Encoding_, base64String.pointer); return _ret.address == 0 ? null @@ -2696,7 +2786,7 @@ class NSData extends NSObject { } NSString base64Encoding() { - final _ret = _objc_msgSend_32(this.pointer, _sel_base64Encoding); + final _ret = _objc_msgSend_35(this.pointer, _sel_base64Encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -2724,7 +2814,7 @@ class NSData extends NSObject { late final _class_NSData = objc.getClass("NSData"); late final _sel_bytes = objc.registerName("bytes"); -final _objc_msgSend_31 = objc.msgSendPointer +final _objc_msgSend_34 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -2733,7 +2823,7 @@ final _objc_msgSend_31 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_description = objc.registerName("description"); -final _objc_msgSend_32 = objc.msgSendPointer +final _objc_msgSend_35 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -2742,7 +2832,7 @@ final _objc_msgSend_32 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_getBytes_length_ = objc.registerName("getBytes:length:"); -final _objc_msgSend_33 = objc.msgSendPointer +final _objc_msgSend_36 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -2754,7 +2844,7 @@ final _objc_msgSend_33 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, int)>(); late final _sel_getBytes_range_ = objc.registerName("getBytes:range:"); -final _objc_msgSend_34 = objc.msgSendPointer +final _objc_msgSend_37 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -2766,7 +2856,7 @@ final _objc_msgSend_34 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_isEqualToData_ = objc.registerName("isEqualToData:"); -final _objc_msgSend_35 = objc.msgSendPointer +final _objc_msgSend_38 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -2777,7 +2867,7 @@ final _objc_msgSend_35 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_subdataWithRange_ = objc.registerName("subdataWithRange:"); -final _objc_msgSend_36 = objc.msgSendPointer +final _objc_msgSend_39 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -2787,7 +2877,7 @@ final _objc_msgSend_36 = objc.msgSendPointer ffi.Pointer, _NSRange)>(); late final _sel_writeToFile_atomically_ = objc.registerName("writeToFile:atomically:"); -final _objc_msgSend_37 = objc.msgSendPointer +final _objc_msgSend_40 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -2823,7 +2913,7 @@ class NSURL extends NSObject { NSURL? initWithScheme_host_path_( NSString scheme, NSString? host, NSString path) { - final _ret = _objc_msgSend_38(this.pointer, _sel_initWithScheme_host_path_, + final _ret = _objc_msgSend_41(this.pointer, _sel_initWithScheme_host_path_, scheme.pointer, host?.pointer ?? ffi.nullptr, path.pointer); return _ret.address == 0 ? null @@ -2832,7 +2922,7 @@ class NSURL extends NSObject { NSURL initFileURLWithPath_isDirectory_relativeToURL_( NSString path, bool isDir, NSURL? baseURL) { - final _ret = _objc_msgSend_39( + final _ret = _objc_msgSend_42( this.pointer, _sel_initFileURLWithPath_isDirectory_relativeToURL_, path.pointer, @@ -2842,7 +2932,7 @@ class NSURL extends NSObject { } NSURL initFileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { - final _ret = _objc_msgSend_40( + final _ret = _objc_msgSend_43( this.pointer, _sel_initFileURLWithPath_relativeToURL_, path.pointer, @@ -2851,20 +2941,20 @@ class NSURL extends NSObject { } NSURL initFileURLWithPath_isDirectory_(NSString path, bool isDir) { - final _ret = _objc_msgSend_41(this.pointer, + final _ret = _objc_msgSend_44(this.pointer, _sel_initFileURLWithPath_isDirectory_, path.pointer, isDir); return NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL initFileURLWithPath_(NSString path) { final _ret = - _objc_msgSend_42(this.pointer, _sel_initFileURLWithPath_, path.pointer); + _objc_msgSend_45(this.pointer, _sel_initFileURLWithPath_, path.pointer); return NSURL.castFromPointer(_ret, retain: true, release: true); } static NSURL fileURLWithPath_isDirectory_relativeToURL_( NSString path, bool isDir, NSURL? baseURL) { - final _ret = _objc_msgSend_43( + final _ret = _objc_msgSend_46( _class_NSURL, _sel_fileURLWithPath_isDirectory_relativeToURL_, path.pointer, @@ -2874,7 +2964,7 @@ class NSURL extends NSObject { } static NSURL fileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { - final _ret = _objc_msgSend_44( + final _ret = _objc_msgSend_47( _class_NSURL, _sel_fileURLWithPath_relativeToURL_, path.pointer, @@ -2883,20 +2973,20 @@ class NSURL extends NSObject { } static NSURL fileURLWithPath_isDirectory_(NSString path, bool isDir) { - final _ret = _objc_msgSend_45( + final _ret = _objc_msgSend_48( _class_NSURL, _sel_fileURLWithPath_isDirectory_, path.pointer, isDir); return NSURL.castFromPointer(_ret, retain: true, release: true); } static NSURL fileURLWithPath_(NSString path) { final _ret = - _objc_msgSend_46(_class_NSURL, _sel_fileURLWithPath_, path.pointer); + _objc_msgSend_49(_class_NSURL, _sel_fileURLWithPath_, path.pointer); return NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( ffi.Pointer path, bool isDir, NSURL? baseURL) { - final _ret = _objc_msgSend_47( + final _ret = _objc_msgSend_50( this.pointer, _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_, path, @@ -2907,7 +2997,7 @@ class NSURL extends NSObject { static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( ffi.Pointer path, bool isDir, NSURL? baseURL) { - final _ret = _objc_msgSend_48( + final _ret = _objc_msgSend_51( _class_NSURL, _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_, path, @@ -2918,14 +3008,14 @@ class NSURL extends NSObject { NSURL? initWithString_(NSString URLString) { final _ret = - _objc_msgSend_49(this.pointer, _sel_initWithString_, URLString.pointer); + _objc_msgSend_52(this.pointer, _sel_initWithString_, URLString.pointer); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL? initWithString_relativeToURL_(NSString URLString, NSURL? baseURL) { - final _ret = _objc_msgSend_50( + final _ret = _objc_msgSend_53( this.pointer, _sel_initWithString_relativeToURL_, URLString.pointer, @@ -2937,7 +3027,7 @@ class NSURL extends NSObject { static NSURL? URLWithString_(NSString URLString) { final _ret = - _objc_msgSend_49(_class_NSURL, _sel_URLWithString_, URLString.pointer); + _objc_msgSend_52(_class_NSURL, _sel_URLWithString_, URLString.pointer); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); @@ -2945,7 +3035,7 @@ class NSURL extends NSObject { static NSURL? URLWithString_relativeToURL_( NSString URLString, NSURL? baseURL) { - final _ret = _objc_msgSend_50( + final _ret = _objc_msgSend_53( _class_NSURL, _sel_URLWithString_relativeToURL_, URLString.pointer, @@ -2957,7 +3047,7 @@ class NSURL extends NSObject { NSURL? initWithString_encodingInvalidCharacters_( NSString URLString, bool encodingInvalidCharacters) { - final _ret = _objc_msgSend_51( + final _ret = _objc_msgSend_54( this.pointer, _sel_initWithString_encodingInvalidCharacters_, URLString.pointer, @@ -2969,7 +3059,7 @@ class NSURL extends NSObject { static NSURL? URLWithString_encodingInvalidCharacters_( NSString URLString, bool encodingInvalidCharacters) { - final _ret = _objc_msgSend_51( + final _ret = _objc_msgSend_54( _class_NSURL, _sel_URLWithString_encodingInvalidCharacters_, URLString.pointer, @@ -2980,7 +3070,7 @@ class NSURL extends NSObject { } NSURL initWithDataRepresentation_relativeToURL_(NSData data, NSURL? baseURL) { - final _ret = _objc_msgSend_52( + final _ret = _objc_msgSend_55( this.pointer, _sel_initWithDataRepresentation_relativeToURL_, data.pointer, @@ -2990,7 +3080,7 @@ class NSURL extends NSObject { static NSURL URLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { - final _ret = _objc_msgSend_53( + final _ret = _objc_msgSend_56( _class_NSURL, _sel_URLWithDataRepresentation_relativeToURL_, data.pointer, @@ -3000,7 +3090,7 @@ class NSURL extends NSObject { NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { - final _ret = _objc_msgSend_52( + final _ret = _objc_msgSend_55( this.pointer, _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_, data.pointer, @@ -3010,7 +3100,7 @@ class NSURL extends NSObject { static NSURL absoluteURLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { - final _ret = _objc_msgSend_53( + final _ret = _objc_msgSend_56( _class_NSURL, _sel_absoluteURLWithDataRepresentation_relativeToURL_, data.pointer, @@ -3019,151 +3109,151 @@ class NSURL extends NSObject { } NSData get dataRepresentation { - final _ret = _objc_msgSend_54(this.pointer, _sel_dataRepresentation); + final _ret = _objc_msgSend_57(this.pointer, _sel_dataRepresentation); return NSData.castFromPointer(_ret, retain: true, release: true); } NSString? get absoluteString { - final _ret = _objc_msgSend_55(this.pointer, _sel_absoluteString); + final _ret = _objc_msgSend_58(this.pointer, _sel_absoluteString); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString get relativeString { - final _ret = _objc_msgSend_32(this.pointer, _sel_relativeString); + final _ret = _objc_msgSend_35(this.pointer, _sel_relativeString); return NSString.castFromPointer(_ret, retain: true, release: true); } NSURL? get baseURL { - final _ret = _objc_msgSend_56(this.pointer, _sel_baseURL); + final _ret = _objc_msgSend_59(this.pointer, _sel_baseURL); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL? get absoluteURL { - final _ret = _objc_msgSend_56(this.pointer, _sel_absoluteURL); + final _ret = _objc_msgSend_59(this.pointer, _sel_absoluteURL); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSString? get scheme { - final _ret = _objc_msgSend_55(this.pointer, _sel_scheme); + final _ret = _objc_msgSend_58(this.pointer, _sel_scheme); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get resourceSpecifier { - final _ret = _objc_msgSend_55(this.pointer, _sel_resourceSpecifier); + final _ret = _objc_msgSend_58(this.pointer, _sel_resourceSpecifier); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get host { - final _ret = _objc_msgSend_55(this.pointer, _sel_host); + final _ret = _objc_msgSend_58(this.pointer, _sel_host); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSNumber? get port { - final _ret = _objc_msgSend_94(this.pointer, _sel_port); + final _ret = _objc_msgSend_96(this.pointer, _sel_port); return _ret.address == 0 ? null : NSNumber.castFromPointer(_ret, retain: true, release: true); } NSString? get user { - final _ret = _objc_msgSend_55(this.pointer, _sel_user); + final _ret = _objc_msgSend_58(this.pointer, _sel_user); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get password { - final _ret = _objc_msgSend_55(this.pointer, _sel_password); + final _ret = _objc_msgSend_58(this.pointer, _sel_password); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get path { - final _ret = _objc_msgSend_55(this.pointer, _sel_path); + final _ret = _objc_msgSend_58(this.pointer, _sel_path); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get fragment { - final _ret = _objc_msgSend_55(this.pointer, _sel_fragment); + final _ret = _objc_msgSend_58(this.pointer, _sel_fragment); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get parameterString { - final _ret = _objc_msgSend_55(this.pointer, _sel_parameterString); + final _ret = _objc_msgSend_58(this.pointer, _sel_parameterString); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get query { - final _ret = _objc_msgSend_55(this.pointer, _sel_query); + final _ret = _objc_msgSend_58(this.pointer, _sel_query); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get relativePath { - final _ret = _objc_msgSend_55(this.pointer, _sel_relativePath); + final _ret = _objc_msgSend_58(this.pointer, _sel_relativePath); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } bool get hasDirectoryPath { - return _objc_msgSend_11(this.pointer, _sel_hasDirectoryPath); + return _objc_msgSend_13(this.pointer, _sel_hasDirectoryPath); } bool getFileSystemRepresentation_maxLength_( ffi.Pointer buffer, int maxBufferLength) { - return _objc_msgSend_95(this.pointer, + return _objc_msgSend_97(this.pointer, _sel_getFileSystemRepresentation_maxLength_, buffer, maxBufferLength); } ffi.Pointer get fileSystemRepresentation { - return _objc_msgSend_84(this.pointer, _sel_fileSystemRepresentation); + return _objc_msgSend_14(this.pointer, _sel_fileSystemRepresentation); } bool get fileURL { - return _objc_msgSend_11(this.pointer, _sel_isFileURL); + return _objc_msgSend_13(this.pointer, _sel_isFileURL); } NSURL? get standardizedURL { - final _ret = _objc_msgSend_56(this.pointer, _sel_standardizedURL); + final _ret = _objc_msgSend_59(this.pointer, _sel_standardizedURL); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } bool isFileReferenceURL() { - return _objc_msgSend_11(this.pointer, _sel_isFileReferenceURL); + return _objc_msgSend_13(this.pointer, _sel_isFileReferenceURL); } NSURL? fileReferenceURL() { - final _ret = _objc_msgSend_56(this.pointer, _sel_fileReferenceURL); + final _ret = _objc_msgSend_59(this.pointer, _sel_fileReferenceURL); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL? get filePathURL { - final _ret = _objc_msgSend_56(this.pointer, _sel_filePathURL); + final _ret = _objc_msgSend_59(this.pointer, _sel_filePathURL); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); @@ -3173,13 +3263,13 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_96(this.pointer, _sel_getResourceValue_forKey_error_, + return _objc_msgSend_98(this.pointer, _sel_getResourceValue_forKey_error_, value, key.pointer, error); } objc.ObjCObjectBase? resourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_162( this.pointer, _sel_resourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3188,18 +3278,18 @@ class NSURL extends NSObject { bool setResourceValue_forKey_error_(objc.ObjCObjectBase? value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_160(this.pointer, _sel_setResourceValue_forKey_error_, + return _objc_msgSend_163(this.pointer, _sel_setResourceValue_forKey_error_, value?.pointer ?? ffi.nullptr, key.pointer, error); } bool setResourceValues_error_(objc.ObjCObjectBase keyedValues, ffi.Pointer> error) { - return _objc_msgSend_161(this.pointer, _sel_setResourceValues_error_, + return _objc_msgSend_164(this.pointer, _sel_setResourceValues_error_, keyedValues.pointer, error); } void removeCachedResourceValueForKey_(NSString key) { - _objc_msgSend_162( + _objc_msgSend_165( this.pointer, _sel_removeCachedResourceValueForKey_, key.pointer); } @@ -3209,7 +3299,7 @@ class NSURL extends NSObject { void setTemporaryResourceValue_forKey_( objc.ObjCObjectBase? value, NSString key) { - _objc_msgSend_163(this.pointer, _sel_setTemporaryResourceValue_forKey_, + _objc_msgSend_166(this.pointer, _sel_setTemporaryResourceValue_forKey_, value?.pointer ?? ffi.nullptr, key.pointer); } @@ -3219,7 +3309,7 @@ class NSURL extends NSObject { NSArray? keys, NSURL? relativeURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_164( + final _ret = _objc_msgSend_167( this.pointer, _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_, options, @@ -3238,7 +3328,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_165( + final _ret = _objc_msgSend_168( this.pointer, _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3258,7 +3348,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_165( + final _ret = _objc_msgSend_168( _class_NSURL, _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3273,7 +3363,7 @@ class NSURL extends NSObject { static objc.ObjCObjectBase? resourceValuesForKeys_fromBookmarkData_( NSArray keys, NSData bookmarkData) { - final _ret = _objc_msgSend_166( + final _ret = _objc_msgSend_169( _class_NSURL, _sel_resourceValuesForKeys_fromBookmarkData_, keys.pointer, @@ -3288,7 +3378,7 @@ class NSURL extends NSObject { NSURL bookmarkFileURL, int options, ffi.Pointer> error) { - return _objc_msgSend_167( + return _objc_msgSend_170( _class_NSURL, _sel_writeBookmarkData_toURL_options_error_, bookmarkData.pointer, @@ -3299,7 +3389,7 @@ class NSURL extends NSObject { static NSData? bookmarkDataWithContentsOfURL_error_( NSURL bookmarkFileURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_168( + final _ret = _objc_msgSend_171( _class_NSURL, _sel_bookmarkDataWithContentsOfURL_error_, bookmarkFileURL.pointer, @@ -3311,7 +3401,7 @@ class NSURL extends NSObject { static NSURL? URLByResolvingAliasFileAtURL_options_error_( NSURL url, int options, ffi.Pointer> error) { - final _ret = _objc_msgSend_169( + final _ret = _objc_msgSend_172( _class_NSURL, _sel_URLByResolvingAliasFileAtURL_options_error_, url.pointer, @@ -3323,7 +3413,7 @@ class NSURL extends NSObject { } bool startAccessingSecurityScopedResource() { - return _objc_msgSend_11( + return _objc_msgSend_13( this.pointer, _sel_startAccessingSecurityScopedResource); } @@ -3335,7 +3425,7 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_96( + return _objc_msgSend_98( this.pointer, _sel_getPromisedItemResourceValue_forKey_error_, value, @@ -3345,7 +3435,7 @@ class NSURL extends NSObject { NSDictionary? promisedItemResourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_189(this.pointer, + final _ret = _objc_msgSend_201(this.pointer, _sel_promisedItemResourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3354,12 +3444,12 @@ class NSURL extends NSObject { bool checkPromisedItemIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_190( + return _objc_msgSend_202( this.pointer, _sel_checkPromisedItemIsReachableAndReturnError_, error); } static NSURL? fileURLWithPathComponents_(NSArray components) { - final _ret = _objc_msgSend_191( + final _ret = _objc_msgSend_203( _class_NSURL, _sel_fileURLWithPathComponents_, components.pointer); return _ret.address == 0 ? null @@ -3367,28 +3457,28 @@ class NSURL extends NSObject { } NSArray? get pathComponents { - final _ret = _objc_msgSend_192(this.pointer, _sel_pathComponents); + final _ret = _objc_msgSend_204(this.pointer, _sel_pathComponents); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); } NSString? get lastPathComponent { - final _ret = _objc_msgSend_55(this.pointer, _sel_lastPathComponent); + final _ret = _objc_msgSend_58(this.pointer, _sel_lastPathComponent); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSString? get pathExtension { - final _ret = _objc_msgSend_55(this.pointer, _sel_pathExtension); + final _ret = _objc_msgSend_58(this.pointer, _sel_pathExtension); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } NSURL? URLByAppendingPathComponent_(NSString pathComponent) { - final _ret = _objc_msgSend_193( + final _ret = _objc_msgSend_205( this.pointer, _sel_URLByAppendingPathComponent_, pathComponent.pointer); return _ret.address == 0 ? null @@ -3397,7 +3487,7 @@ class NSURL extends NSObject { NSURL? URLByAppendingPathComponent_isDirectory_( NSString pathComponent, bool isDirectory) { - final _ret = _objc_msgSend_194( + final _ret = _objc_msgSend_206( this.pointer, _sel_URLByAppendingPathComponent_isDirectory_, pathComponent.pointer, @@ -3409,14 +3499,14 @@ class NSURL extends NSObject { NSURL? get URLByDeletingLastPathComponent { final _ret = - _objc_msgSend_56(this.pointer, _sel_URLByDeletingLastPathComponent); + _objc_msgSend_59(this.pointer, _sel_URLByDeletingLastPathComponent); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSURL? URLByAppendingPathExtension_(NSString pathExtension) { - final _ret = _objc_msgSend_193( + final _ret = _objc_msgSend_205( this.pointer, _sel_URLByAppendingPathExtension_, pathExtension.pointer); return _ret.address == 0 ? null @@ -3425,7 +3515,7 @@ class NSURL extends NSObject { NSURL? get URLByDeletingPathExtension { final _ret = - _objc_msgSend_56(this.pointer, _sel_URLByDeletingPathExtension); + _objc_msgSend_59(this.pointer, _sel_URLByDeletingPathExtension); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); @@ -3433,12 +3523,12 @@ class NSURL extends NSObject { bool checkResourceIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_190( + return _objc_msgSend_202( this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); } NSURL? get URLByStandardizingPath { - final _ret = _objc_msgSend_56(this.pointer, _sel_URLByStandardizingPath); + final _ret = _objc_msgSend_59(this.pointer, _sel_URLByStandardizingPath); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); @@ -3446,14 +3536,14 @@ class NSURL extends NSObject { NSURL? get URLByResolvingSymlinksInPath { final _ret = - _objc_msgSend_56(this.pointer, _sel_URLByResolvingSymlinksInPath); + _objc_msgSend_59(this.pointer, _sel_URLByResolvingSymlinksInPath); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } NSData? resourceDataUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_195( + final _ret = _objc_msgSend_207( this.pointer, _sel_resourceDataUsingCache_, shouldUseCache); return _ret.address == 0 ? null @@ -3462,7 +3552,7 @@ class NSURL extends NSObject { void loadResourceDataNotifyingClient_usingCache_( objc.ObjCObjectBase client, bool shouldUseCache) { - _objc_msgSend_196( + _objc_msgSend_208( this.pointer, _sel_loadResourceDataNotifyingClient_usingCache_, client.pointer, @@ -3470,7 +3560,7 @@ class NSURL extends NSObject { } objc.ObjCObjectBase? propertyForKey_(NSString propertyKey) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( this.pointer, _sel_propertyForKey_, propertyKey.pointer); return _ret.address == 0 ? null @@ -3478,16 +3568,16 @@ class NSURL extends NSObject { } bool setResourceData_(NSData data) { - return _objc_msgSend_35(this.pointer, _sel_setResourceData_, data.pointer); + return _objc_msgSend_38(this.pointer, _sel_setResourceData_, data.pointer); } bool setProperty_forKey_(objc.ObjCObjectBase property, NSString propertyKey) { - return _objc_msgSend_197(this.pointer, _sel_setProperty_forKey_, + return _objc_msgSend_209(this.pointer, _sel_setProperty_forKey_, property.pointer, propertyKey.pointer); } NSURLHandle? URLHandleUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_205( + final _ret = _objc_msgSend_217( this.pointer, _sel_URLHandleUsingCache_, shouldUseCache); return _ret.address == 0 ? null @@ -3519,7 +3609,7 @@ class NSURL extends NSObject { late final _class_NSURL = objc.getClass("NSURL"); late final _sel_initWithScheme_host_path_ = objc.registerName("initWithScheme:host:path:"); -final _objc_msgSend_38 = objc.msgSendPointer +final _objc_msgSend_41 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3537,7 +3627,7 @@ final _objc_msgSend_38 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initFileURLWithPath_isDirectory_relativeToURL_ = objc.registerName("initFileURLWithPath:isDirectory:relativeToURL:"); -final _objc_msgSend_39 = objc.msgSendPointer +final _objc_msgSend_42 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3555,7 +3645,7 @@ final _objc_msgSend_39 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initFileURLWithPath_relativeToURL_ = objc.registerName("initFileURLWithPath:relativeToURL:"); -final _objc_msgSend_40 = objc.msgSendPointer +final _objc_msgSend_43 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3571,7 +3661,7 @@ final _objc_msgSend_40 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initFileURLWithPath_isDirectory_ = objc.registerName("initFileURLWithPath:isDirectory:"); -final _objc_msgSend_41 = objc.msgSendPointer +final _objc_msgSend_44 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3587,7 +3677,7 @@ final _objc_msgSend_41 = objc.msgSendPointer bool)>(); late final _sel_initFileURLWithPath_ = objc.registerName("initFileURLWithPath:"); -final _objc_msgSend_42 = objc.msgSendPointer +final _objc_msgSend_45 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3599,7 +3689,7 @@ final _objc_msgSend_42 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_fileURLWithPath_isDirectory_relativeToURL_ = objc.registerName("fileURLWithPath:isDirectory:relativeToURL:"); -final _objc_msgSend_43 = objc.msgSendPointer +final _objc_msgSend_46 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3617,7 +3707,7 @@ final _objc_msgSend_43 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_fileURLWithPath_relativeToURL_ = objc.registerName("fileURLWithPath:relativeToURL:"); -final _objc_msgSend_44 = objc.msgSendPointer +final _objc_msgSend_47 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3633,7 +3723,7 @@ final _objc_msgSend_44 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_fileURLWithPath_isDirectory_ = objc.registerName("fileURLWithPath:isDirectory:"); -final _objc_msgSend_45 = objc.msgSendPointer +final _objc_msgSend_48 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3648,7 +3738,7 @@ final _objc_msgSend_45 = objc.msgSendPointer ffi.Pointer, bool)>(); late final _sel_fileURLWithPath_ = objc.registerName("fileURLWithPath:"); -final _objc_msgSend_46 = objc.msgSendPointer +final _objc_msgSend_49 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3661,7 +3751,7 @@ final _objc_msgSend_46 = objc.msgSendPointer late final _sel_initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_ = objc.registerName( "initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); -final _objc_msgSend_47 = objc.msgSendPointer +final _objc_msgSend_50 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3680,7 +3770,7 @@ final _objc_msgSend_47 = objc.msgSendPointer late final _sel_fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_ = objc.registerName( "fileURLWithFileSystemRepresentation:isDirectory:relativeToURL:"); -final _objc_msgSend_48 = objc.msgSendPointer +final _objc_msgSend_51 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3697,7 +3787,7 @@ final _objc_msgSend_48 = objc.msgSendPointer bool, ffi.Pointer)>(); late final _sel_initWithString_ = objc.registerName("initWithString:"); -final _objc_msgSend_49 = objc.msgSendPointer +final _objc_msgSend_52 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3709,7 +3799,7 @@ final _objc_msgSend_49 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithString_relativeToURL_ = objc.registerName("initWithString:relativeToURL:"); -final _objc_msgSend_50 = objc.msgSendPointer +final _objc_msgSend_53 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3728,7 +3818,7 @@ late final _sel_URLWithString_relativeToURL_ = objc.registerName("URLWithString:relativeToURL:"); late final _sel_initWithString_encodingInvalidCharacters_ = objc.registerName("initWithString:encodingInvalidCharacters:"); -final _objc_msgSend_51 = objc.msgSendPointer +final _objc_msgSend_54 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3746,7 +3836,7 @@ late final _sel_URLWithString_encodingInvalidCharacters_ = objc.registerName("URLWithString:encodingInvalidCharacters:"); late final _sel_initWithDataRepresentation_relativeToURL_ = objc.registerName("initWithDataRepresentation:relativeToURL:"); -final _objc_msgSend_52 = objc.msgSendPointer +final _objc_msgSend_55 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -3762,7 +3852,7 @@ final _objc_msgSend_52 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_URLWithDataRepresentation_relativeToURL_ = objc.registerName("URLWithDataRepresentation:relativeToURL:"); -final _objc_msgSend_53 = objc.msgSendPointer +final _objc_msgSend_56 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -3781,7 +3871,7 @@ late final _sel_initAbsoluteURLWithDataRepresentation_relativeToURL_ = late final _sel_absoluteURLWithDataRepresentation_relativeToURL_ = objc.registerName("absoluteURLWithDataRepresentation:relativeToURL:"); late final _sel_dataRepresentation = objc.registerName("dataRepresentation"); -final _objc_msgSend_54 = objc.msgSendPointer +final _objc_msgSend_57 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -3790,7 +3880,7 @@ final _objc_msgSend_54 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_absoluteString = objc.registerName("absoluteString"); -final _objc_msgSend_55 = objc.msgSendPointer +final _objc_msgSend_58 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -3800,7 +3890,7 @@ final _objc_msgSend_55 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_relativeString = objc.registerName("relativeString"); late final _sel_baseURL = objc.registerName("baseURL"); -final _objc_msgSend_56 = objc.msgSendPointer +final _objc_msgSend_59 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -3835,259 +3925,259 @@ class NSNumber extends NSValue { @override NSNumber? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithChar_(int value) { - final _ret = _objc_msgSend_57(this.pointer, _sel_initWithChar_, value); + final _ret = _objc_msgSend_60(this.pointer, _sel_initWithChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedChar_(int value) { final _ret = - _objc_msgSend_58(this.pointer, _sel_initWithUnsignedChar_, value); + _objc_msgSend_61(this.pointer, _sel_initWithUnsignedChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithShort_(int value) { - final _ret = _objc_msgSend_59(this.pointer, _sel_initWithShort_, value); + final _ret = _objc_msgSend_62(this.pointer, _sel_initWithShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedShort_(int value) { final _ret = - _objc_msgSend_60(this.pointer, _sel_initWithUnsignedShort_, value); + _objc_msgSend_63(this.pointer, _sel_initWithUnsignedShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithInt_(int value) { - final _ret = _objc_msgSend_61(this.pointer, _sel_initWithInt_, value); + final _ret = _objc_msgSend_64(this.pointer, _sel_initWithInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedInt_(int value) { final _ret = - _objc_msgSend_62(this.pointer, _sel_initWithUnsignedInt_, value); + _objc_msgSend_65(this.pointer, _sel_initWithUnsignedInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithLong_(int value) { - final _ret = _objc_msgSend_63(this.pointer, _sel_initWithLong_, value); + final _ret = _objc_msgSend_66(this.pointer, _sel_initWithLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedLong_(int value) { final _ret = - _objc_msgSend_64(this.pointer, _sel_initWithUnsignedLong_, value); + _objc_msgSend_67(this.pointer, _sel_initWithUnsignedLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithLongLong_(int value) { - final _ret = _objc_msgSend_65(this.pointer, _sel_initWithLongLong_, value); + final _ret = _objc_msgSend_68(this.pointer, _sel_initWithLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedLongLong_(int value) { final _ret = - _objc_msgSend_66(this.pointer, _sel_initWithUnsignedLongLong_, value); + _objc_msgSend_69(this.pointer, _sel_initWithUnsignedLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithFloat_(double value) { - final _ret = _objc_msgSend_67(this.pointer, _sel_initWithFloat_, value); + final _ret = _objc_msgSend_70(this.pointer, _sel_initWithFloat_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithDouble_(double value) { - final _ret = _objc_msgSend_68(this.pointer, _sel_initWithDouble_, value); + final _ret = _objc_msgSend_71(this.pointer, _sel_initWithDouble_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithBool_(bool value) { - final _ret = _objc_msgSend_69(this.pointer, _sel_initWithBool_, value); + final _ret = _objc_msgSend_72(this.pointer, _sel_initWithBool_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithInteger_(int value) { - final _ret = _objc_msgSend_63(this.pointer, _sel_initWithInteger_, value); + final _ret = _objc_msgSend_66(this.pointer, _sel_initWithInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } NSNumber initWithUnsignedInteger_(int value) { final _ret = - _objc_msgSend_64(this.pointer, _sel_initWithUnsignedInteger_, value); + _objc_msgSend_67(this.pointer, _sel_initWithUnsignedInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } int get charValue { - return _objc_msgSend_70(this.pointer, _sel_charValue); + return _objc_msgSend_73(this.pointer, _sel_charValue); } int get unsignedCharValue { - return _objc_msgSend_71(this.pointer, _sel_unsignedCharValue); + return _objc_msgSend_74(this.pointer, _sel_unsignedCharValue); } int get shortValue { - return _objc_msgSend_72(this.pointer, _sel_shortValue); + return _objc_msgSend_75(this.pointer, _sel_shortValue); } int get unsignedShortValue { - return _objc_msgSend_73(this.pointer, _sel_unsignedShortValue); + return _objc_msgSend_76(this.pointer, _sel_unsignedShortValue); } int get intValue { - return _objc_msgSend_74(this.pointer, _sel_intValue); + return _objc_msgSend_77(this.pointer, _sel_intValue); } int get unsignedIntValue { - return _objc_msgSend_75(this.pointer, _sel_unsignedIntValue); + return _objc_msgSend_78(this.pointer, _sel_unsignedIntValue); } int get longValue { - return _objc_msgSend_76(this.pointer, _sel_longValue); + return _objc_msgSend_79(this.pointer, _sel_longValue); } int get unsignedLongValue { - return _objc_msgSend_12(this.pointer, _sel_unsignedLongValue); + return _objc_msgSend_11(this.pointer, _sel_unsignedLongValue); } int get longLongValue { - return _objc_msgSend_77(this.pointer, _sel_longLongValue); + return _objc_msgSend_80(this.pointer, _sel_longLongValue); } int get unsignedLongLongValue { - return _objc_msgSend_78(this.pointer, _sel_unsignedLongLongValue); + return _objc_msgSend_81(this.pointer, _sel_unsignedLongLongValue); } double get floatValue { return objc.useMsgSendVariants - ? _objc_msgSend_79Fpret(this.pointer, _sel_floatValue) - : _objc_msgSend_79(this.pointer, _sel_floatValue); + ? _objc_msgSend_82Fpret(this.pointer, _sel_floatValue) + : _objc_msgSend_82(this.pointer, _sel_floatValue); } double get doubleValue { return objc.useMsgSendVariants - ? _objc_msgSend_80Fpret(this.pointer, _sel_doubleValue) - : _objc_msgSend_80(this.pointer, _sel_doubleValue); + ? _objc_msgSend_83Fpret(this.pointer, _sel_doubleValue) + : _objc_msgSend_83(this.pointer, _sel_doubleValue); } bool get boolValue { - return _objc_msgSend_11(this.pointer, _sel_boolValue); + return _objc_msgSend_13(this.pointer, _sel_boolValue); } int get integerValue { - return _objc_msgSend_76(this.pointer, _sel_integerValue); + return _objc_msgSend_79(this.pointer, _sel_integerValue); } int get unsignedIntegerValue { - return _objc_msgSend_12(this.pointer, _sel_unsignedIntegerValue); + return _objc_msgSend_11(this.pointer, _sel_unsignedIntegerValue); } NSString get stringValue { - final _ret = _objc_msgSend_32(this.pointer, _sel_stringValue); + final _ret = _objc_msgSend_35(this.pointer, _sel_stringValue); return NSString.castFromPointer(_ret, retain: true, release: true); } int compare_(NSNumber otherNumber) { - return _objc_msgSend_81(this.pointer, _sel_compare_, otherNumber.pointer); + return _objc_msgSend_84(this.pointer, _sel_compare_, otherNumber.pointer); } bool isEqualToNumber_(NSNumber number) { - return _objc_msgSend_82( + return _objc_msgSend_85( this.pointer, _sel_isEqualToNumber_, number.pointer); } NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_83(this.pointer, _sel_descriptionWithLocale_, + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithChar_(int value) { - final _ret = _objc_msgSend_57(_class_NSNumber, _sel_numberWithChar_, value); + final _ret = _objc_msgSend_60(_class_NSNumber, _sel_numberWithChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedChar_(int value) { final _ret = - _objc_msgSend_58(_class_NSNumber, _sel_numberWithUnsignedChar_, value); + _objc_msgSend_61(_class_NSNumber, _sel_numberWithUnsignedChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithShort_(int value) { final _ret = - _objc_msgSend_59(_class_NSNumber, _sel_numberWithShort_, value); + _objc_msgSend_62(_class_NSNumber, _sel_numberWithShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedShort_(int value) { final _ret = - _objc_msgSend_60(_class_NSNumber, _sel_numberWithUnsignedShort_, value); + _objc_msgSend_63(_class_NSNumber, _sel_numberWithUnsignedShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithInt_(int value) { - final _ret = _objc_msgSend_61(_class_NSNumber, _sel_numberWithInt_, value); + final _ret = _objc_msgSend_64(_class_NSNumber, _sel_numberWithInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedInt_(int value) { final _ret = - _objc_msgSend_62(_class_NSNumber, _sel_numberWithUnsignedInt_, value); + _objc_msgSend_65(_class_NSNumber, _sel_numberWithUnsignedInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithLong_(int value) { - final _ret = _objc_msgSend_63(_class_NSNumber, _sel_numberWithLong_, value); + final _ret = _objc_msgSend_66(_class_NSNumber, _sel_numberWithLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedLong_(int value) { final _ret = - _objc_msgSend_64(_class_NSNumber, _sel_numberWithUnsignedLong_, value); + _objc_msgSend_67(_class_NSNumber, _sel_numberWithUnsignedLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithLongLong_(int value) { final _ret = - _objc_msgSend_65(_class_NSNumber, _sel_numberWithLongLong_, value); + _objc_msgSend_68(_class_NSNumber, _sel_numberWithLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedLongLong_(int value) { - final _ret = _objc_msgSend_66( + final _ret = _objc_msgSend_69( _class_NSNumber, _sel_numberWithUnsignedLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithFloat_(double value) { final _ret = - _objc_msgSend_67(_class_NSNumber, _sel_numberWithFloat_, value); + _objc_msgSend_70(_class_NSNumber, _sel_numberWithFloat_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithDouble_(double value) { final _ret = - _objc_msgSend_68(_class_NSNumber, _sel_numberWithDouble_, value); + _objc_msgSend_71(_class_NSNumber, _sel_numberWithDouble_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithBool_(bool value) { - final _ret = _objc_msgSend_69(_class_NSNumber, _sel_numberWithBool_, value); + final _ret = _objc_msgSend_72(_class_NSNumber, _sel_numberWithBool_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithInteger_(int value) { final _ret = - _objc_msgSend_63(_class_NSNumber, _sel_numberWithInteger_, value); + _objc_msgSend_66(_class_NSNumber, _sel_numberWithInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSNumber numberWithUnsignedInteger_(int value) { - final _ret = _objc_msgSend_64( + final _ret = _objc_msgSend_67( _class_NSNumber, _sel_numberWithUnsignedInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } @@ -4095,39 +4185,39 @@ class NSNumber extends NSValue { @override NSNumber initWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { - final _ret = _objc_msgSend_85( + final _ret = _objc_msgSend_87( this.pointer, _sel_initWithBytes_objCType_, value, type); return NSNumber.castFromPointer(_ret, retain: true, release: true); } static NSValue valueWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { - final _ret = _objc_msgSend_86( + final _ret = _objc_msgSend_88( _class_NSNumber, _sel_valueWithBytes_objCType_, value, type); return NSValue.castFromPointer(_ret, retain: true, release: true); } static NSValue value_withObjCType_( ffi.Pointer value, ffi.Pointer type) { - final _ret = _objc_msgSend_86( + final _ret = _objc_msgSend_88( _class_NSNumber, _sel_value_withObjCType_, value, type); return NSValue.castFromPointer(_ret, retain: true, release: true); } static NSValue valueWithNonretainedObject_(objc.ObjCObjectBase? anObject) { - final _ret = _objc_msgSend_87(_class_NSNumber, + final _ret = _objc_msgSend_89(_class_NSNumber, _sel_valueWithNonretainedObject_, anObject?.pointer ?? ffi.nullptr); return NSValue.castFromPointer(_ret, retain: true, release: true); } static NSValue valueWithPointer_(ffi.Pointer pointer) { final _ret = - _objc_msgSend_89(_class_NSNumber, _sel_valueWithPointer_, pointer); + _objc_msgSend_91(_class_NSNumber, _sel_valueWithPointer_, pointer); return NSValue.castFromPointer(_ret, retain: true, release: true); } static NSValue valueWithRange_(_NSRange range) { - final _ret = _objc_msgSend_92(_class_NSNumber, _sel_valueWithRange_, range); + final _ret = _objc_msgSend_94(_class_NSNumber, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } @@ -4155,7 +4245,7 @@ class NSNumber extends NSValue { late final _class_NSNumber = objc.getClass("NSNumber"); late final _sel_initWithChar_ = objc.registerName("initWithChar:"); -final _objc_msgSend_57 = objc.msgSendPointer +final _objc_msgSend_60 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4165,7 +4255,7 @@ final _objc_msgSend_57 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUnsignedChar_ = objc.registerName("initWithUnsignedChar:"); -final _objc_msgSend_58 = objc.msgSendPointer +final _objc_msgSend_61 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4174,7 +4264,7 @@ final _objc_msgSend_58 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_initWithShort_ = objc.registerName("initWithShort:"); -final _objc_msgSend_59 = objc.msgSendPointer +final _objc_msgSend_62 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4184,7 +4274,7 @@ final _objc_msgSend_59 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUnsignedShort_ = objc.registerName("initWithUnsignedShort:"); -final _objc_msgSend_60 = objc.msgSendPointer +final _objc_msgSend_63 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4193,7 +4283,7 @@ final _objc_msgSend_60 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_initWithInt_ = objc.registerName("initWithInt:"); -final _objc_msgSend_61 = objc.msgSendPointer +final _objc_msgSend_64 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4203,7 +4293,7 @@ final _objc_msgSend_61 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUnsignedInt_ = objc.registerName("initWithUnsignedInt:"); -final _objc_msgSend_62 = objc.msgSendPointer +final _objc_msgSend_65 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4212,7 +4302,7 @@ final _objc_msgSend_62 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_initWithLong_ = objc.registerName("initWithLong:"); -final _objc_msgSend_63 = objc.msgSendPointer +final _objc_msgSend_66 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4222,7 +4312,7 @@ final _objc_msgSend_63 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUnsignedLong_ = objc.registerName("initWithUnsignedLong:"); -final _objc_msgSend_64 = objc.msgSendPointer +final _objc_msgSend_67 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4231,7 +4321,7 @@ final _objc_msgSend_64 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_initWithLongLong_ = objc.registerName("initWithLongLong:"); -final _objc_msgSend_65 = objc.msgSendPointer +final _objc_msgSend_68 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4241,7 +4331,7 @@ final _objc_msgSend_65 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUnsignedLongLong_ = objc.registerName("initWithUnsignedLongLong:"); -final _objc_msgSend_66 = objc.msgSendPointer +final _objc_msgSend_69 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4250,7 +4340,7 @@ final _objc_msgSend_66 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_initWithFloat_ = objc.registerName("initWithFloat:"); -final _objc_msgSend_67 = objc.msgSendPointer +final _objc_msgSend_70 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4259,7 +4349,7 @@ final _objc_msgSend_67 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, double)>(); late final _sel_initWithDouble_ = objc.registerName("initWithDouble:"); -final _objc_msgSend_68 = objc.msgSendPointer +final _objc_msgSend_71 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4268,7 +4358,7 @@ final _objc_msgSend_68 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, double)>(); late final _sel_initWithBool_ = objc.registerName("initWithBool:"); -final _objc_msgSend_69 = objc.msgSendPointer +final _objc_msgSend_72 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4280,7 +4370,7 @@ late final _sel_initWithInteger_ = objc.registerName("initWithInteger:"); late final _sel_initWithUnsignedInteger_ = objc.registerName("initWithUnsignedInteger:"); late final _sel_charValue = objc.registerName("charValue"); -final _objc_msgSend_70 = objc.msgSendPointer +final _objc_msgSend_73 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Char Function(ffi.Pointer, @@ -4289,7 +4379,7 @@ final _objc_msgSend_70 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_unsignedCharValue = objc.registerName("unsignedCharValue"); -final _objc_msgSend_71 = objc.msgSendPointer +final _objc_msgSend_74 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedChar Function(ffi.Pointer, @@ -4298,7 +4388,7 @@ final _objc_msgSend_71 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_shortValue = objc.registerName("shortValue"); -final _objc_msgSend_72 = objc.msgSendPointer +final _objc_msgSend_75 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Short Function(ffi.Pointer, @@ -4307,7 +4397,7 @@ final _objc_msgSend_72 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_unsignedShortValue = objc.registerName("unsignedShortValue"); -final _objc_msgSend_73 = objc.msgSendPointer +final _objc_msgSend_76 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedShort Function(ffi.Pointer, @@ -4316,7 +4406,7 @@ final _objc_msgSend_73 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_intValue = objc.registerName("intValue"); -final _objc_msgSend_74 = objc.msgSendPointer +final _objc_msgSend_77 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int Function(ffi.Pointer, @@ -4325,7 +4415,7 @@ final _objc_msgSend_74 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_unsignedIntValue = objc.registerName("unsignedIntValue"); -final _objc_msgSend_75 = objc.msgSendPointer +final _objc_msgSend_78 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedInt Function(ffi.Pointer, @@ -4334,7 +4424,7 @@ final _objc_msgSend_75 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_longValue = objc.registerName("longValue"); -final _objc_msgSend_76 = objc.msgSendPointer +final _objc_msgSend_79 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Long Function(ffi.Pointer, @@ -4344,7 +4434,7 @@ final _objc_msgSend_76 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_unsignedLongValue = objc.registerName("unsignedLongValue"); late final _sel_longLongValue = objc.registerName("longLongValue"); -final _objc_msgSend_77 = objc.msgSendPointer +final _objc_msgSend_80 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.LongLong Function(ffi.Pointer, @@ -4354,7 +4444,7 @@ final _objc_msgSend_77 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_unsignedLongLongValue = objc.registerName("unsignedLongLongValue"); -final _objc_msgSend_78 = objc.msgSendPointer +final _objc_msgSend_81 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLongLong Function(ffi.Pointer, @@ -4363,7 +4453,7 @@ final _objc_msgSend_78 = objc.msgSendPointer int Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_floatValue = objc.registerName("floatValue"); -final _objc_msgSend_79 = objc.msgSendPointer +final _objc_msgSend_82 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Float Function(ffi.Pointer, @@ -4371,7 +4461,7 @@ final _objc_msgSend_79 = objc.msgSendPointer .asFunction< double Function( ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_79Fpret = objc.msgSendFpretPointer +final _objc_msgSend_82Fpret = objc.msgSendFpretPointer .cast< ffi.NativeFunction< ffi.Float Function(ffi.Pointer, @@ -4380,7 +4470,7 @@ final _objc_msgSend_79Fpret = objc.msgSendFpretPointer double Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_doubleValue = objc.registerName("doubleValue"); -final _objc_msgSend_80 = objc.msgSendPointer +final _objc_msgSend_83 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Double Function(ffi.Pointer, @@ -4388,7 +4478,7 @@ final _objc_msgSend_80 = objc.msgSendPointer .asFunction< double Function( ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_80Fpret = objc.msgSendFpretPointer +final _objc_msgSend_83Fpret = objc.msgSendFpretPointer .cast< ffi.NativeFunction< ffi.Double Function(ffi.Pointer, @@ -4401,7 +4491,7 @@ late final _sel_integerValue = objc.registerName("integerValue"); late final _sel_unsignedIntegerValue = objc.registerName("unsignedIntegerValue"); late final _sel_stringValue = objc.registerName("stringValue"); -final _objc_msgSend_81 = objc.msgSendPointer +final _objc_msgSend_84 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -4412,7 +4502,7 @@ final _objc_msgSend_81 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_isEqualToNumber_ = objc.registerName("isEqualToNumber:"); -final _objc_msgSend_82 = objc.msgSendPointer +final _objc_msgSend_85 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -4424,7 +4514,7 @@ final _objc_msgSend_82 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_descriptionWithLocale_ = objc.registerName("descriptionWithLocale:"); -final _objc_msgSend_83 = objc.msgSendPointer +final _objc_msgSend_86 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -4476,23 +4566,23 @@ class NSValue extends NSObject { } void getValue_size_(ffi.Pointer value, int size) { - _objc_msgSend_33(this.pointer, _sel_getValue_size_, value, size); + _objc_msgSend_36(this.pointer, _sel_getValue_size_, value, size); } ffi.Pointer get objCType { - return _objc_msgSend_84(this.pointer, _sel_objCType); + return _objc_msgSend_14(this.pointer, _sel_objCType); } NSValue initWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { - final _ret = _objc_msgSend_85( + final _ret = _objc_msgSend_87( this.pointer, _sel_initWithBytes_objCType_, value, type); return NSValue.castFromPointer(_ret, retain: true, release: true); } NSValue? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSValue.castFromPointer(_ret, retain: true, release: true); @@ -4500,7 +4590,7 @@ class NSValue extends NSObject { static NSValue valueWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { - final _ret = _objc_msgSend_86( + final _ret = _objc_msgSend_88( _class_NSValue, _sel_valueWithBytes_objCType_, value, type); return NSValue.castFromPointer(_ret, retain: true, release: true); } @@ -4508,18 +4598,18 @@ class NSValue extends NSObject { static NSValue value_withObjCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = - _objc_msgSend_86(_class_NSValue, _sel_value_withObjCType_, value, type); + _objc_msgSend_88(_class_NSValue, _sel_value_withObjCType_, value, type); return NSValue.castFromPointer(_ret, retain: true, release: true); } static NSValue valueWithNonretainedObject_(objc.ObjCObjectBase? anObject) { - final _ret = _objc_msgSend_87(_class_NSValue, + final _ret = _objc_msgSend_89(_class_NSValue, _sel_valueWithNonretainedObject_, anObject?.pointer ?? ffi.nullptr); return NSValue.castFromPointer(_ret, retain: true, release: true); } objc.ObjCObjectBase? get nonretainedObjectValue { - final _ret = _objc_msgSend_88(this.pointer, _sel_nonretainedObjectValue); + final _ret = _objc_msgSend_90(this.pointer, _sel_nonretainedObjectValue); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -4527,31 +4617,31 @@ class NSValue extends NSObject { static NSValue valueWithPointer_(ffi.Pointer pointer) { final _ret = - _objc_msgSend_89(_class_NSValue, _sel_valueWithPointer_, pointer); + _objc_msgSend_91(_class_NSValue, _sel_valueWithPointer_, pointer); return NSValue.castFromPointer(_ret, retain: true, release: true); } ffi.Pointer get pointerValue { - return _objc_msgSend_31(this.pointer, _sel_pointerValue); + return _objc_msgSend_34(this.pointer, _sel_pointerValue); } bool isEqualToValue_(NSValue value) { - return _objc_msgSend_90(this.pointer, _sel_isEqualToValue_, value.pointer); + return _objc_msgSend_92(this.pointer, _sel_isEqualToValue_, value.pointer); } void getValue_(ffi.Pointer value) { - _objc_msgSend_91(this.pointer, _sel_getValue_, value); + _objc_msgSend_93(this.pointer, _sel_getValue_, value); } static NSValue valueWithRange_(_NSRange range) { - final _ret = _objc_msgSend_92(_class_NSValue, _sel_valueWithRange_, range); + final _ret = _objc_msgSend_94(_class_NSValue, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } void getRangeValue(ffi.Pointer<_NSRange> stret) { objc.useMsgSendVariants - ? _objc_msgSend_93Stret(stret, this.pointer, _sel_rangeValue) - : stret.ref = _objc_msgSend_93(this.pointer, _sel_rangeValue); + ? _objc_msgSend_95Stret(stret, this.pointer, _sel_rangeValue) + : stret.ref = _objc_msgSend_95(this.pointer, _sel_rangeValue); } @override @@ -4579,17 +4669,9 @@ class NSValue extends NSObject { late final _class_NSValue = objc.getClass("NSValue"); late final _sel_getValue_size_ = objc.registerName("getValue:size:"); late final _sel_objCType = objc.registerName("objCType"); -final _objc_msgSend_84 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithBytes_objCType_ = objc.registerName("initWithBytes:objCType:"); -final _objc_msgSend_85 = objc.msgSendPointer +final _objc_msgSend_87 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -4605,7 +4687,7 @@ final _objc_msgSend_85 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_valueWithBytes_objCType_ = objc.registerName("valueWithBytes:objCType:"); -final _objc_msgSend_86 = objc.msgSendPointer +final _objc_msgSend_88 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -4622,7 +4704,7 @@ final _objc_msgSend_86 = objc.msgSendPointer late final _sel_value_withObjCType_ = objc.registerName("value:withObjCType:"); late final _sel_valueWithNonretainedObject_ = objc.registerName("valueWithNonretainedObject:"); -final _objc_msgSend_87 = objc.msgSendPointer +final _objc_msgSend_89 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -4634,7 +4716,7 @@ final _objc_msgSend_87 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_nonretainedObjectValue = objc.registerName("nonretainedObjectValue"); -final _objc_msgSend_88 = objc.msgSendPointer +final _objc_msgSend_90 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4643,7 +4725,7 @@ final _objc_msgSend_88 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_valueWithPointer_ = objc.registerName("valueWithPointer:"); -final _objc_msgSend_89 = objc.msgSendPointer +final _objc_msgSend_91 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4653,7 +4735,7 @@ final _objc_msgSend_89 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_pointerValue = objc.registerName("pointerValue"); late final _sel_isEqualToValue_ = objc.registerName("isEqualToValue:"); -final _objc_msgSend_90 = objc.msgSendPointer +final _objc_msgSend_92 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -4664,7 +4746,7 @@ final _objc_msgSend_90 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getValue_ = objc.registerName("getValue:"); -final _objc_msgSend_91 = objc.msgSendPointer +final _objc_msgSend_93 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -4673,7 +4755,7 @@ final _objc_msgSend_91 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_valueWithRange_ = objc.registerName("valueWithRange:"); -final _objc_msgSend_92 = objc.msgSendPointer +final _objc_msgSend_94 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4682,7 +4764,7 @@ final _objc_msgSend_92 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_rangeValue = objc.registerName("rangeValue"); -final _objc_msgSend_93 = objc.msgSendPointer +final _objc_msgSend_95 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function(ffi.Pointer, @@ -4690,7 +4772,7 @@ final _objc_msgSend_93 = objc.msgSendPointer .asFunction< _NSRange Function( ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_93Stret = objc.msgSendStretPointer +final _objc_msgSend_95Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -4701,7 +4783,7 @@ final _objc_msgSend_93Stret = objc.msgSendStretPointer void Function(ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer)>(); late final _sel_port = objc.registerName("port"); -final _objc_msgSend_94 = objc.msgSendPointer +final _objc_msgSend_96 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -4719,7 +4801,7 @@ late final _sel_relativePath = objc.registerName("relativePath"); late final _sel_hasDirectoryPath = objc.registerName("hasDirectoryPath"); late final _sel_getFileSystemRepresentation_maxLength_ = objc.registerName("getFileSystemRepresentation:maxLength:"); -final _objc_msgSend_95 = objc.msgSendPointer +final _objc_msgSend_97 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -4761,7 +4843,7 @@ class NSError extends objc.ObjCObjectBase { late final _class_NSError = objc.getClass("NSError"); late final _sel_getResourceValue_forKey_error_ = objc.registerName("getResourceValue:forKey:error:"); -final _objc_msgSend_96 = objc.msgSendPointer +final _objc_msgSend_98 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -4798,11 +4880,11 @@ class NSArray extends NSObject { } int get count { - return _objc_msgSend_12(this.pointer, _sel_count); + return _objc_msgSend_11(this.pointer, _sel_count); } objc.ObjCObjectBase objectAtIndex_(int index) { - final _ret = _objc_msgSend_97(this.pointer, _sel_objectAtIndex_, index); + final _ret = _objc_msgSend_99(this.pointer, _sel_objectAtIndex_, index); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -4814,33 +4896,33 @@ class NSArray extends NSObject { NSArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( + final _ret = _objc_msgSend_100( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray arrayByAddingObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_99( + final _ret = _objc_msgSend_101( this.pointer, _sel_arrayByAddingObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray arrayByAddingObjectsFromArray_(NSArray otherArray) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_102( this.pointer, _sel_arrayByAddingObjectsFromArray_, otherArray.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString componentsJoinedByString_(NSString separator) { - final _ret = _objc_msgSend_101( + final _ret = _objc_msgSend_103( this.pointer, _sel_componentsJoinedByString_, separator.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -4851,19 +4933,19 @@ class NSArray extends NSObject { } NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); + final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_83(this.pointer, _sel_descriptionWithLocale_, + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { - final _ret = _objc_msgSend_102( + final _ret = _objc_msgSend_104( this.pointer, _sel_descriptionWithLocale_indent_, locale?.pointer ?? ffi.nullptr, @@ -4872,7 +4954,7 @@ class NSArray extends NSObject { } objc.ObjCObjectBase? firstObjectCommonWithArray_(NSArray otherArray) { - final _ret = _objc_msgSend_103( + final _ret = _objc_msgSend_105( this.pointer, _sel_firstObjectCommonWithArray_, otherArray.pointer); return _ret.address == 0 ? null @@ -4881,61 +4963,61 @@ class NSArray extends NSObject { void getObjects_range_( ffi.Pointer> objects, _NSRange range) { - _objc_msgSend_104(this.pointer, _sel_getObjects_range_, objects, range); + _objc_msgSend_106(this.pointer, _sel_getObjects_range_, objects, range); } int indexOfObject_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_105( + return _objc_msgSend_107( this.pointer, _sel_indexOfObject_, anObject.pointer); } int indexOfObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { - return _objc_msgSend_106( + return _objc_msgSend_108( this.pointer, _sel_indexOfObject_inRange_, anObject.pointer, range); } int indexOfObjectIdenticalTo_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_105( + return _objc_msgSend_107( this.pointer, _sel_indexOfObjectIdenticalTo_, anObject.pointer); } int indexOfObjectIdenticalTo_inRange_( objc.ObjCObjectBase anObject, _NSRange range) { - return _objc_msgSend_106(this.pointer, + return _objc_msgSend_108(this.pointer, _sel_indexOfObjectIdenticalTo_inRange_, anObject.pointer, range); } bool isEqualToArray_(NSArray otherArray) { - return _objc_msgSend_107( + return _objc_msgSend_109( this.pointer, _sel_isEqualToArray_, otherArray.pointer); } objc.ObjCObjectBase? get firstObject { - final _ret = _objc_msgSend_88(this.pointer, _sel_firstObject); + final _ret = _objc_msgSend_90(this.pointer, _sel_firstObject); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase? get lastObject { - final _ret = _objc_msgSend_88(this.pointer, _sel_lastObject); + final _ret = _objc_msgSend_90(this.pointer, _sel_lastObject); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_108(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSEnumerator reverseObjectEnumerator() { - final _ret = _objc_msgSend_108(this.pointer, _sel_reverseObjectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_reverseObjectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSData get sortedArrayHint { - final _ret = _objc_msgSend_54(this.pointer, _sel_sortedArrayHint); + final _ret = _objc_msgSend_57(this.pointer, _sel_sortedArrayHint); return NSData.castFromPointer(_ret, retain: true, release: true); } @@ -4946,7 +5028,7 @@ class NSArray extends NSObject { ffi.Pointer, ffi.Pointer)>> comparator, ffi.Pointer context) { - final _ret = _objc_msgSend_109(this.pointer, + final _ret = _objc_msgSend_112(this.pointer, _sel_sortedArrayUsingFunction_context_, comparator, context); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -4959,7 +5041,7 @@ class NSArray extends NSObject { comparator, ffi.Pointer context, NSData? hint) { - final _ret = _objc_msgSend_110( + final _ret = _objc_msgSend_113( this.pointer, _sel_sortedArrayUsingFunction_context_hint_, comparator, @@ -4969,20 +5051,20 @@ class NSArray extends NSObject { } NSArray sortedArrayUsingSelector_(ffi.Pointer comparator) { - final _ret = _objc_msgSend_111( + final _ret = _objc_msgSend_114( this.pointer, _sel_sortedArrayUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray subarrayWithRange_(_NSRange range) { final _ret = - _objc_msgSend_112(this.pointer, _sel_subarrayWithRange_, range); + _objc_msgSend_115(this.pointer, _sel_subarrayWithRange_, range); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_113( + return _objc_msgSend_116( this.pointer, _sel_writeToURL_error_, url.pointer, error); } @@ -4992,37 +5074,37 @@ class NSArray extends NSObject { void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_114(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } NSArray objectsAtIndexes_(NSIndexSet indexes) { - final _ret = _objc_msgSend_135( + final _ret = _objc_msgSend_138( this.pointer, _sel_objectsAtIndexes_, indexes.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } objc.ObjCObjectBase objectAtIndexedSubscript_(int idx) { final _ret = - _objc_msgSend_97(this.pointer, _sel_objectAtIndexedSubscript_, idx); + _objc_msgSend_99(this.pointer, _sel_objectAtIndexedSubscript_, idx); return objc.ObjCObjectBase(_ret, retain: true, release: true); } void enumerateObjectsUsingBlock_( ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_136( + _objc_msgSend_139( this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); } void enumerateObjectsWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_137(this.pointer, + _objc_msgSend_140(this.pointer, _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); } void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet s, int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_138( + _objc_msgSend_141( this.pointer, _sel_enumerateObjectsAtIndexes_options_usingBlock_, s.pointer, @@ -5032,19 +5114,19 @@ class NSArray extends NSObject { int indexOfObjectPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_139( + return _objc_msgSend_142( this.pointer, _sel_indexOfObjectPassingTest_, predicate.pointer); } int indexOfObjectWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_140(this.pointer, + return _objc_msgSend_143(this.pointer, _sel_indexOfObjectWithOptions_passingTest_, opts, predicate.pointer); } int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_141( + return _objc_msgSend_144( this.pointer, _sel_indexOfObjectAtIndexes_options_passingTest_, s.pointer, @@ -5054,21 +5136,21 @@ class NSArray extends NSObject { NSIndexSet indexesOfObjectsPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_142( + final _ret = _objc_msgSend_145( this.pointer, _sel_indexesOfObjectsPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_143(this.pointer, + final _ret = _objc_msgSend_146(this.pointer, _sel_indexesOfObjectsWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_144( + final _ret = _objc_msgSend_147( this.pointer, _sel_indexesOfObjectsAtIndexes_options_passingTest_, s.pointer, @@ -5079,14 +5161,14 @@ class NSArray extends NSObject { NSArray sortedArrayUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_145( + final _ret = _objc_msgSend_148( this.pointer, _sel_sortedArrayUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray sortedArrayWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_146(this.pointer, + final _ret = _objc_msgSend_149(this.pointer, _sel_sortedArrayWithOptions_usingComparator_, opts, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5096,7 +5178,7 @@ class NSArray extends NSObject { _NSRange r, int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmp) { - return _objc_msgSend_147( + return _objc_msgSend_150( this.pointer, _sel_indexOfObject_inSortedRange_options_usingComparator_, obj.pointer, @@ -5111,51 +5193,51 @@ class NSArray extends NSObject { } static NSArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( _class_NSArray, _sel_arrayWithObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( + final _ret = _objc_msgSend_100( _class_NSArray, _sel_arrayWithObjects_count_, objects, cnt); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( _class_NSArray, _sel_arrayWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithArray_(NSArray array) { final _ret = - _objc_msgSend_149(_class_NSArray, _sel_arrayWithArray_, array.pointer); + _objc_msgSend_152(_class_NSArray, _sel_arrayWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_149(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_153( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSArray.castFromPointer(_ret, retain: false, release: true); } NSArray? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_154( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5164,7 +5246,7 @@ class NSArray extends NSObject { static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_154( _class_NSArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5175,7 +5257,7 @@ class NSArray extends NSObject { NSArray other, int options, ObjCBlock_bool_objcObjCObject_objcObjCObject block) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_155( this.pointer, _sel_differenceFromArray_withOptions_usingEquivalenceTest_, other.pointer, @@ -5186,19 +5268,19 @@ class NSArray extends NSObject { objc.ObjCObjectBase differenceFromArray_withOptions_( NSArray other, int options) { - final _ret = _objc_msgSend_153(this.pointer, + final _ret = _objc_msgSend_156(this.pointer, _sel_differenceFromArray_withOptions_, other.pointer, options); return objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase differenceFromArray_(NSArray other) { - final _ret = _objc_msgSend_149( + final _ret = _objc_msgSend_152( this.pointer, _sel_differenceFromArray_, other.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSArray? arrayByApplyingDifference_(objc.ObjCObjectBase difference) { - final _ret = _objc_msgSend_154( + final _ret = _objc_msgSend_157( this.pointer, _sel_arrayByApplyingDifference_, difference.pointer); return _ret.address == 0 ? null @@ -5206,11 +5288,11 @@ class NSArray extends NSObject { } void getObjects_(ffi.Pointer> objects) { - _objc_msgSend_155(this.pointer, _sel_getObjects_, objects); + _objc_msgSend_158(this.pointer, _sel_getObjects_, objects); } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_156( + final _ret = _objc_msgSend_159( _class_NSArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5218,7 +5300,7 @@ class NSArray extends NSObject { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_157( + final _ret = _objc_msgSend_160( _class_NSArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5226,7 +5308,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_156( + final _ret = _objc_msgSend_159( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5234,7 +5316,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_157( + final _ret = _objc_msgSend_160( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5242,12 +5324,12 @@ class NSArray extends NSObject { } bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { - return _objc_msgSend_37(this.pointer, _sel_writeToFile_atomically_, + return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_158( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -5270,7 +5352,7 @@ class NSArray extends NSObject { late final _class_NSArray = objc.getClass("NSArray"); late final _sel_count = objc.registerName("count"); late final _sel_objectAtIndex_ = objc.registerName("objectAtIndex:"); -final _objc_msgSend_97 = objc.msgSendPointer +final _objc_msgSend_99 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5280,7 +5362,7 @@ final _objc_msgSend_97 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithObjects_count_ = objc.registerName("initWithObjects:count:"); -final _objc_msgSend_98 = objc.msgSendPointer +final _objc_msgSend_100 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -5296,7 +5378,7 @@ final _objc_msgSend_98 = objc.msgSendPointer int)>(); late final _sel_arrayByAddingObject_ = objc.registerName("arrayByAddingObject:"); -final _objc_msgSend_99 = objc.msgSendPointer +final _objc_msgSend_101 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5308,7 +5390,7 @@ final _objc_msgSend_99 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayByAddingObjectsFromArray_ = objc.registerName("arrayByAddingObjectsFromArray:"); -final _objc_msgSend_100 = objc.msgSendPointer +final _objc_msgSend_102 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5320,7 +5402,7 @@ final _objc_msgSend_100 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_componentsJoinedByString_ = objc.registerName("componentsJoinedByString:"); -final _objc_msgSend_101 = objc.msgSendPointer +final _objc_msgSend_103 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5333,7 +5415,7 @@ final _objc_msgSend_101 = objc.msgSendPointer late final _sel_containsObject_ = objc.registerName("containsObject:"); late final _sel_descriptionWithLocale_indent_ = objc.registerName("descriptionWithLocale:indent:"); -final _objc_msgSend_102 = objc.msgSendPointer +final _objc_msgSend_104 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5349,7 +5431,7 @@ final _objc_msgSend_102 = objc.msgSendPointer int)>(); late final _sel_firstObjectCommonWithArray_ = objc.registerName("firstObjectCommonWithArray:"); -final _objc_msgSend_103 = objc.msgSendPointer +final _objc_msgSend_105 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5360,7 +5442,7 @@ final _objc_msgSend_103 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_range_ = objc.registerName("getObjects:range:"); -final _objc_msgSend_104 = objc.msgSendPointer +final _objc_msgSend_106 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -5375,7 +5457,7 @@ final _objc_msgSend_104 = objc.msgSendPointer ffi.Pointer>, _NSRange)>(); late final _sel_indexOfObject_ = objc.registerName("indexOfObject:"); -final _objc_msgSend_105 = objc.msgSendPointer +final _objc_msgSend_107 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5387,7 +5469,7 @@ final _objc_msgSend_105 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexOfObject_inRange_ = objc.registerName("indexOfObject:inRange:"); -final _objc_msgSend_106 = objc.msgSendPointer +final _objc_msgSend_108 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5406,7 +5488,7 @@ late final _sel_indexOfObjectIdenticalTo_ = late final _sel_indexOfObjectIdenticalTo_inRange_ = objc.registerName("indexOfObjectIdenticalTo:inRange:"); late final _sel_isEqualToArray_ = objc.registerName("isEqualToArray:"); -final _objc_msgSend_107 = objc.msgSendPointer +final _objc_msgSend_109 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5440,15 +5522,15 @@ class NSEnumerator extends NSObject { } objc.ObjCObjectBase? nextObject() { - final _ret = _objc_msgSend_88(this.pointer, _sel_nextObject); + final _ret = _objc_msgSend_90(this.pointer, _sel_nextObject); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } - objc.ObjCObjectBase get allObjects { - final _ret = _objc_msgSend_2(this.pointer, _sel_allObjects); - return objc.ObjCObjectBase(_ret, retain: true, release: true); + NSArray get allObjects { + final _ret = _objc_msgSend_110(this.pointer, _sel_allObjects); + return NSArray.castFromPointer(_ret, retain: true, release: true); } @override @@ -5477,8 +5559,16 @@ class NSEnumerator extends NSObject { late final _class_NSEnumerator = objc.getClass("NSEnumerator"); late final _sel_nextObject = objc.registerName("nextObject"); late final _sel_allObjects = objc.registerName("allObjects"); +final _objc_msgSend_110 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); late final _sel_objectEnumerator = objc.registerName("objectEnumerator"); -final _objc_msgSend_108 = objc.msgSendPointer +final _objc_msgSend_111 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5491,7 +5581,7 @@ late final _sel_reverseObjectEnumerator = late final _sel_sortedArrayHint = objc.registerName("sortedArrayHint"); late final _sel_sortedArrayUsingFunction_context_ = objc.registerName("sortedArrayUsingFunction:context:"); -final _objc_msgSend_109 = objc.msgSendPointer +final _objc_msgSend_112 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5515,7 +5605,7 @@ final _objc_msgSend_109 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingFunction_context_hint_ = objc.registerName("sortedArrayUsingFunction:context:hint:"); -final _objc_msgSend_110 = objc.msgSendPointer +final _objc_msgSend_113 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5541,7 +5631,7 @@ final _objc_msgSend_110 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingSelector_ = objc.registerName("sortedArrayUsingSelector:"); -final _objc_msgSend_111 = objc.msgSendPointer +final _objc_msgSend_114 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5552,7 +5642,7 @@ final _objc_msgSend_111 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_subarrayWithRange_ = objc.registerName("subarrayWithRange:"); -final _objc_msgSend_112 = objc.msgSendPointer +final _objc_msgSend_115 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5561,7 +5651,7 @@ final _objc_msgSend_112 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_writeToURL_error_ = objc.registerName("writeToURL:error:"); -final _objc_msgSend_113 = objc.msgSendPointer +final _objc_msgSend_116 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5579,7 +5669,7 @@ late final _sel_makeObjectsPerformSelector_ = objc.registerName("makeObjectsPerformSelector:"); late final _sel_makeObjectsPerformSelector_withObject_ = objc.registerName("makeObjectsPerformSelector:withObject:"); -final _objc_msgSend_114 = objc.msgSendPointer +final _objc_msgSend_117 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -5620,65 +5710,65 @@ class NSIndexSet extends NSObject { static NSIndexSet indexSetWithIndex_(int value) { final _ret = - _objc_msgSend_97(_class_NSIndexSet, _sel_indexSetWithIndex_, value); + _objc_msgSend_99(_class_NSIndexSet, _sel_indexSetWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } static NSIndexSet indexSetWithIndexesInRange_(_NSRange range) { - final _ret = _objc_msgSend_115( + final _ret = _objc_msgSend_118( _class_NSIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexesInRange_(_NSRange range) { final _ret = - _objc_msgSend_115(this.pointer, _sel_initWithIndexesInRange_, range); + _objc_msgSend_118(this.pointer, _sel_initWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexSet_(NSIndexSet indexSet) { - final _ret = _objc_msgSend_116( + final _ret = _objc_msgSend_119( this.pointer, _sel_initWithIndexSet_, indexSet.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndex_(int value) { - final _ret = _objc_msgSend_97(this.pointer, _sel_initWithIndex_, value); + final _ret = _objc_msgSend_99(this.pointer, _sel_initWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } bool isEqualToIndexSet_(NSIndexSet indexSet) { - return _objc_msgSend_117( + return _objc_msgSend_120( this.pointer, _sel_isEqualToIndexSet_, indexSet.pointer); } int get count { - return _objc_msgSend_12(this.pointer, _sel_count); + return _objc_msgSend_11(this.pointer, _sel_count); } int get firstIndex { - return _objc_msgSend_12(this.pointer, _sel_firstIndex); + return _objc_msgSend_11(this.pointer, _sel_firstIndex); } int get lastIndex { - return _objc_msgSend_12(this.pointer, _sel_lastIndex); + return _objc_msgSend_11(this.pointer, _sel_lastIndex); } int indexGreaterThanIndex_(int value) { - return _objc_msgSend_118(this.pointer, _sel_indexGreaterThanIndex_, value); + return _objc_msgSend_121(this.pointer, _sel_indexGreaterThanIndex_, value); } int indexLessThanIndex_(int value) { - return _objc_msgSend_118(this.pointer, _sel_indexLessThanIndex_, value); + return _objc_msgSend_121(this.pointer, _sel_indexLessThanIndex_, value); } int indexGreaterThanOrEqualToIndex_(int value) { - return _objc_msgSend_118( + return _objc_msgSend_121( this.pointer, _sel_indexGreaterThanOrEqualToIndex_, value); } int indexLessThanOrEqualToIndex_(int value) { - return _objc_msgSend_118( + return _objc_msgSend_121( this.pointer, _sel_indexLessThanOrEqualToIndex_, value); } @@ -5686,47 +5776,47 @@ class NSIndexSet extends NSObject { ffi.Pointer indexBuffer, int bufferSize, ffi.Pointer<_NSRange> range) { - return _objc_msgSend_119(this.pointer, + return _objc_msgSend_122(this.pointer, _sel_getIndexes_maxCount_inIndexRange_, indexBuffer, bufferSize, range); } int countOfIndexesInRange_(_NSRange range) { - return _objc_msgSend_120(this.pointer, _sel_countOfIndexesInRange_, range); + return _objc_msgSend_123(this.pointer, _sel_countOfIndexesInRange_, range); } bool containsIndex_(int value) { - return _objc_msgSend_121(this.pointer, _sel_containsIndex_, value); + return _objc_msgSend_124(this.pointer, _sel_containsIndex_, value); } bool containsIndexesInRange_(_NSRange range) { - return _objc_msgSend_122(this.pointer, _sel_containsIndexesInRange_, range); + return _objc_msgSend_125(this.pointer, _sel_containsIndexesInRange_, range); } bool containsIndexes_(NSIndexSet indexSet) { - return _objc_msgSend_117( + return _objc_msgSend_120( this.pointer, _sel_containsIndexes_, indexSet.pointer); } bool intersectsIndexesInRange_(_NSRange range) { - return _objc_msgSend_122( + return _objc_msgSend_125( this.pointer, _sel_intersectsIndexesInRange_, range); } void enumerateIndexesUsingBlock_( ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_123( + _objc_msgSend_126( this.pointer, _sel_enumerateIndexesUsingBlock_, block.pointer); } void enumerateIndexesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_124(this.pointer, + _objc_msgSend_127(this.pointer, _sel_enumerateIndexesWithOptions_usingBlock_, opts, block.pointer); } void enumerateIndexesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_125( + _objc_msgSend_128( this.pointer, _sel_enumerateIndexesInRange_options_usingBlock_, range, @@ -5735,39 +5825,39 @@ class NSIndexSet extends NSObject { } int indexPassingTest_(ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_126( + return _objc_msgSend_129( this.pointer, _sel_indexPassingTest_, predicate.pointer); } int indexWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_127(this.pointer, _sel_indexWithOptions_passingTest_, + return _objc_msgSend_130(this.pointer, _sel_indexWithOptions_passingTest_, opts, predicate.pointer); } int indexInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_128(this.pointer, + return _objc_msgSend_131(this.pointer, _sel_indexInRange_options_passingTest_, range, opts, predicate.pointer); } NSIndexSet indexesPassingTest_( ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_129( + final _ret = _objc_msgSend_132( this.pointer, _sel_indexesPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_130(this.pointer, + final _ret = _objc_msgSend_133(this.pointer, _sel_indexesWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_131( + final _ret = _objc_msgSend_134( this.pointer, _sel_indexesInRange_options_passingTest_, range, @@ -5777,19 +5867,19 @@ class NSIndexSet extends NSObject { } void enumerateRangesUsingBlock_(ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_132( + _objc_msgSend_135( this.pointer, _sel_enumerateRangesUsingBlock_, block.pointer); } void enumerateRangesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_133(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, + _objc_msgSend_136(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, opts, block.pointer); } void enumerateRangesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_134( + _objc_msgSend_137( this.pointer, _sel_enumerateRangesInRange_options_usingBlock_, range, @@ -5824,7 +5914,7 @@ late final _sel_indexSet = objc.registerName("indexSet"); late final _sel_indexSetWithIndex_ = objc.registerName("indexSetWithIndex:"); late final _sel_indexSetWithIndexesInRange_ = objc.registerName("indexSetWithIndexesInRange:"); -final _objc_msgSend_115 = objc.msgSendPointer +final _objc_msgSend_118 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -5835,7 +5925,7 @@ final _objc_msgSend_115 = objc.msgSendPointer late final _sel_initWithIndexesInRange_ = objc.registerName("initWithIndexesInRange:"); late final _sel_initWithIndexSet_ = objc.registerName("initWithIndexSet:"); -final _objc_msgSend_116 = objc.msgSendPointer +final _objc_msgSend_119 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -5847,7 +5937,7 @@ final _objc_msgSend_116 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithIndex_ = objc.registerName("initWithIndex:"); late final _sel_isEqualToIndexSet_ = objc.registerName("isEqualToIndexSet:"); -final _objc_msgSend_117 = objc.msgSendPointer +final _objc_msgSend_120 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5861,7 +5951,7 @@ late final _sel_firstIndex = objc.registerName("firstIndex"); late final _sel_lastIndex = objc.registerName("lastIndex"); late final _sel_indexGreaterThanIndex_ = objc.registerName("indexGreaterThanIndex:"); -final _objc_msgSend_118 = objc.msgSendPointer +final _objc_msgSend_121 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5876,7 +5966,7 @@ late final _sel_indexLessThanOrEqualToIndex_ = objc.registerName("indexLessThanOrEqualToIndex:"); late final _sel_getIndexes_maxCount_inIndexRange_ = objc.registerName("getIndexes:maxCount:inIndexRange:"); -final _objc_msgSend_119 = objc.msgSendPointer +final _objc_msgSend_122 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5894,7 +5984,7 @@ final _objc_msgSend_119 = objc.msgSendPointer ffi.Pointer<_NSRange>)>(); late final _sel_countOfIndexesInRange_ = objc.registerName("countOfIndexesInRange:"); -final _objc_msgSend_120 = objc.msgSendPointer +final _objc_msgSend_123 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5903,7 +5993,7 @@ final _objc_msgSend_120 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_containsIndex_ = objc.registerName("containsIndex:"); -final _objc_msgSend_121 = objc.msgSendPointer +final _objc_msgSend_124 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -5913,7 +6003,7 @@ final _objc_msgSend_121 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_containsIndexesInRange_ = objc.registerName("containsIndexesInRange:"); -final _objc_msgSend_122 = objc.msgSendPointer +final _objc_msgSend_125 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -6027,7 +6117,7 @@ class ObjCBlock_ffiVoid_ffiUnsignedLong_bool extends objc.ObjCBlockBase { late final _sel_enumerateIndexesUsingBlock_ = objc.registerName("enumerateIndexesUsingBlock:"); -final _objc_msgSend_123 = objc.msgSendPointer +final _objc_msgSend_126 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6043,7 +6133,7 @@ abstract class NSEnumerationOptions { late final _sel_enumerateIndexesWithOptions_usingBlock_ = objc.registerName("enumerateIndexesWithOptions:usingBlock:"); -final _objc_msgSend_124 = objc.msgSendPointer +final _objc_msgSend_127 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6059,7 +6149,7 @@ final _objc_msgSend_124 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateIndexesInRange_options_usingBlock_ = objc.registerName("enumerateIndexesInRange:options:usingBlock:"); -final _objc_msgSend_125 = objc.msgSendPointer +final _objc_msgSend_128 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6155,7 +6245,7 @@ class ObjCBlock_bool_ffiUnsignedLong_bool extends objc.ObjCBlockBase { } late final _sel_indexPassingTest_ = objc.registerName("indexPassingTest:"); -final _objc_msgSend_126 = objc.msgSendPointer +final _objc_msgSend_129 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6165,7 +6255,7 @@ final _objc_msgSend_126 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexWithOptions_passingTest_ = objc.registerName("indexWithOptions:passingTest:"); -final _objc_msgSend_127 = objc.msgSendPointer +final _objc_msgSend_130 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6181,7 +6271,7 @@ final _objc_msgSend_127 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexInRange_options_passingTest_ = objc.registerName("indexInRange:options:passingTest:"); -final _objc_msgSend_128 = objc.msgSendPointer +final _objc_msgSend_131 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6198,7 +6288,7 @@ final _objc_msgSend_128 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_indexesPassingTest_ = objc.registerName("indexesPassingTest:"); -final _objc_msgSend_129 = objc.msgSendPointer +final _objc_msgSend_132 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6208,7 +6298,7 @@ final _objc_msgSend_129 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesWithOptions_passingTest_ = objc.registerName("indexesWithOptions:passingTest:"); -final _objc_msgSend_130 = objc.msgSendPointer +final _objc_msgSend_133 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6224,7 +6314,7 @@ final _objc_msgSend_130 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesInRange_options_passingTest_ = objc.registerName("indexesInRange:options:passingTest:"); -final _objc_msgSend_131 = objc.msgSendPointer +final _objc_msgSend_134 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6343,7 +6433,7 @@ class ObjCBlock_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { late final _sel_enumerateRangesUsingBlock_ = objc.registerName("enumerateRangesUsingBlock:"); -final _objc_msgSend_132 = objc.msgSendPointer +final _objc_msgSend_135 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6353,7 +6443,7 @@ final _objc_msgSend_132 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateRangesWithOptions_usingBlock_ = objc.registerName("enumerateRangesWithOptions:usingBlock:"); -final _objc_msgSend_133 = objc.msgSendPointer +final _objc_msgSend_136 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6369,7 +6459,7 @@ final _objc_msgSend_133 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateRangesInRange_options_usingBlock_ = objc.registerName("enumerateRangesInRange:options:usingBlock:"); -final _objc_msgSend_134 = objc.msgSendPointer +final _objc_msgSend_137 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6386,7 +6476,7 @@ final _objc_msgSend_134 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_objectsAtIndexes_ = objc.registerName("objectsAtIndexes:"); -final _objc_msgSend_135 = objc.msgSendPointer +final _objc_msgSend_138 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6532,7 +6622,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool late final _sel_enumerateObjectsUsingBlock_ = objc.registerName("enumerateObjectsUsingBlock:"); -final _objc_msgSend_136 = objc.msgSendPointer +final _objc_msgSend_139 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6542,7 +6632,7 @@ final _objc_msgSend_136 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateObjectsWithOptions_usingBlock_ = objc.registerName("enumerateObjectsWithOptions:usingBlock:"); -final _objc_msgSend_137 = objc.msgSendPointer +final _objc_msgSend_140 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6558,7 +6648,7 @@ final _objc_msgSend_137 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateObjectsAtIndexes_options_usingBlock_ = objc.registerName("enumerateObjectsAtIndexes:options:usingBlock:"); -final _objc_msgSend_138 = objc.msgSendPointer +final _objc_msgSend_141 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6677,7 +6767,7 @@ class ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool late final _sel_indexOfObjectPassingTest_ = objc.registerName("indexOfObjectPassingTest:"); -final _objc_msgSend_139 = objc.msgSendPointer +final _objc_msgSend_142 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6687,7 +6777,7 @@ final _objc_msgSend_139 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexOfObjectWithOptions_passingTest_ = objc.registerName("indexOfObjectWithOptions:passingTest:"); -final _objc_msgSend_140 = objc.msgSendPointer +final _objc_msgSend_143 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6703,7 +6793,7 @@ final _objc_msgSend_140 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexOfObjectAtIndexes_options_passingTest_ = objc.registerName("indexOfObjectAtIndexes:options:passingTest:"); -final _objc_msgSend_141 = objc.msgSendPointer +final _objc_msgSend_144 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6721,7 +6811,7 @@ final _objc_msgSend_141 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsPassingTest_ = objc.registerName("indexesOfObjectsPassingTest:"); -final _objc_msgSend_142 = objc.msgSendPointer +final _objc_msgSend_145 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6731,7 +6821,7 @@ final _objc_msgSend_142 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesOfObjectsWithOptions_passingTest_ = objc.registerName("indexesOfObjectsWithOptions:passingTest:"); -final _objc_msgSend_143 = objc.msgSendPointer +final _objc_msgSend_146 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6747,7 +6837,7 @@ final _objc_msgSend_143 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsAtIndexes_options_passingTest_ = objc.registerName("indexesOfObjectsAtIndexes:options:passingTest:"); -final _objc_msgSend_144 = objc.msgSendPointer +final _objc_msgSend_147 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6859,7 +6949,7 @@ class ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject late final _sel_sortedArrayUsingComparator_ = objc.registerName("sortedArrayUsingComparator:"); -final _objc_msgSend_145 = objc.msgSendPointer +final _objc_msgSend_148 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6875,7 +6965,7 @@ abstract class NSSortOptions { late final _sel_sortedArrayWithOptions_usingComparator_ = objc.registerName("sortedArrayWithOptions:usingComparator:"); -final _objc_msgSend_146 = objc.msgSendPointer +final _objc_msgSend_149 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6898,7 +6988,7 @@ abstract class NSBinarySearchingOptions { late final _sel_indexOfObject_inSortedRange_options_usingComparator_ = objc.registerName("indexOfObject:inSortedRange:options:usingComparator:"); -final _objc_msgSend_147 = objc.msgSendPointer +final _objc_msgSend_150 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6918,7 +7008,7 @@ final _objc_msgSend_147 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_array = objc.registerName("array"); late final _sel_arrayWithObject_ = objc.registerName("arrayWithObject:"); -final _objc_msgSend_148 = objc.msgSendPointer +final _objc_msgSend_151 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -6932,7 +7022,7 @@ late final _sel_arrayWithObjects_count_ = objc.registerName("arrayWithObjects:count:"); late final _sel_arrayWithObjects_ = objc.registerName("arrayWithObjects:"); late final _sel_arrayWithArray_ = objc.registerName("arrayWithArray:"); -final _objc_msgSend_149 = objc.msgSendPointer +final _objc_msgSend_152 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -6946,7 +7036,7 @@ late final _sel_initWithObjects_ = objc.registerName("initWithObjects:"); late final _sel_initWithArray_ = objc.registerName("initWithArray:"); late final _sel_initWithArray_copyItems_ = objc.registerName("initWithArray:copyItems:"); -final _objc_msgSend_150 = objc.msgSendPointer +final _objc_msgSend_153 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -6962,7 +7052,7 @@ final _objc_msgSend_150 = objc.msgSendPointer bool)>(); late final _sel_initWithContentsOfURL_error_ = objc.registerName("initWithContentsOfURL:error:"); -final _objc_msgSend_151 = objc.msgSendPointer +final _objc_msgSend_154 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7083,7 +7173,7 @@ class ObjCBlock_bool_objcObjCObject_objcObjCObject extends objc.ObjCBlockBase { late final _sel_differenceFromArray_withOptions_usingEquivalenceTest_ = objc.registerName("differenceFromArray:withOptions:usingEquivalenceTest:"); -final _objc_msgSend_152 = objc.msgSendPointer +final _objc_msgSend_155 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7101,7 +7191,7 @@ final _objc_msgSend_152 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_differenceFromArray_withOptions_ = objc.registerName("differenceFromArray:withOptions:"); -final _objc_msgSend_153 = objc.msgSendPointer +final _objc_msgSend_156 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7119,7 +7209,7 @@ late final _sel_differenceFromArray_ = objc.registerName("differenceFromArray:"); late final _sel_arrayByApplyingDifference_ = objc.registerName("arrayByApplyingDifference:"); -final _objc_msgSend_154 = objc.msgSendPointer +final _objc_msgSend_157 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7130,7 +7220,7 @@ final _objc_msgSend_154 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_ = objc.registerName("getObjects:"); -final _objc_msgSend_155 = objc.msgSendPointer +final _objc_msgSend_158 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7144,7 +7234,7 @@ final _objc_msgSend_155 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_arrayWithContentsOfFile_ = objc.registerName("arrayWithContentsOfFile:"); -final _objc_msgSend_156 = objc.msgSendPointer +final _objc_msgSend_159 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7156,7 +7246,7 @@ final _objc_msgSend_156 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayWithContentsOfURL_ = objc.registerName("arrayWithContentsOfURL:"); -final _objc_msgSend_157 = objc.msgSendPointer +final _objc_msgSend_160 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7172,7 +7262,7 @@ late final _sel_initWithContentsOfURL_ = objc.registerName("initWithContentsOfURL:"); late final _sel_writeToURL_atomically_ = objc.registerName("writeToURL:atomically:"); -final _objc_msgSend_158 = objc.msgSendPointer +final _objc_msgSend_161 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7188,7 +7278,7 @@ final _objc_msgSend_158 = objc.msgSendPointer bool)>(); late final _sel_resourceValuesForKeys_error_ = objc.registerName("resourceValuesForKeys:error:"); -final _objc_msgSend_159 = objc.msgSendPointer +final _objc_msgSend_162 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7204,7 +7294,7 @@ final _objc_msgSend_159 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValue_forKey_error_ = objc.registerName("setResourceValue:forKey:error:"); -final _objc_msgSend_160 = objc.msgSendPointer +final _objc_msgSend_163 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7222,7 +7312,7 @@ final _objc_msgSend_160 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValues_error_ = objc.registerName("setResourceValues:error:"); -final _objc_msgSend_161 = objc.msgSendPointer +final _objc_msgSend_164 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7238,7 +7328,7 @@ final _objc_msgSend_161 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_removeCachedResourceValueForKey_ = objc.registerName("removeCachedResourceValueForKey:"); -final _objc_msgSend_162 = objc.msgSendPointer +final _objc_msgSend_165 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7252,7 +7342,7 @@ late final _sel_removeAllCachedResourceValues = objc.registerName("removeAllCachedResourceValues"); late final _sel_setTemporaryResourceValue_forKey_ = objc.registerName("setTemporaryResourceValue:forKey:"); -final _objc_msgSend_163 = objc.msgSendPointer +final _objc_msgSend_166 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7280,7 +7370,7 @@ abstract class NSURLBookmarkCreationOptions { late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_ = objc.registerName( "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); -final _objc_msgSend_164 = objc.msgSendPointer +final _objc_msgSend_167 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7309,7 +7399,7 @@ abstract class NSURLBookmarkResolutionOptions { late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_ = objc.registerName( "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); -final _objc_msgSend_165 = objc.msgSendPointer +final _objc_msgSend_168 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7334,7 +7424,7 @@ late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsS "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); late final _sel_resourceValuesForKeys_fromBookmarkData_ = objc.registerName("resourceValuesForKeys:fromBookmarkData:"); -final _objc_msgSend_166 = objc.msgSendPointer +final _objc_msgSend_169 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7350,7 +7440,7 @@ final _objc_msgSend_166 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_writeBookmarkData_toURL_options_error_ = objc.registerName("writeBookmarkData:toURL:options:error:"); -final _objc_msgSend_167 = objc.msgSendPointer +final _objc_msgSend_170 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7370,7 +7460,7 @@ final _objc_msgSend_167 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_bookmarkDataWithContentsOfURL_error_ = objc.registerName("bookmarkDataWithContentsOfURL:error:"); -final _objc_msgSend_168 = objc.msgSendPointer +final _objc_msgSend_171 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7386,7 +7476,7 @@ final _objc_msgSend_168 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_URLByResolvingAliasFileAtURL_options_error_ = objc.registerName("URLByResolvingAliasFileAtURL:options:error:"); -final _objc_msgSend_169 = objc.msgSendPointer +final _objc_msgSend_172 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7430,19 +7520,19 @@ class NSDictionary extends NSObject { } int get count { - return _objc_msgSend_12(this.pointer, _sel_count); + return _objc_msgSend_11(this.pointer, _sel_count); } objc.ObjCObjectBase? objectForKey_(objc.ObjCObjectBase aKey) { final _ret = - _objc_msgSend_170(this.pointer, _sel_objectForKey_, aKey.pointer); + _objc_msgSend_173(this.pointer, _sel_objectForKey_, aKey.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } NSEnumerator keyEnumerator() { - final _ret = _objc_msgSend_108(this.pointer, _sel_keyEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_keyEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -7456,55 +7546,55 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_171( + final _ret = _objc_msgSend_174( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSArray get allKeys { - final _ret = _objc_msgSend_172(this.pointer, _sel_allKeys); + final _ret = _objc_msgSend_110(this.pointer, _sel_allKeys); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray allKeysForObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_99( + final _ret = _objc_msgSend_101( this.pointer, _sel_allKeysForObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray get allValues { - final _ret = _objc_msgSend_172(this.pointer, _sel_allValues); + final _ret = _objc_msgSend_110(this.pointer, _sel_allValues); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); + final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString get descriptionInStringsFileFormat { final _ret = - _objc_msgSend_32(this.pointer, _sel_descriptionInStringsFileFormat); + _objc_msgSend_35(this.pointer, _sel_descriptionInStringsFileFormat); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_83(this.pointer, _sel_descriptionWithLocale_, + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { - final _ret = _objc_msgSend_102( + final _ret = _objc_msgSend_104( this.pointer, _sel_descriptionWithLocale_indent_, locale?.pointer ?? ffi.nullptr, @@ -7513,31 +7603,31 @@ class NSDictionary extends NSObject { } bool isEqualToDictionary_(NSDictionary otherDictionary) { - return _objc_msgSend_173( + return _objc_msgSend_175( this.pointer, _sel_isEqualToDictionary_, otherDictionary.pointer); } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_108(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSArray objectsForKeys_notFoundMarker_( NSArray keys, objc.ObjCObjectBase marker) { - final _ret = _objc_msgSend_174(this.pointer, + final _ret = _objc_msgSend_176(this.pointer, _sel_objectsForKeys_notFoundMarker_, keys.pointer, marker.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_113( + return _objc_msgSend_116( this.pointer, _sel_writeToURL_error_, url.pointer, error); } NSArray keysSortedByValueUsingSelector_( ffi.Pointer comparator) { - final _ret = _objc_msgSend_111( + final _ret = _objc_msgSend_114( this.pointer, _sel_keysSortedByValueUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7546,12 +7636,12 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int count) { - _objc_msgSend_175( + _objc_msgSend_177( this.pointer, _sel_getObjects_andKeys_count_, objects, keys, count); } objc.ObjCObjectBase? objectForKeyedSubscript_(objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_170( + final _ret = _objc_msgSend_173( this.pointer, _sel_objectForKeyedSubscript_, key.pointer); return _ret.address == 0 ? null @@ -7560,13 +7650,13 @@ class NSDictionary extends NSObject { void enumerateKeysAndObjectsUsingBlock_( ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_176( + _objc_msgSend_178( this.pointer, _sel_enumerateKeysAndObjectsUsingBlock_, block.pointer); } void enumerateKeysAndObjectsWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_177( + _objc_msgSend_179( this.pointer, _sel_enumerateKeysAndObjectsWithOptions_usingBlock_, opts, @@ -7575,14 +7665,14 @@ class NSDictionary extends NSObject { NSArray keysSortedByValueUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_145( + final _ret = _objc_msgSend_148( this.pointer, _sel_keysSortedByValueUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray keysSortedByValueWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_146( + final _ret = _objc_msgSend_149( this.pointer, _sel_keysSortedByValueWithOptions_usingComparator_, opts, @@ -7590,27 +7680,27 @@ class NSDictionary extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } - objc.ObjCObjectBase keysOfEntriesPassingTest_( + NSSet keysOfEntriesPassingTest_( ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_178( + final _ret = _objc_msgSend_190( this.pointer, _sel_keysOfEntriesPassingTest_, predicate.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); + return NSSet.castFromPointer(_ret, retain: true, release: true); } - objc.ObjCObjectBase keysOfEntriesWithOptions_passingTest_( + NSSet keysOfEntriesWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_179(this.pointer, + final _ret = _objc_msgSend_191(this.pointer, _sel_keysOfEntriesWithOptions_passingTest_, opts, predicate.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); + return NSSet.castFromPointer(_ret, retain: true, release: true); } void getObjects_andKeys_(ffi.Pointer> objects, ffi.Pointer> keys) { - _objc_msgSend_180(this.pointer, _sel_getObjects_andKeys_, objects, keys); + _objc_msgSend_192(this.pointer, _sel_getObjects_andKeys_, objects, keys); } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_181( + final _ret = _objc_msgSend_193( _class_NSDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7618,7 +7708,7 @@ class NSDictionary extends NSObject { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_182( + final _ret = _objc_msgSend_194( _class_NSDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7626,7 +7716,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_181( + final _ret = _objc_msgSend_193( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7634,7 +7724,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_182( + final _ret = _objc_msgSend_194( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7642,12 +7732,12 @@ class NSDictionary extends NSObject { } bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { - return _objc_msgSend_37(this.pointer, _sel_writeToFile_atomically_, + return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_158( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -7658,7 +7748,7 @@ class NSDictionary extends NSObject { static NSDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_183(_class_NSDictionary, + final _ret = _objc_msgSend_195(_class_NSDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7667,59 +7757,59 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_171(_class_NSDictionary, + final _ret = _objc_msgSend_174(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_148(_class_NSDictionary, + final _ret = _objc_msgSend_151(_class_NSDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_184( + final _ret = _objc_msgSend_196( _class_NSDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_185(_class_NSDictionary, + final _ret = _objc_msgSend_197(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_184( + final _ret = _objc_msgSend_196( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_186(this.pointer, + final _ret = _objc_msgSend_198(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } NSDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_185(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_197(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_187( + final _ret = _objc_msgSend_199( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7728,7 +7818,7 @@ class NSDictionary extends NSObject { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_187(_class_NSDictionary, + final _ret = _objc_msgSend_199(_class_NSDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7736,7 +7826,7 @@ class NSDictionary extends NSObject { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_149( + final _ret = _objc_msgSend_152( _class_NSDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -7745,7 +7835,7 @@ class NSDictionary extends NSObject { ffi.Pointer state, ffi.Pointer> buffer, int len) { - return _objc_msgSend_188(this.pointer, + return _objc_msgSend_200(this.pointer, _sel_countByEnumeratingWithState_objects_count_, state, buffer, len); } @@ -7768,7 +7858,7 @@ class NSDictionary extends NSObject { late final _class_NSDictionary = objc.getClass("NSDictionary"); late final _sel_objectForKey_ = objc.registerName("objectForKey:"); -final _objc_msgSend_170 = objc.msgSendPointer +final _objc_msgSend_173 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7781,7 +7871,7 @@ final _objc_msgSend_170 = objc.msgSendPointer late final _sel_keyEnumerator = objc.registerName("keyEnumerator"); late final _sel_initWithObjects_forKeys_count_ = objc.registerName("initWithObjects:forKeys:count:"); -final _objc_msgSend_171 = objc.msgSendPointer +final _objc_msgSend_174 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7798,21 +7888,13 @@ final _objc_msgSend_171 = objc.msgSendPointer ffi.Pointer>, int)>(); late final _sel_allKeys = objc.registerName("allKeys"); -final _objc_msgSend_172 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); late final _sel_allKeysForObject_ = objc.registerName("allKeysForObject:"); late final _sel_allValues = objc.registerName("allValues"); late final _sel_descriptionInStringsFileFormat = objc.registerName("descriptionInStringsFileFormat"); late final _sel_isEqualToDictionary_ = objc.registerName("isEqualToDictionary:"); -final _objc_msgSend_173 = objc.msgSendPointer +final _objc_msgSend_175 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7824,7 +7906,7 @@ final _objc_msgSend_173 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_objectsForKeys_notFoundMarker_ = objc.registerName("objectsForKeys:notFoundMarker:"); -final _objc_msgSend_174 = objc.msgSendPointer +final _objc_msgSend_176 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7842,7 +7924,7 @@ late final _sel_keysSortedByValueUsingSelector_ = objc.registerName("keysSortedByValueUsingSelector:"); late final _sel_getObjects_andKeys_count_ = objc.registerName("getObjects:andKeys:count:"); -final _objc_msgSend_175 = objc.msgSendPointer +final _objc_msgSend_177 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8005,7 +8087,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool late final _sel_enumerateKeysAndObjectsUsingBlock_ = objc.registerName("enumerateKeysAndObjectsUsingBlock:"); -final _objc_msgSend_176 = objc.msgSendPointer +final _objc_msgSend_178 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -8015,7 +8097,7 @@ final _objc_msgSend_176 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateKeysAndObjectsWithOptions_usingBlock_ = objc.registerName("enumerateKeysAndObjectsWithOptions:usingBlock:"); -final _objc_msgSend_177 = objc.msgSendPointer +final _objc_msgSend_179 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8033,158 +8115,251 @@ late final _sel_keysSortedByValueUsingComparator_ = objc.registerName("keysSortedByValueUsingComparator:"); late final _sel_keysSortedByValueWithOptions_usingComparator_ = objc.registerName("keysSortedByValueWithOptions:usingComparator:"); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1, arg2); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); -class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool - extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); +class NSSet extends NSObject { + NSSet._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } + /// Constructs a [NSSet] that points to the same underlying object as [other]. + NSSet.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline, - false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; + /// Constructs a [NSSet] that wraps the given raw object pointer. + NSSet.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunction( - bool Function( - objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) - fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1, ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); - static ffi.Pointer? _dartFuncTrampoline; + /// Returns whether [obj] is an instance of [NSSet]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSSet); + } - bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer, arg2); -} + int get count { + return _objc_msgSend_11(this.pointer, _sel_count); + } -late final _sel_keysOfEntriesPassingTest_ = - objc.registerName("keysOfEntriesPassingTest:"); -final _objc_msgSend_178 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_keysOfEntriesWithOptions_passingTest_ = - objc.registerName("keysOfEntriesWithOptions:passingTest:"); -final _objc_msgSend_179 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); + objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { + final _ret = _objc_msgSend_173(this.pointer, _sel_member_, object.pointer); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + NSEnumerator objectEnumerator() { + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); + return NSEnumerator.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSSet init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + this.pointer, _sel_initWithObjects_count_, objects, cnt); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet? initWithCoder_(NSCoder coder) { + final _ret = + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); + return _ret.address == 0 + ? null + : NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSArray get allObjects { + final _ret = _objc_msgSend_110(this.pointer, _sel_allObjects); + return NSArray.castFromPointer(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase? anyObject() { + final _ret = _objc_msgSend_90(this.pointer, _sel_anyObject); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + bool containsObject_(objc.ObjCObjectBase anObject) { + return _objc_msgSend_0( + this.pointer, _sel_containsObject_, anObject.pointer); + } + + NSString get description { + final _ret = _objc_msgSend_35(this.pointer, _sel_description); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, + locale?.pointer ?? ffi.nullptr); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + bool intersectsSet_(NSSet otherSet) { + return _objc_msgSend_180( + this.pointer, _sel_intersectsSet_, otherSet.pointer); + } + + bool isEqualToSet_(NSSet otherSet) { + return _objc_msgSend_180( + this.pointer, _sel_isEqualToSet_, otherSet.pointer); + } + + bool isSubsetOfSet_(NSSet otherSet) { + return _objc_msgSend_180( + this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); + } + + void makeObjectsPerformSelector_(ffi.Pointer aSelector) { + _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); + } + + void makeObjectsPerformSelector_withObject_( + ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { + _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + aSelector, argument?.pointer ?? ffi.nullptr); + } + + NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { + final _ret = _objc_msgSend_181( + this.pointer, _sel_setByAddingObject_, anObject.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet setByAddingObjectsFromSet_(NSSet other) { + final _ret = _objc_msgSend_182( + this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet setByAddingObjectsFromArray_(NSArray other) { + final _ret = _objc_msgSend_183( + this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + void enumerateObjectsUsingBlock_( + ObjCBlock_ffiVoid_objcObjCObject_bool block) { + _objc_msgSend_184( + this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); + } + + void enumerateObjectsWithOptions_usingBlock_( + int opts, ObjCBlock_ffiVoid_objcObjCObject_bool block) { + _objc_msgSend_185(this.pointer, + _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); + } + + NSSet objectsPassingTest_(ObjCBlock_bool_objcObjCObject_bool predicate) { + final _ret = _objc_msgSend_186( + this.pointer, _sel_objectsPassingTest_, predicate.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet objectsWithOptions_passingTest_( + int opts, ObjCBlock_bool_objcObjCObject_bool predicate) { + final _ret = _objc_msgSend_187(this.pointer, + _sel_objectsWithOptions_passingTest_, opts, predicate.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet set1() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_set); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObject_(objc.ObjCObjectBase object) { + final _ret = + _objc_msgSend_151(_class_NSSet, _sel_setWithObject_, object.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + _class_NSSet, _sel_setWithObjects_count_, objects, cnt); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = + _objc_msgSend_151(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithSet_(NSSet set) { + final _ret = _objc_msgSend_188(_class_NSSet, _sel_setWithSet_, set.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithArray_(NSArray array) { + final _ret = + _objc_msgSend_152(_class_NSSet, _sel_setWithArray_, array.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = _objc_msgSend_151( + this.pointer, _sel_initWithObjects_, firstObj.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithSet_(NSSet set) { + final _ret = + _objc_msgSend_188(this.pointer, _sel_initWithSet_, set.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithSet_copyItems_(NSSet set, bool flag) { + final _ret = _objc_msgSend_189( + this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + NSSet initWithArray_(NSArray array) { + final _ret = + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet new1() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_new); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + static NSSet allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSSet, _sel_allocWithZone_, zone); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + static NSSet alloc() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_alloc); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } +} + +late final _class_NSSet = objc.getClass("NSSet"); +late final _sel_member_ = objc.registerName("member:"); +late final _sel_anyObject = objc.registerName("anyObject"); +late final _sel_intersectsSet_ = objc.registerName("intersectsSet:"); final _objc_msgSend_180 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>)>>() + ffi.Pointer)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>)>(); -late final _sel_dictionaryWithContentsOfFile_ = - objc.registerName("dictionaryWithContentsOfFile:"); + bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_isEqualToSet_ = objc.registerName("isEqualToSet:"); +late final _sel_isSubsetOfSet_ = objc.registerName("isSubsetOfSet:"); +late final _sel_setByAddingObject_ = objc.registerName("setByAddingObject:"); final _objc_msgSend_181 = objc.msgSendPointer .cast< ffi.NativeFunction< @@ -8195,8 +8370,8 @@ final _objc_msgSend_181 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithContentsOfURL_ = - objc.registerName("dictionaryWithContentsOfURL:"); +late final _sel_setByAddingObjectsFromSet_ = + objc.registerName("setByAddingObjectsFromSet:"); final _objc_msgSend_182 = objc.msgSendPointer .cast< ffi.NativeFunction< @@ -8207,505 +8382,475 @@ final _objc_msgSend_182 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionary = objc.registerName("dictionary"); -late final _sel_dictionaryWithObject_forKey_ = - objc.registerName("dictionaryWithObject:forKey:"); +late final _sel_setByAddingObjectsFromArray_ = + objc.registerName("setByAddingObjectsFromArray:"); final _objc_msgSend_183 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_dictionaryWithObjects_forKeys_count_ = - objc.registerName("dictionaryWithObjects:forKeys:count:"); -late final _sel_dictionaryWithObjectsAndKeys_ = - objc.registerName("dictionaryWithObjectsAndKeys:"); -late final _sel_dictionaryWithDictionary_ = - objc.registerName("dictionaryWithDictionary:"); -final _objc_msgSend_184 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function(ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithObjects_forKeys_ = - objc.registerName("dictionaryWithObjects:forKeys:"); -final _objc_msgSend_185 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_initWithObjectsAndKeys_ = - objc.registerName("initWithObjectsAndKeys:"); -late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); -late final _sel_initWithDictionary_copyItems_ = - objc.registerName("initWithDictionary:copyItems:"); -final _objc_msgSend_186 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_initWithObjects_forKeys_ = - objc.registerName("initWithObjects:forKeys:"); -final _objc_msgSend_187 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_dictionaryWithContentsOfURL_error_ = - objc.registerName("dictionaryWithContentsOfURL:error:"); -late final _sel_sharedKeySetForKeys_ = - objc.registerName("sharedKeySetForKeys:"); +void _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +void _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + (objc.getBlockClosure(block) as void Function( + ffi.Pointer, ffi.Pointer))(arg0, arg1); -final class NSFastEnumerationState extends ffi.Struct { - @ffi.UnsignedLong() - external int state; +class ObjCBlock_ffiVoid_objcObjCObject_bool extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_objcObjCObject_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) + : super(pointer, retain: retain, release: release); - external ffi.Pointer> itemsPtr; + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_ffiVoid_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_ffiVoid_objcObjCObject_bool._(pointer, + retain: retain, release: release); + } - external ffi.Pointer mutationsPtr; + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; - @ffi.Array.multi([5]) - external ffi.Array extra; + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunction( + void Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_objcObjCObject_bool.listener( + void Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(pointer, arg0.pointer, arg1); } -late final _sel_countByEnumeratingWithState_objects_count_ = - objc.registerName("countByEnumeratingWithState:objects:count:"); -final _objc_msgSend_188 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.UnsignedLong)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - int)>(); -late final _sel_promisedItemResourceValuesForKeys_error_ = - objc.registerName("promisedItemResourceValuesForKeys:error:"); -final _objc_msgSend_189 = objc.msgSendPointer +final _objc_msgSend_184 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_checkPromisedItemIsReachableAndReturnError_ = - objc.registerName("checkPromisedItemIsReachableAndReturnError:"); -final _objc_msgSend_190 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +final _objc_msgSend_185 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< - bool Function( + void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_fileURLWithPathComponents_ = - objc.registerName("fileURLWithPathComponents:"); -final _objc_msgSend_191 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_pathComponents = objc.registerName("pathComponents"); -final _objc_msgSend_192 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_lastPathComponent = objc.registerName("lastPathComponent"); -late final _sel_pathExtension = objc.registerName("pathExtension"); -late final _sel_URLByAppendingPathComponent_ = - objc.registerName("URLByAppendingPathComponent:"); -final _objc_msgSend_193 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + int, + ffi.Pointer)>(); +bool _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +bool _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + (objc.getBlockClosure(block) as bool Function( + ffi.Pointer, ffi.Pointer))(arg0, arg1); + +class ObjCBlock_bool_objcObjCObject_bool extends objc.ObjCBlockBase { + ObjCBlock_bool_objcObjCObject_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) + : super(pointer, retain: retain, release: release); + + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_bool_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_bool_objcObjCObject_bool._(pointer, + retain: retain, release: release); + } + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline, false) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_bool.fromFunction( + bool Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline, false) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.Pointer? _dartFuncTrampoline; + + bool call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(pointer, arg0.pointer, arg1); +} + +late final _sel_objectsPassingTest_ = objc.registerName("objectsPassingTest:"); +final _objc_msgSend_186 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_URLByAppendingPathComponent_isDirectory_ = - objc.registerName("URLByAppendingPathComponent:isDirectory:"); -final _objc_msgSend_194 = objc.msgSendPointer + ffi.Pointer, ffi.Pointer)>(); +late final _sel_objectsWithOptions_passingTest_ = + objc.registerName("objectsWithOptions:passingTest:"); +final _objc_msgSend_187 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_URLByDeletingLastPathComponent = - objc.registerName("URLByDeletingLastPathComponent"); -late final _sel_URLByAppendingPathExtension_ = - objc.registerName("URLByAppendingPathExtension:"); -late final _sel_URLByDeletingPathExtension = - objc.registerName("URLByDeletingPathExtension"); -late final _sel_checkResourceIsReachableAndReturnError_ = - objc.registerName("checkResourceIsReachableAndReturnError:"); -late final _sel_URLByStandardizingPath = - objc.registerName("URLByStandardizingPath"); -late final _sel_URLByResolvingSymlinksInPath = - objc.registerName("URLByResolvingSymlinksInPath"); -late final _sel_resourceDataUsingCache_ = - objc.registerName("resourceDataUsingCache:"); -final _objc_msgSend_195 = objc.msgSendPointer + int, + ffi.Pointer)>(); +late final _sel_set = objc.registerName("set"); +late final _sel_setWithObject_ = objc.registerName("setWithObject:"); +late final _sel_setWithObjects_count_ = + objc.registerName("setWithObjects:count:"); +late final _sel_setWithObjects_ = objc.registerName("setWithObjects:"); +late final _sel_setWithSet_ = objc.registerName("setWithSet:"); +final _objc_msgSend_188 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Bool)>>() + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, bool)>(); -late final _sel_loadResourceDataNotifyingClient_usingCache_ = - objc.registerName("loadResourceDataNotifyingClient:usingCache:"); -final _objc_msgSend_196 = objc.msgSendPointer + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_setWithArray_ = objc.registerName("setWithArray:"); +late final _sel_initWithSet_ = objc.registerName("initWithSet:"); +late final _sel_initWithSet_copyItems_ = + objc.registerName("initWithSet:copyItems:"); +final _objc_msgSend_189 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Bool)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, bool)>(); -late final _sel_propertyForKey_ = objc.registerName("propertyForKey:"); -late final _sel_setResourceData_ = objc.registerName("setResourceData:"); -late final _sel_setProperty_forKey_ = objc.registerName("setProperty:forKey:"); -final _objc_msgSend_197 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( +bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>>() + .asFunction< + bool Function( ffi.Pointer, - ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - -class NSURLHandle extends NSObject { - NSURLHandle._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super.castFromPointer(pointer, retain: retain, release: release); - - /// Constructs a [NSURLHandle] that points to the same underlying object as [other]. - NSURLHandle.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); - - /// Constructs a [NSURLHandle] that wraps the given raw object pointer. - NSURLHandle.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); - - /// Returns whether [obj] is an instance of [NSURLHandle]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0( - obj.pointer, _sel_isKindOfClass_, _class_NSURLHandle); - } - - static void registerURLHandleClass_(objc.ObjCObjectBase anURLHandleSubclass) { - _objc_msgSend_198(_class_NSURLHandle, _sel_registerURLHandleClass_, - anURLHandleSubclass.pointer); - } - - static objc.ObjCObjectBase URLHandleClassForURL_(NSURL anURL) { - final _ret = _objc_msgSend_199( - _class_NSURLHandle, _sel_URLHandleClassForURL_, anURL.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - int status() { - return _objc_msgSend_200(this.pointer, _sel_status); - } - - NSString failureReason() { - final _ret = _objc_msgSend_32(this.pointer, _sel_failureReason); - return NSString.castFromPointer(_ret, retain: true, release: true); - } + ffi.Pointer)>()(arg0, arg1, arg2); +bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2) => + (objc.getBlockClosure(block) as bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); - void addClient_(objc.ObjCObjectBase client) { - _objc_msgSend_198(this.pointer, _sel_addClient_, client.pointer); - } +class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool + extends objc.ObjCBlockBase { + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._( + ffi.Pointer pointer, + {bool retain = false, + bool release = true}) + : super(pointer, retain: retain, release: release); - void removeClient_(objc.ObjCObjectBase client) { - _objc_msgSend_198(this.pointer, _sel_removeClient_, client.pointer); + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_bool_objcObjCObject_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._(pointer, + retain: retain, release: release); } - void loadInBackground() { - _objc_msgSend_1(this.pointer, _sel_loadInBackground); - } - - void cancelLoadInBackground() { - _objc_msgSend_1(this.pointer, _sel_cancelLoadInBackground); - } - - NSData resourceData() { - final _ret = _objc_msgSend_54(this.pointer, _sel_resourceData); - return NSData.castFromPointer(_ret, retain: true, release: true); - } - - NSData availableResourceData() { - final _ret = _objc_msgSend_54(this.pointer, _sel_availableResourceData); - return NSData.castFromPointer(_ret, retain: true, release: true); - } - - int expectedResourceDataSize() { - return _objc_msgSend_77(this.pointer, _sel_expectedResourceDataSize); - } - - void flushCachedData() { - _objc_msgSend_1(this.pointer, _sel_flushCachedData); - } - - void backgroundLoadDidFailWithReason_(NSString reason) { - _objc_msgSend_162( - this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); - } - - void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { - _objc_msgSend_201( - this.pointer, _sel_didLoadBytes_loadComplete_, newBytes.pointer, yorn); - } - - static bool canInitWithURL_(NSURL anURL) { - return _objc_msgSend_202( - _class_NSURLHandle, _sel_canInitWithURL_, anURL.pointer); - } - - static NSURLHandle cachedHandleForURL_(NSURL anURL) { - final _ret = _objc_msgSend_203( - _class_NSURLHandle, _sel_cachedHandleForURL_, anURL.pointer); - return NSURLHandle.castFromPointer(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase initWithURL_cached_(NSURL anURL, bool willCache) { - final _ret = _objc_msgSend_204( - this.pointer, _sel_initWithURL_cached_, anURL.pointer, willCache); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase propertyForKey_(NSString propertyKey) { - final _ret = _objc_msgSend_42( - this.pointer, _sel_propertyForKey_, propertyKey.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase propertyForKeyIfAvailable_(NSString propertyKey) { - final _ret = _objc_msgSend_42( - this.pointer, _sel_propertyForKeyIfAvailable_, propertyKey.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - bool writeProperty_forKey_( - objc.ObjCObjectBase propertyValue, NSString propertyKey) { - return _objc_msgSend_197(this.pointer, _sel_writeProperty_forKey_, - propertyValue.pointer, propertyKey.pointer); - } - - bool writeData_(NSData data) { - return _objc_msgSend_35(this.pointer, _sel_writeData_, data.pointer); - } - - NSData loadInForeground() { - final _ret = _objc_msgSend_54(this.pointer, _sel_loadInForeground); - return NSData.castFromPointer(_ret, retain: true, release: true); - } - - void beginLoadInBackground() { - _objc_msgSend_1(this.pointer, _sel_beginLoadInBackground); - } - - void endLoadInBackground() { - _objc_msgSend_1(this.pointer, _sel_endLoadInBackground); - } - - @override - NSURLHandle init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSURLHandle.castFromPointer(_ret, retain: true, release: true); - } - - static NSURLHandle new1() { - final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_new); - return NSURLHandle.castFromPointer(_ret, retain: false, release: true); - } + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>> + ptr) + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline, + false) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; - static NSURLHandle allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = _objc_msgSend_3(_class_NSURLHandle, _sel_allocWithZone_, zone); - return NSURLHandle.castFromPointer(_ret, retain: false, release: true); - } + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunction( + bool Function( + objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) + fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline, false) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1, ffi.Pointer arg2) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); + static ffi.Pointer? _dartFuncTrampoline; - static NSURLHandle alloc() { - final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_alloc); - return NSURLHandle.castFromPointer(_ret, retain: false, release: true); - } + bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, + ffi.Pointer arg2) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()( + pointer, arg0.pointer, arg1.pointer, arg2); } -late final _class_NSURLHandle = objc.getClass("NSURLHandle"); -late final _sel_registerURLHandleClass_ = - objc.registerName("registerURLHandleClass:"); -final _objc_msgSend_198 = objc.msgSendPointer +late final _sel_keysOfEntriesPassingTest_ = + objc.registerName("keysOfEntriesPassingTest:"); +final _objc_msgSend_190 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_URLHandleClassForURL_ = - objc.registerName("URLHandleClassForURL:"); -final _objc_msgSend_199 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_keysOfEntriesWithOptions_passingTest_ = + objc.registerName("keysOfEntriesWithOptions:passingTest:"); +final _objc_msgSend_191 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - -abstract class NSURLHandleStatus { - static const int NSURLHandleNotLoaded = 0; - static const int NSURLHandleLoadSucceeded = 1; - static const int NSURLHandleLoadInProgress = 2; - static const int NSURLHandleLoadFailed = 3; -} - -late final _sel_status = objc.registerName("status"); -final _objc_msgSend_200 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< - int Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_failureReason = objc.registerName("failureReason"); -late final _sel_addClient_ = objc.registerName("addClient:"); -late final _sel_removeClient_ = objc.registerName("removeClient:"); -late final _sel_loadInBackground = objc.registerName("loadInBackground"); -late final _sel_cancelLoadInBackground = - objc.registerName("cancelLoadInBackground"); -late final _sel_resourceData = objc.registerName("resourceData"); -late final _sel_availableResourceData = - objc.registerName("availableResourceData"); -late final _sel_expectedResourceDataSize = - objc.registerName("expectedResourceDataSize"); -late final _sel_flushCachedData = objc.registerName("flushCachedData"); -late final _sel_backgroundLoadDidFailWithReason_ = - objc.registerName("backgroundLoadDidFailWithReason:"); -late final _sel_didLoadBytes_loadComplete_ = - objc.registerName("didLoadBytes:loadComplete:"); -final _objc_msgSend_201 = objc.msgSendPointer + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); +final _objc_msgSend_192 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() + ffi.Pointer>, + ffi.Pointer>)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_canInitWithURL_ = objc.registerName("canInitWithURL:"); -final _objc_msgSend_202 = objc.msgSendPointer + ffi.Pointer>, + ffi.Pointer>)>(); +late final _sel_dictionaryWithContentsOfFile_ = + objc.registerName("dictionaryWithContentsOfFile:"); +final _objc_msgSend_193 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - bool Function(ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_cachedHandleForURL_ = objc.registerName("cachedHandleForURL:"); -final _objc_msgSend_203 = objc.msgSendPointer +late final _sel_dictionaryWithContentsOfURL_ = + objc.registerName("dictionaryWithContentsOfURL:"); +final _objc_msgSend_194 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8715,621 +8860,436 @@ final _objc_msgSend_203 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_initWithURL_cached_ = objc.registerName("initWithURL:cached:"); -final _objc_msgSend_204 = objc.msgSendPointer +late final _sel_dictionary = objc.registerName("dictionary"); +late final _sel_dictionaryWithObject_forKey_ = + objc.registerName("dictionaryWithObject:forKey:"); +final _objc_msgSend_195 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_dictionaryWithObjects_forKeys_count_ = + objc.registerName("dictionaryWithObjects:forKeys:count:"); +late final _sel_dictionaryWithObjectsAndKeys_ = + objc.registerName("dictionaryWithObjectsAndKeys:"); +late final _sel_dictionaryWithDictionary_ = + objc.registerName("dictionaryWithDictionary:"); +final _objc_msgSend_196 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_dictionaryWithObjects_forKeys_ = + objc.registerName("dictionaryWithObjects:forKeys:"); +final _objc_msgSend_197 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_initWithObjectsAndKeys_ = + objc.registerName("initWithObjectsAndKeys:"); +late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); +late final _sel_initWithDictionary_copyItems_ = + objc.registerName("initWithDictionary:copyItems:"); +final _objc_msgSend_198 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Bool)>>() .asFunction< - ffi.Pointer Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, bool)>(); -late final _sel_propertyForKeyIfAvailable_ = - objc.registerName("propertyForKeyIfAvailable:"); -late final _sel_writeProperty_forKey_ = - objc.registerName("writeProperty:forKey:"); -late final _sel_writeData_ = objc.registerName("writeData:"); -late final _sel_loadInForeground = objc.registerName("loadInForeground"); -late final _sel_beginLoadInBackground = - objc.registerName("beginLoadInBackground"); -late final _sel_endLoadInBackground = objc.registerName("endLoadInBackground"); -late final _sel_URLHandleUsingCache_ = - objc.registerName("URLHandleUsingCache:"); -final _objc_msgSend_205 = objc.msgSendPointer +late final _sel_initWithObjects_forKeys_ = + objc.registerName("initWithObjects:forKeys:"); +final _objc_msgSend_199 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Bool)>>() + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, bool)>(); + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_dictionaryWithContentsOfURL_error_ = + objc.registerName("dictionaryWithContentsOfURL:error:"); +late final _sel_sharedKeySetForKeys_ = + objc.registerName("sharedKeySetForKeys:"); -abstract class NSDataWritingOptions { - static const int NSDataWritingAtomic = 1; - static const int NSDataWritingWithoutOverwriting = 2; - static const int NSDataWritingFileProtectionNone = 268435456; - static const int NSDataWritingFileProtectionComplete = 536870912; - static const int NSDataWritingFileProtectionCompleteUnlessOpen = 805306368; - static const int - NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication = - 1073741824; - static const int NSDataWritingFileProtectionCompleteWhenUserInactive = - 1342177280; - static const int NSDataWritingFileProtectionMask = 4026531840; - static const int NSAtomicWrite = 1; +final class NSFastEnumerationState extends ffi.Struct { + @ffi.UnsignedLong() + external int state; + + external ffi.Pointer> itemsPtr; + + external ffi.Pointer mutationsPtr; + + @ffi.Array.multi([5]) + external ffi.Array extra; } -late final _sel_writeToFile_options_error_ = - objc.registerName("writeToFile:options:error:"); -final _objc_msgSend_206 = objc.msgSendPointer +late final _sel_countByEnumeratingWithState_objects_count_ = + objc.registerName("countByEnumeratingWithState:objects:count:"); +final _objc_msgSend_200 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.UnsignedLong Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.UnsignedLong)>>() + .asFunction< + int Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + int)>(); +late final _sel_promisedItemResourceValuesForKeys_error_ = + objc.registerName("promisedItemResourceValuesForKeys:error:"); +final _objc_msgSend_201 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Pointer>)>>() .asFunction< - bool Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - int, ffi.Pointer>)>(); -late final _sel_writeToURL_options_error_ = - objc.registerName("writeToURL:options:error:"); -final _objc_msgSend_207 = objc.msgSendPointer +late final _sel_checkPromisedItemIsReachableAndReturnError_ = + objc.registerName("checkPromisedItemIsReachableAndReturnError:"); +final _objc_msgSend_202 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Int32, ffi.Pointer>)>>() .asFunction< bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int, ffi.Pointer>)>(); - -abstract class NSDataSearchOptions { - static const int NSDataSearchBackwards = 1; - static const int NSDataSearchAnchored = 2; -} - -late final _sel_rangeOfData_options_range_ = - objc.registerName("rangeOfData:options:range:"); -final _objc_msgSend_208 = objc.msgSendPointer +late final _sel_fileURLWithPathComponents_ = + objc.registerName("fileURLWithPathComponents:"); +final _objc_msgSend_203 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_pathComponents = objc.registerName("pathComponents"); +final _objc_msgSend_204 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_lastPathComponent = objc.registerName("lastPathComponent"); +late final _sel_pathExtension = objc.registerName("pathExtension"); +late final _sel_URLByAppendingPathComponent_ = + objc.registerName("URLByAppendingPathComponent:"); +final _objc_msgSend_205 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( ffi.Pointer, - ffi.Int32, - _NSRange)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - _NSRange Function( + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_URLByAppendingPathComponent_isDirectory_ = + objc.registerName("URLByAppendingPathComponent:isDirectory:"); +final _objc_msgSend_206 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>() + .asFunction< + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - int, - _NSRange)>(); -final _objc_msgSend_208Stret = objc.msgSendStretPointer + bool)>(); +late final _sel_URLByDeletingLastPathComponent = + objc.registerName("URLByDeletingLastPathComponent"); +late final _sel_URLByAppendingPathExtension_ = + objc.registerName("URLByAppendingPathExtension:"); +late final _sel_URLByDeletingPathExtension = + objc.registerName("URLByDeletingPathExtension"); +late final _sel_checkResourceIsReachableAndReturnError_ = + objc.registerName("checkResourceIsReachableAndReturnError:"); +late final _sel_URLByStandardizingPath = + objc.registerName("URLByStandardizingPath"); +late final _sel_URLByResolvingSymlinksInPath = + objc.registerName("URLByResolvingSymlinksInPath"); +late final _sel_resourceDataUsingCache_ = + objc.registerName("resourceDataUsingCache:"); +final _objc_msgSend_207 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, bool)>(); +late final _sel_loadResourceDataNotifyingClient_usingCache_ = + objc.registerName("loadResourceDataNotifyingClient:usingCache:"); +final _objc_msgSend_208 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, - _NSRange)>>() + ffi.Bool)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, ffi.Pointer, - int, - _NSRange)>(); -void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>()(arg0, arg1, arg2); -void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - _NSRange, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiVoid_NSRange_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunction( - void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - fn(arg0, arg1, arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.listener( - void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - fn(arg0, arg1, arg2))); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange, ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>()(pointer, arg0, arg1, arg2); -} - -late final _sel_enumerateByteRangesUsingBlock_ = - objc.registerName("enumerateByteRangesUsingBlock:"); -final _objc_msgSend_209 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_data = objc.registerName("data"); -late final _sel_dataWithBytes_length_ = - objc.registerName("dataWithBytes:length:"); -final _objc_msgSend_210 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); -late final _sel_dataWithBytesNoCopy_length_ = - objc.registerName("dataWithBytesNoCopy:length:"); -late final _sel_dataWithBytesNoCopy_length_freeWhenDone_ = - objc.registerName("dataWithBytesNoCopy:length:freeWhenDone:"); -final _objc_msgSend_211 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Bool)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, bool)>(); - -abstract class NSDataReadingOptions { - static const int NSDataReadingMappedIfSafe = 1; - static const int NSDataReadingUncached = 2; - static const int NSDataReadingMappedAlways = 8; - static const int NSDataReadingMapped = 1; - static const int NSMappedRead = 1; - static const int NSUncachedRead = 2; -} - -late final _sel_dataWithContentsOfFile_options_error_ = - objc.registerName("dataWithContentsOfFile:options:error:"); -final _objc_msgSend_212 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); -late final _sel_dataWithContentsOfURL_options_error_ = - objc.registerName("dataWithContentsOfURL:options:error:"); -final _objc_msgSend_213 = objc.msgSendPointer +late final _sel_propertyForKey_ = objc.registerName("propertyForKey:"); +late final _sel_setResourceData_ = objc.registerName("setResourceData:"); +late final _sel_setProperty_forKey_ = objc.registerName("setProperty:forKey:"); +final _objc_msgSend_209 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer>)>>() + ffi.Pointer)>>() .asFunction< - instancetype Function( + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer>)>(); -late final _sel_dataWithContentsOfFile_ = - objc.registerName("dataWithContentsOfFile:"); -late final _sel_dataWithContentsOfURL_ = - objc.registerName("dataWithContentsOfURL:"); -final _objc_msgSend_214 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_initWithBytes_length_ = - objc.registerName("initWithBytes:length:"); -late final _sel_initWithBytesNoCopy_length_ = - objc.registerName("initWithBytesNoCopy:length:"); -late final _sel_initWithBytesNoCopy_length_freeWhenDone_ = - objc.registerName("initWithBytesNoCopy:length:freeWhenDone:"); -void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() - .asFunction, int)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, int))( - arg0, arg1); + ffi.Pointer)>(); -class ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); +class NSURLHandle extends NSObject { + NSURLHandle._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._(pointer, - retain: retain, release: release); - } + /// Constructs a [NSURLHandle] that points to the same underlying object as [other]. + NSURLHandle.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, ffi.UnsignedLong arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; + /// Constructs a [NSURLHandle] that wraps the given raw object pointer. + NSURLHandle.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunction( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; + /// Returns whether [obj] is an instance of [NSURLHandle]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0( + obj.pointer, _sel_isKindOfClass_, _class_NSURLHandle); + } - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.listener( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>.listener( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.UnsignedLong)>? _dartFuncListenerTrampoline; + static void registerURLHandleClass_(objc.ObjCObjectBase anURLHandleSubclass) { + _objc_msgSend_210(_class_NSURLHandle, _sel_registerURLHandleClass_, + anURLHandleSubclass.pointer); + } - void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer block, - ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() - .asFunction< - void Function(ffi.Pointer, ffi.Pointer, - int)>()(pointer, arg0, arg1); -} + static objc.ObjCObjectBase URLHandleClassForURL_(NSURL anURL) { + final _ret = _objc_msgSend_211( + _class_NSURLHandle, _sel_URLHandleClassForURL_, anURL.pointer); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } -late final _sel_initWithBytesNoCopy_length_deallocator_ = - objc.registerName("initWithBytesNoCopy:length:deallocator:"); -final _objc_msgSend_215 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_initWithContentsOfFile_options_error_ = - objc.registerName("initWithContentsOfFile:options:error:"); -late final _sel_initWithContentsOfURL_options_error_ = - objc.registerName("initWithContentsOfURL:options:error:"); -late final _sel_initWithData_ = objc.registerName("initWithData:"); -final _objc_msgSend_216 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_dataWithData_ = objc.registerName("dataWithData:"); + int status() { + return _objc_msgSend_212(this.pointer, _sel_status); + } -abstract class NSDataBase64DecodingOptions { - static const int NSDataBase64DecodingIgnoreUnknownCharacters = 1; -} + NSString failureReason() { + final _ret = _objc_msgSend_35(this.pointer, _sel_failureReason); + return NSString.castFromPointer(_ret, retain: true, release: true); + } -late final _sel_initWithBase64EncodedString_options_ = - objc.registerName("initWithBase64EncodedString:options:"); -final _objc_msgSend_217 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); + void addClient_(objc.ObjCObjectBase client) { + _objc_msgSend_210(this.pointer, _sel_addClient_, client.pointer); + } -abstract class NSDataBase64EncodingOptions { - static const int NSDataBase64Encoding64CharacterLineLength = 1; - static const int NSDataBase64Encoding76CharacterLineLength = 2; - static const int NSDataBase64EncodingEndLineWithCarriageReturn = 16; - static const int NSDataBase64EncodingEndLineWithLineFeed = 32; -} + void removeClient_(objc.ObjCObjectBase client) { + _objc_msgSend_210(this.pointer, _sel_removeClient_, client.pointer); + } -late final _sel_base64EncodedStringWithOptions_ = - objc.registerName("base64EncodedStringWithOptions:"); -final _objc_msgSend_218 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_initWithBase64EncodedData_options_ = - objc.registerName("initWithBase64EncodedData:options:"); -final _objc_msgSend_219 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_base64EncodedDataWithOptions_ = - objc.registerName("base64EncodedDataWithOptions:"); -final _objc_msgSend_220 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int)>(); + void loadInBackground() { + _objc_msgSend_1(this.pointer, _sel_loadInBackground); + } + + void cancelLoadInBackground() { + _objc_msgSend_1(this.pointer, _sel_cancelLoadInBackground); + } + + NSData resourceData() { + final _ret = _objc_msgSend_57(this.pointer, _sel_resourceData); + return NSData.castFromPointer(_ret, retain: true, release: true); + } + + NSData availableResourceData() { + final _ret = _objc_msgSend_57(this.pointer, _sel_availableResourceData); + return NSData.castFromPointer(_ret, retain: true, release: true); + } + + int expectedResourceDataSize() { + return _objc_msgSend_80(this.pointer, _sel_expectedResourceDataSize); + } + + void flushCachedData() { + _objc_msgSend_1(this.pointer, _sel_flushCachedData); + } + + void backgroundLoadDidFailWithReason_(NSString reason) { + _objc_msgSend_165( + this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); + } + + void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { + _objc_msgSend_213( + this.pointer, _sel_didLoadBytes_loadComplete_, newBytes.pointer, yorn); + } + + static bool canInitWithURL_(NSURL anURL) { + return _objc_msgSend_214( + _class_NSURLHandle, _sel_canInitWithURL_, anURL.pointer); + } + + static NSURLHandle cachedHandleForURL_(NSURL anURL) { + final _ret = _objc_msgSend_215( + _class_NSURLHandle, _sel_cachedHandleForURL_, anURL.pointer); + return NSURLHandle.castFromPointer(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase initWithURL_cached_(NSURL anURL, bool willCache) { + final _ret = _objc_msgSend_216( + this.pointer, _sel_initWithURL_cached_, anURL.pointer, willCache); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase propertyForKey_(NSString propertyKey) { + final _ret = _objc_msgSend_45( + this.pointer, _sel_propertyForKey_, propertyKey.pointer); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase propertyForKeyIfAvailable_(NSString propertyKey) { + final _ret = _objc_msgSend_45( + this.pointer, _sel_propertyForKeyIfAvailable_, propertyKey.pointer); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + bool writeProperty_forKey_( + objc.ObjCObjectBase propertyValue, NSString propertyKey) { + return _objc_msgSend_209(this.pointer, _sel_writeProperty_forKey_, + propertyValue.pointer, propertyKey.pointer); + } + + bool writeData_(NSData data) { + return _objc_msgSend_38(this.pointer, _sel_writeData_, data.pointer); + } + + NSData loadInForeground() { + final _ret = _objc_msgSend_57(this.pointer, _sel_loadInForeground); + return NSData.castFromPointer(_ret, retain: true, release: true); + } + + void beginLoadInBackground() { + _objc_msgSend_1(this.pointer, _sel_beginLoadInBackground); + } + + void endLoadInBackground() { + _objc_msgSend_1(this.pointer, _sel_endLoadInBackground); + } + + @override + NSURLHandle init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSURLHandle.castFromPointer(_ret, retain: true, release: true); + } + + static NSURLHandle new1() { + final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_new); + return NSURLHandle.castFromPointer(_ret, retain: false, release: true); + } -abstract class NSDataCompressionAlgorithm { - static const int NSDataCompressionAlgorithmLZFSE = 0; - static const int NSDataCompressionAlgorithmLZ4 = 1; - static const int NSDataCompressionAlgorithmLZMA = 2; - static const int NSDataCompressionAlgorithmZlib = 3; + static NSURLHandle allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSURLHandle, _sel_allocWithZone_, zone); + return NSURLHandle.castFromPointer(_ret, retain: false, release: true); + } + + static NSURLHandle alloc() { + final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_alloc); + return NSURLHandle.castFromPointer(_ret, retain: false, release: true); + } } -late final _sel_decompressedDataUsingAlgorithm_error_ = - objc.registerName("decompressedDataUsingAlgorithm:error:"); -final _objc_msgSend_221 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); -late final _sel_compressedDataUsingAlgorithm_error_ = - objc.registerName("compressedDataUsingAlgorithm:error:"); -late final _sel_getBytes_ = objc.registerName("getBytes:"); -late final _sel_dataWithContentsOfMappedFile_ = - objc.registerName("dataWithContentsOfMappedFile:"); -late final _sel_initWithContentsOfMappedFile_ = - objc.registerName("initWithContentsOfMappedFile:"); -late final _sel_initWithBase64Encoding_ = - objc.registerName("initWithBase64Encoding:"); -late final _sel_base64Encoding = objc.registerName("base64Encoding"); -late final _sel_characterSetWithBitmapRepresentation_ = - objc.registerName("characterSetWithBitmapRepresentation:"); -final _objc_msgSend_222 = objc.msgSendPointer +late final _class_NSURLHandle = objc.getClass("NSURLHandle"); +late final _sel_registerURLHandleClass_ = + objc.registerName("registerURLHandleClass:"); +final _objc_msgSend_210 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_characterSetWithContentsOfFile_ = - objc.registerName("characterSetWithContentsOfFile:"); -final _objc_msgSend_223 = objc.msgSendPointer +late final _sel_URLHandleClassForURL_ = + objc.registerName("URLHandleClassForURL:"); +final _objc_msgSend_211 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9339,311 +9299,235 @@ final _objc_msgSend_223 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_224 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_characterIsMember_ = objc.registerName("characterIsMember:"); -final _objc_msgSend_225 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedShort)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_bitmapRepresentation = - objc.registerName("bitmapRepresentation"); -late final _sel_invertedSet = objc.registerName("invertedSet"); -late final _sel_longCharacterIsMember_ = - objc.registerName("longCharacterIsMember:"); -final _objc_msgSend_226 = objc.msgSendPointer + +abstract class NSURLHandleStatus { + static const int NSURLHandleNotLoaded = 0; + static const int NSURLHandleLoadSucceeded = 1; + static const int NSURLHandleLoadInProgress = 2; + static const int NSURLHandleLoadFailed = 3; +} + +late final _sel_status = objc.registerName("status"); +final _objc_msgSend_212 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedInt)>>() + ffi.Int32 Function(ffi.Pointer, + ffi.Pointer)>>() .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_isSupersetOfSet_ = objc.registerName("isSupersetOfSet:"); -final _objc_msgSend_227 = objc.msgSendPointer + int Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_failureReason = objc.registerName("failureReason"); +late final _sel_addClient_ = objc.registerName("addClient:"); +late final _sel_removeClient_ = objc.registerName("removeClient:"); +late final _sel_loadInBackground = objc.registerName("loadInBackground"); +late final _sel_cancelLoadInBackground = + objc.registerName("cancelLoadInBackground"); +late final _sel_resourceData = objc.registerName("resourceData"); +late final _sel_availableResourceData = + objc.registerName("availableResourceData"); +late final _sel_expectedResourceDataSize = + objc.registerName("expectedResourceDataSize"); +late final _sel_flushCachedData = objc.registerName("flushCachedData"); +late final _sel_backgroundLoadDidFailWithReason_ = + objc.registerName("backgroundLoadDidFailWithReason:"); +late final _sel_didLoadBytes_loadComplete_ = + objc.registerName("didLoadBytes:loadComplete:"); +final _objc_msgSend_213 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_hasMemberInPlane_ = objc.registerName("hasMemberInPlane:"); -final _objc_msgSend_228 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer, - ffi.Pointer, ffi.Uint8)>>() + ffi.Pointer, + ffi.Bool)>>() .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_URLUserAllowedCharacterSet = - objc.registerName("URLUserAllowedCharacterSet"); -late final _sel_URLPasswordAllowedCharacterSet = - objc.registerName("URLPasswordAllowedCharacterSet"); -late final _sel_URLHostAllowedCharacterSet = - objc.registerName("URLHostAllowedCharacterSet"); -late final _sel_URLPathAllowedCharacterSet = - objc.registerName("URLPathAllowedCharacterSet"); -late final _sel_URLQueryAllowedCharacterSet = - objc.registerName("URLQueryAllowedCharacterSet"); -late final _sel_URLFragmentAllowedCharacterSet = - objc.registerName("URLFragmentAllowedCharacterSet"); -late final _sel_rangeOfCharacterFromSet_ = - objc.registerName("rangeOfCharacterFromSet:"); -final _objc_msgSend_229 = objc.msgSendPointer + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool)>(); +late final _sel_canInitWithURL_ = objc.registerName("canInitWithURL:"); +final _objc_msgSend_214 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - _NSRange Function(ffi.Pointer, + bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_229Stret = objc.msgSendStretPointer +late final _sel_cachedHandleForURL_ = objc.registerName("cachedHandleForURL:"); +final _objc_msgSend_215 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_rangeOfCharacterFromSet_options_ = - objc.registerName("rangeOfCharacterFromSet:options:"); -final _objc_msgSend_230 = objc.msgSendPointer +late final _sel_initWithURL_cached_ = objc.registerName("initWithURL:cached:"); +final _objc_msgSend_216 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.Bool)>>() .asFunction< - _NSRange Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - int)>(); -final _objc_msgSend_230Stret = objc.msgSendStretPointer + bool)>(); +late final _sel_propertyForKeyIfAvailable_ = + objc.registerName("propertyForKeyIfAvailable:"); +late final _sel_writeProperty_forKey_ = + objc.registerName("writeProperty:forKey:"); +late final _sel_writeData_ = objc.registerName("writeData:"); +late final _sel_loadInForeground = objc.registerName("loadInForeground"); +late final _sel_beginLoadInBackground = + objc.registerName("beginLoadInBackground"); +late final _sel_endLoadInBackground = objc.registerName("endLoadInBackground"); +late final _sel_URLHandleUsingCache_ = + objc.registerName("URLHandleUsingCache:"); +final _objc_msgSend_217 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, bool)>(); + +abstract class NSDataWritingOptions { + static const int NSDataWritingAtomic = 1; + static const int NSDataWritingWithoutOverwriting = 2; + static const int NSDataWritingFileProtectionNone = 268435456; + static const int NSDataWritingFileProtectionComplete = 536870912; + static const int NSDataWritingFileProtectionCompleteUnlessOpen = 805306368; + static const int + NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication = + 1073741824; + static const int NSDataWritingFileProtectionCompleteWhenUserInactive = + 1342177280; + static const int NSDataWritingFileProtectionMask = 4026531840; + static const int NSAtomicWrite = 1; +} + +late final _sel_writeToFile_options_error_ = + objc.registerName("writeToFile:options:error:"); +final _objc_msgSend_218 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.Int32, + ffi.Pointer>)>>() .asFunction< - void Function( - ffi.Pointer<_NSRange>, + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - int)>(); -late final _sel_rangeOfCharacterFromSet_options_range_ = - objc.registerName("rangeOfCharacterFromSet:options:range:"); -final _objc_msgSend_231 = objc.msgSendPointer + int, + ffi.Pointer>)>(); +late final _sel_writeToURL_options_error_ = + objc.registerName("writeToURL:options:error:"); +final _objc_msgSend_219 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + ffi.Pointer>)>>() .asFunction< - _NSRange Function( + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); -final _objc_msgSend_231Stret = objc.msgSendStretPointer + ffi.Pointer>)>(); + +abstract class NSDataSearchOptions { + static const int NSDataSearchBackwards = 1; + static const int NSDataSearchAnchored = 2; +} + +late final _sel_rangeOfData_options_range_ = + objc.registerName("rangeOfData:options:range:"); +final _objc_msgSend_220 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_NSRange>, + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, _NSRange)>>() .asFunction< - void Function( - ffi.Pointer<_NSRange>, + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, _NSRange)>(); -late final _sel_rangeOfComposedCharacterSequenceAtIndex_ = - objc.registerName("rangeOfComposedCharacterSequenceAtIndex:"); -final _objc_msgSend_232 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() - .asFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, int)>(); -final _objc_msgSend_232Stret = objc.msgSendStretPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer<_NSRange>, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() - .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_rangeOfComposedCharacterSequencesForRange_ = - objc.registerName("rangeOfComposedCharacterSequencesForRange:"); -final _objc_msgSend_233 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() - .asFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); -final _objc_msgSend_233Stret = objc.msgSendStretPointer +final _objc_msgSend_220Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, - _NSRange)>>() - .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Pointer, _NSRange)>(); -late final _sel_stringByAppendingString_ = - objc.registerName("stringByAppendingString:"); -late final _sel_stringByAppendingFormat_ = - objc.registerName("stringByAppendingFormat:"); -late final _sel_uppercaseString = objc.registerName("uppercaseString"); -late final _sel_lowercaseString = objc.registerName("lowercaseString"); -late final _sel_capitalizedString = objc.registerName("capitalizedString"); -late final _sel_localizedUppercaseString = - objc.registerName("localizedUppercaseString"); -late final _sel_localizedLowercaseString = - objc.registerName("localizedLowercaseString"); -late final _sel_localizedCapitalizedString = - objc.registerName("localizedCapitalizedString"); -late final _sel_uppercaseStringWithLocale_ = - objc.registerName("uppercaseStringWithLocale:"); -final _objc_msgSend_234 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_lowercaseStringWithLocale_ = - objc.registerName("lowercaseStringWithLocale:"); -late final _sel_capitalizedStringWithLocale_ = - objc.registerName("capitalizedStringWithLocale:"); -late final _sel_getLineStart_end_contentsEnd_forRange_ = - objc.registerName("getLineStart:end:contentsEnd:forRange:"); -final _objc_msgSend_235 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, + ffi.Int32, _NSRange)>>() .asFunction< void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, + ffi.Pointer, + int, _NSRange)>(); -late final _sel_lineRangeForRange_ = objc.registerName("lineRangeForRange:"); -late final _sel_getParagraphStart_end_contentsEnd_forRange_ = - objc.registerName("getParagraphStart:end:contentsEnd:forRange:"); -late final _sel_paragraphRangeForRange_ = - objc.registerName("paragraphRangeForRange:"); - -abstract class NSStringEnumerationOptions { - static const int NSStringEnumerationByLines = 0; - static const int NSStringEnumerationByParagraphs = 1; - static const int NSStringEnumerationByComposedCharacterSequences = 2; - static const int NSStringEnumerationByWords = 3; - static const int NSStringEnumerationBySentences = 4; - static const int NSStringEnumerationByCaretPositions = 5; - static const int NSStringEnumerationByDeletionClusters = 6; - static const int NSStringEnumerationReverse = 256; - static const int NSStringEnumerationSubstringNotRequired = 512; - static const int NSStringEnumerationLocalized = 1024; -} - -void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline( +void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline( ffi.Pointer block, - ffi.Pointer arg0, + ffi.Pointer arg0, _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3) => + ffi.Pointer arg2) => block.ref.target .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>>() + ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, + ffi.Pointer arg2)>>() .asFunction< - void Function(ffi.Pointer, _NSRange, _NSRange, - ffi.Pointer)>()(arg0, arg1, arg2, arg3); -void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline( + void Function(ffi.Pointer, _NSRange, + ffi.Pointer)>()(arg0, arg1, arg2); +void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline( ffi.Pointer block, - ffi.Pointer arg0, + ffi.Pointer arg0, _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - _NSRange, _NSRange, ffi.Pointer))(arg0, arg1, arg2, arg3); + ffi.Pointer arg2) => + (objc.getBlockClosure(block) as void Function(ffi.Pointer, + _NSRange, ffi.Pointer))(arg0, arg1, arg2); -class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) +class ObjCBlock_ffiVoid_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) : super(pointer, retain: retain, release: release); /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool castFromPointer( + static ObjCBlock_ffiVoid_ffiVoid_NSRange_bool castFromPointer( ffi.Pointer pointer, {bool retain = false, bool release = false}) { - return ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._(pointer, + return ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(pointer, retain: retain, release: release); } @@ -9652,24 +9536,20 @@ class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunctionPointer( + ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunctionPointer( ffi.Pointer< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>> + ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, + ffi.Pointer arg2)>> ptr) : this._(objc.newPointerBlock( _cFuncTrampoline ??= ffi.Pointer.fromFunction< ffi.Void Function( ffi.Pointer, - ffi.Pointer, - _NSRange, + ffi.Pointer, _NSRange, ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline) + _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline) .cast(), ptr.cast())); static ffi.Pointer? _cFuncTrampoline; @@ -9679,21 +9559,20 @@ class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunction( - void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) + ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunction( + void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) : this._(objc.newClosureBlock( _dartFuncTrampoline ??= ffi.Pointer.fromFunction< ffi.Void Function( ffi.Pointer, - ffi.Pointer, - _NSRange, + ffi.Pointer, _NSRange, ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) + _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) .cast(), - (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); + (ffi.Pointer arg0, _NSRange arg1, + ffi.Pointer arg2) => + fn(arg0, arg1, arg2))); static ffi.Pointer? _dartFuncTrampoline; /// Creates a listener block from a Dart function. @@ -9705,100 +9584,184 @@ class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool /// /// Note that unlike the default behavior of NativeCallable.listener, listener /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.listener( - void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) + ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.listener( + void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) : this._(objc.newClosureBlock( (_dartFuncListenerTrampoline ??= ffi.NativeCallable< ffi.Void Function( ffi.Pointer, - ffi.Pointer, - _NSRange, + ffi.Pointer, _NSRange, ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) + _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) ..keepIsolateAlive = false) .nativeFunction .cast(), - (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); + (ffi.Pointer arg0, _NSRange arg1, + ffi.Pointer arg2) => + fn(arg0, arg1, arg2))); static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>? _dartFuncListenerTrampoline; + ffi.Void Function(ffi.Pointer, ffi.Pointer, + _NSRange, ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(ffi.Pointer arg0, _NSRange arg1, + ffi.Pointer arg2) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + _NSRange arg1, + ffi.Pointer arg2)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer)>()(pointer, arg0, arg1, arg2); +} + +late final _sel_enumerateByteRangesUsingBlock_ = + objc.registerName("enumerateByteRangesUsingBlock:"); +final _objc_msgSend_221 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_data = objc.registerName("data"); +late final _sel_dataWithBytes_length_ = + objc.registerName("dataWithBytes:length:"); +final _objc_msgSend_222 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); +late final _sel_dataWithBytesNoCopy_length_ = + objc.registerName("dataWithBytesNoCopy:length:"); +late final _sel_dataWithBytesNoCopy_length_freeWhenDone_ = + objc.registerName("dataWithBytesNoCopy:length:freeWhenDone:"); +final _objc_msgSend_223 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + bool)>(); - void call(NSString? arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1, arg2, arg3); +abstract class NSDataReadingOptions { + static const int NSDataReadingMappedIfSafe = 1; + static const int NSDataReadingUncached = 2; + static const int NSDataReadingMappedAlways = 8; + static const int NSDataReadingMapped = 1; + static const int NSMappedRead = 1; + static const int NSUncachedRead = 2; } -late final _sel_enumerateSubstringsInRange_options_usingBlock_ = - objc.registerName("enumerateSubstringsInRange:options:usingBlock:"); -final _objc_msgSend_236 = objc.msgSendPointer +late final _sel_dataWithContentsOfFile_options_error_ = + objc.registerName("dataWithContentsOfFile:options:error:"); +final _objc_msgSend_224 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - _NSRange, + ffi.Pointer, ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer>)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - _NSRange, + ffi.Pointer, int, - ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline( + ffi.Pointer>)>(); +late final _sel_dataWithContentsOfURL_options_error_ = + objc.registerName("dataWithContentsOfURL:options:error:"); +final _objc_msgSend_225 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); +late final _sel_dataWithContentsOfFile_ = + objc.registerName("dataWithContentsOfFile:"); +late final _sel_dataWithContentsOfURL_ = + objc.registerName("dataWithContentsOfURL:"); +final _objc_msgSend_226 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_initWithBytes_length_ = + objc.registerName("initWithBytes:length:"); +late final _sel_initWithBytesNoCopy_length_ = + objc.registerName("initWithBytesNoCopy:length:"); +late final _sel_initWithBytesNoCopy_length_freeWhenDone_ = + objc.registerName("initWithBytesNoCopy:length:freeWhenDone:"); +void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline( ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => + ffi.Pointer arg0, + int arg1) => block.ref.target .cast< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline( + ffi.Void Function( + ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() + .asFunction, int)>()(arg0, arg1); +void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline( ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); + ffi.Pointer arg0, + int arg1) => + (objc.getBlockClosure(block) as void Function(ffi.Pointer, int))( + arg0, arg1); -class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSString_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) +class ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._( + ffi.Pointer pointer, + {bool retain = false, + bool release = true}) : super(pointer, retain: retain, release: release); /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSString_bool castFromPointer( + static ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong castFromPointer( ffi.Pointer pointer, {bool retain = false, bool release = false}) { - return ObjCBlock_ffiVoid_NSString_bool._(pointer, + return ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._(pointer, retain: retain, release: release); } @@ -9807,23 +9770,19 @@ class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_NSString_bool.fromFunctionPointer( + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunctionPointer( ffi.Pointer< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> + ffi.Void Function( + ffi.Pointer arg0, ffi.UnsignedLong arg1)>> ptr) - : this._( - objc - .newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline) + .cast(), + ptr.cast())); static ffi.Pointer? _cFuncTrampoline; /// Creates a block from a Dart function. @@ -9831,19 +9790,15 @@ class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_NSString_bool.fromFunction( - void Function(NSString, ffi.Pointer) fn) + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunction( + void Function(ffi.Pointer, int) fn) : this._(objc.newClosureBlock( _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSString.castFromPointer(arg0, retain: true, release: true), - arg1))); + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); static ffi.Pointer? _dartFuncTrampoline; /// Creates a listener block from a Dart function. @@ -9855,161 +9810,167 @@ class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { /// /// Note that unlike the default behavior of NativeCallable.listener, listener /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSString_bool.listener( - void Function(NSString, ffi.Pointer) fn) + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.listener( + void Function(ffi.Pointer, int) fn) : this._(objc.newClosureBlock( (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>.listener( + _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) ..keepIsolateAlive = false) .nativeFunction .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSString.castFromPointer(arg0, retain: true, release: true), - arg1))); + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; + ffi.Void Function(ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong)>? _dartFuncListenerTrampoline; - void call(NSString arg0, ffi.Pointer arg1) => pointer.ref.invoke + void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() + ffi.Void Function(ffi.Pointer block, + ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); + void Function(ffi.Pointer, ffi.Pointer, + int)>()(pointer, arg0, arg1); } -late final _sel_enumerateLinesUsingBlock_ = - objc.registerName("enumerateLinesUsingBlock:"); -final _objc_msgSend_237 = objc.msgSendPointer +late final _sel_initWithBytesNoCopy_length_deallocator_ = + objc.registerName("initWithBytesNoCopy:length:deallocator:"); +final _objc_msgSend_227 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_UTF8String = objc.registerName("UTF8String"); -late final _sel_fastestEncoding = objc.registerName("fastestEncoding"); -late final _sel_smallestEncoding = objc.registerName("smallestEncoding"); -late final _sel_dataUsingEncoding_allowLossyConversion_ = - objc.registerName("dataUsingEncoding:allowLossyConversion:"); -final _objc_msgSend_238 = objc.msgSendPointer + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_initWithContentsOfFile_options_error_ = + objc.registerName("initWithContentsOfFile:options:error:"); +late final _sel_initWithContentsOfURL_options_error_ = + objc.registerName("initWithContentsOfURL:options:error:"); +late final _sel_initWithData_ = objc.registerName("initWithData:"); +final _objc_msgSend_228 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong, ffi.Bool)>>() + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_dataWithData_ = objc.registerName("dataWithData:"); + +abstract class NSDataBase64DecodingOptions { + static const int NSDataBase64DecodingIgnoreUnknownCharacters = 1; +} + +late final _sel_initWithBase64EncodedString_options_ = + objc.registerName("initWithBase64EncodedString:options:"); +final _objc_msgSend_229 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int, bool)>(); -late final _sel_dataUsingEncoding_ = objc.registerName("dataUsingEncoding:"); -final _objc_msgSend_239 = objc.msgSendPointer + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); + +abstract class NSDataBase64EncodingOptions { + static const int NSDataBase64Encoding64CharacterLineLength = 1; + static const int NSDataBase64Encoding76CharacterLineLength = 2; + static const int NSDataBase64EncodingEndLineWithCarriageReturn = 16; + static const int NSDataBase64EncodingEndLineWithLineFeed = 32; +} + +late final _sel_base64EncodedStringWithOptions_ = + objc.registerName("base64EncodedStringWithOptions:"); +final _objc_msgSend_230 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() + ffi.Pointer, ffi.Int32)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); -late final _sel_canBeConvertedToEncoding_ = - objc.registerName("canBeConvertedToEncoding:"); -late final _sel_cStringUsingEncoding_ = - objc.registerName("cStringUsingEncoding:"); -final _objc_msgSend_240 = objc.msgSendPointer +late final _sel_initWithBase64EncodedData_options_ = + objc.registerName("initWithBase64EncodedData:options:"); +final _objc_msgSend_231 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Int32)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_getCString_maxLength_encoding_ = - objc.registerName("getCString:maxLength:encoding:"); -final _objc_msgSend_241 = objc.msgSendPointer + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); +late final _sel_base64EncodedDataWithOptions_ = + objc.registerName("base64EncodedDataWithOptions:"); +final _objc_msgSend_232 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.UnsignedLong)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>() .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int, int)>(); + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int)>(); -abstract class NSStringEncodingConversionOptions { - static const int NSStringEncodingConversionAllowLossy = 1; - static const int NSStringEncodingConversionExternalRepresentation = 2; +abstract class NSDataCompressionAlgorithm { + static const int NSDataCompressionAlgorithmLZFSE = 0; + static const int NSDataCompressionAlgorithmLZ4 = 1; + static const int NSDataCompressionAlgorithmLZMA = 2; + static const int NSDataCompressionAlgorithmZlib = 3; } -late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_ = - objc.registerName( - "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:"); -final _objc_msgSend_242 = objc.msgSendPointer +late final _sel_decompressedDataUsingAlgorithm_error_ = + objc.registerName("decompressedDataUsingAlgorithm:error:"); +final _objc_msgSend_233 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer, - ffi.UnsignedLong, ffi.Int32, - _NSRange, - ffi.Pointer<_NSRange>)>>() + ffi.Pointer>)>>() .asFunction< - bool Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer, int, - int, - _NSRange, - ffi.Pointer<_NSRange>)>(); -late final _sel_maximumLengthOfBytesUsingEncoding_ = - objc.registerName("maximumLengthOfBytesUsingEncoding:"); -late final _sel_lengthOfBytesUsingEncoding_ = - objc.registerName("lengthOfBytesUsingEncoding:"); -late final _sel_availableStringEncodings = - objc.registerName("availableStringEncodings"); -final _objc_msgSend_243 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_localizedNameOfStringEncoding_ = - objc.registerName("localizedNameOfStringEncoding:"); -late final _sel_defaultCStringEncoding = - objc.registerName("defaultCStringEncoding"); -late final _sel_decomposedStringWithCanonicalMapping = - objc.registerName("decomposedStringWithCanonicalMapping"); -late final _sel_precomposedStringWithCanonicalMapping = - objc.registerName("precomposedStringWithCanonicalMapping"); -late final _sel_decomposedStringWithCompatibilityMapping = - objc.registerName("decomposedStringWithCompatibilityMapping"); -late final _sel_precomposedStringWithCompatibilityMapping = - objc.registerName("precomposedStringWithCompatibilityMapping"); -late final _sel_componentsSeparatedByString_ = - objc.registerName("componentsSeparatedByString:"); -final _objc_msgSend_244 = objc.msgSendPointer + ffi.Pointer>)>(); +late final _sel_compressedDataUsingAlgorithm_error_ = + objc.registerName("compressedDataUsingAlgorithm:error:"); +late final _sel_getBytes_ = objc.registerName("getBytes:"); +late final _sel_dataWithContentsOfMappedFile_ = + objc.registerName("dataWithContentsOfMappedFile:"); +late final _sel_initWithContentsOfMappedFile_ = + objc.registerName("initWithContentsOfMappedFile:"); +late final _sel_initWithBase64Encoding_ = + objc.registerName("initWithBase64Encoding:"); +late final _sel_base64Encoding = objc.registerName("base64Encoding"); +late final _sel_characterSetWithBitmapRepresentation_ = + objc.registerName("characterSetWithBitmapRepresentation:"); +final _objc_msgSend_234 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10019,9 +9980,9 @@ final _objc_msgSend_244 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_componentsSeparatedByCharactersInSet_ = - objc.registerName("componentsSeparatedByCharactersInSet:"); -final _objc_msgSend_245 = objc.msgSendPointer +late final _sel_characterSetWithContentsOfFile_ = + objc.registerName("characterSetWithContentsOfFile:"); +final _objc_msgSend_235 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10031,211 +9992,311 @@ final _objc_msgSend_245 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_stringByTrimmingCharactersInSet_ = - objc.registerName("stringByTrimmingCharactersInSet:"); -final _objc_msgSend_246 = objc.msgSendPointer +final _objc_msgSend_236 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_stringByPaddingToLength_withString_startingAtIndex_ = - objc.registerName("stringByPaddingToLength:withString:startingAtIndex:"); -final _objc_msgSend_247 = objc.msgSendPointer +late final _sel_characterIsMember_ = objc.registerName("characterIsMember:"); +final _objc_msgSend_237 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Bool Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedShort)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_bitmapRepresentation = + objc.registerName("bitmapRepresentation"); +late final _sel_invertedSet = objc.registerName("invertedSet"); +late final _sel_longCharacterIsMember_ = + objc.registerName("longCharacterIsMember:"); +final _objc_msgSend_238 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedInt)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_isSupersetOfSet_ = objc.registerName("isSupersetOfSet:"); +final _objc_msgSend_239 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer, - int)>(); -late final _sel_stringByFoldingWithOptions_locale_ = - objc.registerName("stringByFoldingWithOptions:locale:"); -final _objc_msgSend_248 = objc.msgSendPointer + bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_hasMemberInPlane_ = objc.registerName("hasMemberInPlane:"); +final _objc_msgSend_240 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Bool Function(ffi.Pointer, + ffi.Pointer, ffi.Uint8)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_URLUserAllowedCharacterSet = + objc.registerName("URLUserAllowedCharacterSet"); +late final _sel_URLPasswordAllowedCharacterSet = + objc.registerName("URLPasswordAllowedCharacterSet"); +late final _sel_URLHostAllowedCharacterSet = + objc.registerName("URLHostAllowedCharacterSet"); +late final _sel_URLPathAllowedCharacterSet = + objc.registerName("URLPathAllowedCharacterSet"); +late final _sel_URLQueryAllowedCharacterSet = + objc.registerName("URLQueryAllowedCharacterSet"); +late final _sel_URLFragmentAllowedCharacterSet = + objc.registerName("URLFragmentAllowedCharacterSet"); +late final _sel_rangeOfCharacterFromSet_ = + objc.registerName("rangeOfCharacterFromSet:"); +final _objc_msgSend_241 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + _NSRange Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_ = - objc.registerName( - "stringByReplacingOccurrencesOfString:withString:options:range:"); -final _objc_msgSend_249 = objc.msgSendPointer + _NSRange Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +final _objc_msgSend_241Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - _NSRange)>>() + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - _NSRange)>(); -late final _sel_stringByReplacingOccurrencesOfString_withString_ = - objc.registerName("stringByReplacingOccurrencesOfString:withString:"); -final _objc_msgSend_250 = objc.msgSendPointer + void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_rangeOfCharacterFromSet_options_ = + objc.registerName("rangeOfCharacterFromSet:options:"); +final _objc_msgSend_242 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32)>>() .asFunction< - ffi.Pointer Function( + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); -late final _sel_stringByReplacingCharactersInRange_withString_ = - objc.registerName("stringByReplacingCharactersInRange:withString:"); -final _objc_msgSend_251 = objc.msgSendPointer + int)>(); +final _objc_msgSend_242Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Int32)>>() .asFunction< - ffi.Pointer Function( + void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer)>(); -late final _sel_stringByApplyingTransform_reverse_ = - objc.registerName("stringByApplyingTransform:reverse:"); -final _objc_msgSend_252 = objc.msgSendPointer + ffi.Pointer, + int)>(); +late final _sel_rangeOfCharacterFromSet_options_range_ = + objc.registerName("rangeOfCharacterFromSet:options:range:"); +final _objc_msgSend_243 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Bool)>>() + ffi.Int32, + _NSRange)>>() .asFunction< - ffi.Pointer Function( + _NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - bool)>(); -late final _sel_writeToURL_atomically_encoding_error_ = - objc.registerName("writeToURL:atomically:encoding:error:"); -final _objc_msgSend_253 = objc.msgSendPointer + int, + _NSRange)>(); +final _objc_msgSend_243Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Bool, - ffi.UnsignedLong, - ffi.Pointer>)>>() + ffi.Int32, + _NSRange)>>() .asFunction< - bool Function( + void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, ffi.Pointer, - bool, int, - ffi.Pointer>)>(); -late final _sel_writeToFile_atomically_encoding_error_ = - objc.registerName("writeToFile:atomically:encoding:error:"); -final _objc_msgSend_254 = objc.msgSendPointer + _NSRange)>(); +late final _sel_rangeOfComposedCharacterSequenceAtIndex_ = + objc.registerName("rangeOfComposedCharacterSequenceAtIndex:"); +final _objc_msgSend_244 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + _NSRange Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() + .asFunction< + _NSRange Function(ffi.Pointer, + ffi.Pointer, int)>(); +final _objc_msgSend_244Stret = objc.msgSendStretPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_rangeOfComposedCharacterSequencesForRange_ = + objc.registerName("rangeOfComposedCharacterSequencesForRange:"); +final _objc_msgSend_245 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + _NSRange Function(ffi.Pointer, + ffi.Pointer, _NSRange)>>() + .asFunction< + _NSRange Function(ffi.Pointer, + ffi.Pointer, _NSRange)>(); +final _objc_msgSend_245Stret = objc.msgSendStretPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Bool, - ffi.UnsignedLong, - ffi.Pointer>)>>() + ffi.Pointer, + _NSRange)>>() .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool, - int, - ffi.Pointer>)>(); -late final _sel_initWithCharactersNoCopy_length_freeWhenDone_ = - objc.registerName("initWithCharactersNoCopy:length:freeWhenDone:"); -final _objc_msgSend_255 = objc.msgSendPointer + void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + ffi.Pointer, _NSRange)>(); +late final _sel_stringByAppendingString_ = + objc.registerName("stringByAppendingString:"); +late final _sel_stringByAppendingFormat_ = + objc.registerName("stringByAppendingFormat:"); +late final _sel_uppercaseString = objc.registerName("uppercaseString"); +late final _sel_lowercaseString = objc.registerName("lowercaseString"); +late final _sel_capitalizedString = objc.registerName("capitalizedString"); +late final _sel_localizedUppercaseString = + objc.registerName("localizedUppercaseString"); +late final _sel_localizedLowercaseString = + objc.registerName("localizedLowercaseString"); +late final _sel_localizedCapitalizedString = + objc.registerName("localizedCapitalizedString"); +late final _sel_uppercaseStringWithLocale_ = + objc.registerName("uppercaseStringWithLocale:"); +final _objc_msgSend_246 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Bool)>>() + ffi.Pointer)>>() .asFunction< - instancetype Function( + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_lowercaseStringWithLocale_ = + objc.registerName("lowercaseStringWithLocale:"); +late final _sel_capitalizedStringWithLocale_ = + objc.registerName("capitalizedStringWithLocale:"); +late final _sel_getLineStart_end_contentsEnd_forRange_ = + objc.registerName("getLineStart:end:contentsEnd:forRange:"); +final _objc_msgSend_247 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + _NSRange)>>() + .asFunction< + void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int, - bool)>(); -void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + _NSRange)>(); +late final _sel_lineRangeForRange_ = objc.registerName("lineRangeForRange:"); +late final _sel_getParagraphStart_end_contentsEnd_forRange_ = + objc.registerName("getParagraphStart:end:contentsEnd:forRange:"); +late final _sel_paragraphRangeForRange_ = + objc.registerName("paragraphRangeForRange:"); + +abstract class NSStringEnumerationOptions { + static const int NSStringEnumerationByLines = 0; + static const int NSStringEnumerationByParagraphs = 1; + static const int NSStringEnumerationByComposedCharacterSequences = 2; + static const int NSStringEnumerationByWords = 3; + static const int NSStringEnumerationBySentences = 4; + static const int NSStringEnumerationByCaretPositions = 5; + static const int NSStringEnumerationByDeletionClusters = 6; + static const int NSStringEnumerationReverse = 256; + static const int NSStringEnumerationSubstringNotRequired = 512; + static const int NSStringEnumerationLocalized = 1024; +} + +void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline( ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => + ffi.Pointer arg0, + _NSRange arg1, + _NSRange arg2, + ffi.Pointer arg3) => block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1)>>() - .asFunction, int)>()( - arg0, arg1); -void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline( + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer arg0, + _NSRange arg1, + _NSRange arg2, + ffi.Pointer arg3)>>() + .asFunction< + void Function(ffi.Pointer, _NSRange, _NSRange, + ffi.Pointer)>()(arg0, arg1, arg2, arg3); +void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline( ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, int))(arg0, arg1); + ffi.Pointer arg0, + _NSRange arg1, + _NSRange arg2, + ffi.Pointer arg3) => + (objc.getBlockClosure(block) as void Function(ffi.Pointer, + _NSRange, _NSRange, ffi.Pointer))(arg0, arg1, arg2, arg3); -class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong +class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._( + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._( ffi.Pointer pointer, {bool retain = false, bool release = true}) : super(pointer, retain: retain, release: release); /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong castFromPointer( + static ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool castFromPointer( ffi.Pointer pointer, {bool retain = false, bool release = false}) { - return ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._(pointer, + return ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._(pointer, retain: retain, release: release); } @@ -10244,19 +10305,24 @@ class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunctionPointer( - ffi - .Pointer< - ffi - .NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1)>> + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer arg0, + _NSRange arg1, + _NSRange arg2, + ffi.Pointer arg3)>> ptr) : this._(objc.newPointerBlock( _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline) + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + _NSRange, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline) .cast(), ptr.cast())); static ffi.Pointer? _cFuncTrampoline; @@ -10266,15 +10332,21 @@ class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong /// This block must be invoked by native code running on the same thread as /// the isolate that registered it. Invoking the block on the wrong thread /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunction( - void Function(ffi.Pointer, int) fn) + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunction( + void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) : this._(objc.newClosureBlock( _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + _NSRange, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); + (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, + ffi.Pointer arg3) => + fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); static ffi.Pointer? _dartFuncTrampoline; /// Creates a listener block from a Dart function. @@ -10286,2372 +10358,2568 @@ class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong /// /// Note that unlike the default behavior of NativeCallable.listener, listener /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.listener( - void Function(ffi.Pointer, int) fn) + ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.listener( + void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) : this._(objc.newClosureBlock( (_dartFuncListenerTrampoline ??= ffi.NativeCallable< ffi.Void Function( ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>.listener( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + ffi.Pointer, + _NSRange, + _NSRange, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) ..keepIsolateAlive = false) .nativeFunction .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); + (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, + ffi.Pointer arg3) => + fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); static ffi.NativeCallable< ffi.Void Function( ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>? _dartFuncListenerTrampoline; + ffi.Pointer, + _NSRange, + _NSRange, + ffi.Pointer)>? _dartFuncListenerTrampoline; - void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.UnsignedLong arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>()(pointer, arg0, arg1); + void call(NSString? arg0, _NSRange arg1, _NSRange arg2, + ffi.Pointer arg3) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + _NSRange arg1, + _NSRange arg2, + ffi.Pointer arg3)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + _NSRange, + ffi.Pointer)>()( + pointer, arg0?.pointer ?? ffi.nullptr, arg1, arg2, arg3); } -late final _sel_initWithCharactersNoCopy_length_deallocator_ = - objc.registerName("initWithCharactersNoCopy:length:deallocator:"); -final _objc_msgSend_256 = objc.msgSendPointer +late final _sel_enumerateSubstringsInRange_options_usingBlock_ = + objc.registerName("enumerateSubstringsInRange:options:usingBlock:"); +final _objc_msgSend_248 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, + _NSRange, + ffi.Int32, ffi.Pointer)>>() .asFunction< - instancetype Function( + void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, + _NSRange, int, ffi.Pointer)>(); -late final _sel_initWithCharacters_length_ = - objc.registerName("initWithCharacters:length:"); -final _objc_msgSend_257 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_initWithUTF8String_ = objc.registerName("initWithUTF8String:"); -final _objc_msgSend_258 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_initWithFormat_ = objc.registerName("initWithFormat:"); - -final class __va_list_tag extends ffi.Struct { - @ffi.UnsignedInt() - external int gp_offset; - - @ffi.UnsignedInt() - external int fp_offset; +void _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +void _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + (objc.getBlockClosure(block) as void Function( + ffi.Pointer, ffi.Pointer))(arg0, arg1); - external ffi.Pointer overflow_arg_area; +class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_NSString_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) + : super(pointer, retain: retain, release: release); - external ffi.Pointer reg_save_area; -} + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_ffiVoid_NSString_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_ffiVoid_NSString_bool._(pointer, + retain: retain, release: release); + } -late final _sel_initWithFormat_arguments_ = - objc.registerName("initWithFormat:arguments:"); -final _objc_msgSend_259 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>(); -late final _sel_initWithFormat_locale_ = - objc.registerName("initWithFormat:locale:"); -final _objc_msgSend_260 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_initWithFormat_locale_arguments_ = - objc.registerName("initWithFormat:locale:arguments:"); -final _objc_msgSend_261 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_ = - objc.registerName("initWithValidatedFormat:validFormatSpecifiers:error:"); -final _objc_msgSend_262 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_ = - objc.registerName( - "initWithValidatedFormat:validFormatSpecifiers:locale:error:"); -final _objc_msgSend_263 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_ = - objc.registerName( - "initWithValidatedFormat:validFormatSpecifiers:arguments:error:"); -final _objc_msgSend_264 = objc.msgSendPointer + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + objc + .newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_NSString_bool.fromFunction( + void Function(NSString, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSString.castFromPointer(arg0, retain: true, release: true), + arg1))); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_NSString_bool.listener( + void Function(NSString, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(NSString.castFromPointer(arg0, retain: true, release: true), + arg1))); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(NSString arg0, ffi.Pointer arg1) => pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(pointer, arg0.pointer, arg1); +} + +late final _sel_enumerateLinesUsingBlock_ = + objc.registerName("enumerateLinesUsingBlock:"); +final _objc_msgSend_249 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_ = - objc.registerName( - "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:"); -final _objc_msgSend_265 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_UTF8String = objc.registerName("UTF8String"); +late final _sel_fastestEncoding = objc.registerName("fastestEncoding"); +late final _sel_smallestEncoding = objc.registerName("smallestEncoding"); +late final _sel_dataUsingEncoding_allowLossyConversion_ = + objc.registerName("dataUsingEncoding:allowLossyConversion:"); +final _objc_msgSend_250 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong, ffi.Bool)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>(); -late final _sel_initWithData_encoding_ = - objc.registerName("initWithData:encoding:"); -final _objc_msgSend_266 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int, bool)>(); +late final _sel_dataUsingEncoding_ = objc.registerName("dataUsingEncoding:"); +final _objc_msgSend_251 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_initWithBytes_length_encoding_ = - objc.registerName("initWithBytes:length:encoding:"); -final _objc_msgSend_267 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_canBeConvertedToEncoding_ = + objc.registerName("canBeConvertedToEncoding:"); +late final _sel_cStringUsingEncoding_ = + objc.registerName("cStringUsingEncoding:"); +late final _sel_getCString_maxLength_encoding_ = + objc.registerName("getCString:maxLength:encoding:"); +final _objc_msgSend_252 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong, ffi.UnsignedLong)>>() .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int, int)>(); -late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_ = - objc.registerName("initWithBytesNoCopy:length:encoding:freeWhenDone:"); -final _objc_msgSend_268 = objc.msgSendPointer + bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, int)>(); + +abstract class NSStringEncodingConversionOptions { + static const int NSStringEncodingConversionAllowLossy = 1; + static const int NSStringEncodingConversionExternalRepresentation = 2; +} + +late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_ = + objc.registerName( + "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:"); +final _objc_msgSend_253 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.UnsignedLong, + ffi.Pointer, ffi.UnsignedLong, - ffi.Bool)>>() + ffi.Int32, + _NSRange, + ffi.Pointer<_NSRange>)>>() .asFunction< - instancetype Function( + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, + ffi.Pointer, int, - bool)>(); -late final _sel_initWithBytesNoCopy_length_encoding_deallocator_ = - objc.registerName("initWithBytesNoCopy:length:encoding:deallocator:"); -final _objc_msgSend_269 = objc.msgSendPointer + int, + _NSRange, + ffi.Pointer<_NSRange>)>(); +late final _sel_maximumLengthOfBytesUsingEncoding_ = + objc.registerName("maximumLengthOfBytesUsingEncoding:"); +late final _sel_lengthOfBytesUsingEncoding_ = + objc.registerName("lengthOfBytesUsingEncoding:"); +late final _sel_availableStringEncodings = + objc.registerName("availableStringEncodings"); +final _objc_msgSend_254 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.UnsignedLong, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - int, - ffi.Pointer)>(); -late final _sel_string = objc.registerName("string"); -late final _sel_stringWithString_ = objc.registerName("stringWithString:"); -late final _sel_stringWithCharacters_length_ = - objc.registerName("stringWithCharacters:length:"); -late final _sel_stringWithUTF8String_ = - objc.registerName("stringWithUTF8String:"); -late final _sel_stringWithFormat_ = objc.registerName("stringWithFormat:"); -late final _sel_localizedStringWithFormat_ = - objc.registerName("localizedStringWithFormat:"); -late final _sel_stringWithValidatedFormat_validFormatSpecifiers_error_ = - objc.registerName("stringWithValidatedFormat:validFormatSpecifiers:error:"); -late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_ = - objc.registerName( - "localizedStringWithValidatedFormat:validFormatSpecifiers:error:"); -late final _sel_initWithCString_encoding_ = - objc.registerName("initWithCString:encoding:"); -final _objc_msgSend_270 = objc.msgSendPointer + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_localizedNameOfStringEncoding_ = + objc.registerName("localizedNameOfStringEncoding:"); +late final _sel_defaultCStringEncoding = + objc.registerName("defaultCStringEncoding"); +late final _sel_decomposedStringWithCanonicalMapping = + objc.registerName("decomposedStringWithCanonicalMapping"); +late final _sel_precomposedStringWithCanonicalMapping = + objc.registerName("precomposedStringWithCanonicalMapping"); +late final _sel_decomposedStringWithCompatibilityMapping = + objc.registerName("decomposedStringWithCompatibilityMapping"); +late final _sel_precomposedStringWithCompatibilityMapping = + objc.registerName("precomposedStringWithCompatibilityMapping"); +late final _sel_componentsSeparatedByString_ = + objc.registerName("componentsSeparatedByString:"); +final _objc_msgSend_255 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() - .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); -late final _sel_stringWithCString_encoding_ = - objc.registerName("stringWithCString:encoding:"); -late final _sel_initWithContentsOfURL_encoding_error_ = - objc.registerName("initWithContentsOfURL:encoding:error:"); -final _objc_msgSend_271 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_componentsSeparatedByCharactersInSet_ = + objc.registerName("componentsSeparatedByCharactersInSet:"); +final _objc_msgSend_256 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer>)>>() + ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); -late final _sel_initWithContentsOfFile_encoding_error_ = - objc.registerName("initWithContentsOfFile:encoding:error:"); -final _objc_msgSend_272 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_stringByTrimmingCharactersInSet_ = + objc.registerName("stringByTrimmingCharactersInSet:"); +final _objc_msgSend_257 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer>)>>() + ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer>)>(); -late final _sel_stringWithContentsOfURL_encoding_error_ = - objc.registerName("stringWithContentsOfURL:encoding:error:"); -late final _sel_stringWithContentsOfFile_encoding_error_ = - objc.registerName("stringWithContentsOfFile:encoding:error:"); -late final _sel_initWithContentsOfURL_usedEncoding_error_ = - objc.registerName("initWithContentsOfURL:usedEncoding:error:"); -final _objc_msgSend_273 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_stringByPaddingToLength_withString_startingAtIndex_ = + objc.registerName("stringByPaddingToLength:withString:startingAtIndex:"); +final _objc_msgSend_258 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, + ffi.UnsignedLong, ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() + ffi.UnsignedLong)>>() .asFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, + int, ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_initWithContentsOfFile_usedEncoding_error_ = - objc.registerName("initWithContentsOfFile:usedEncoding:error:"); -final _objc_msgSend_274 = objc.msgSendPointer + int)>(); +late final _sel_stringByFoldingWithOptions_locale_ = + objc.registerName("stringByFoldingWithOptions:locale:"); +final _objc_msgSend_259 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_stringWithContentsOfURL_usedEncoding_error_ = - objc.registerName("stringWithContentsOfURL:usedEncoding:error:"); -late final _sel_stringWithContentsOfFile_usedEncoding_error_ = - objc.registerName("stringWithContentsOfFile:usedEncoding:error:"); -late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_ = + int, + ffi.Pointer)>(); +late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_ = objc.registerName( - "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:"); -final _objc_msgSend_275 = objc.msgSendPointer + "stringByReplacingOccurrencesOfString:withString:options:range:"); +final _objc_msgSend_260 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.UnsignedLong Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer>, - ffi.Pointer)>>() + ffi.Int32, + _NSRange)>>() .asFunction< - int Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer>, - ffi.Pointer)>(); -late final _sel_propertyList = objc.registerName("propertyList"); -late final _sel_propertyListFromStringsFileFormat = - objc.registerName("propertyListFromStringsFileFormat"); -final _objc_msgSend_276 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_cString = objc.registerName("cString"); -late final _sel_lossyCString = objc.registerName("lossyCString"); -late final _sel_cStringLength = objc.registerName("cStringLength"); -late final _sel_getCString_ = objc.registerName("getCString:"); -final _objc_msgSend_277 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_getCString_maxLength_ = - objc.registerName("getCString:maxLength:"); -final _objc_msgSend_278 = objc.msgSendPointer + int, + _NSRange)>(); +late final _sel_stringByReplacingOccurrencesOfString_withString_ = + objc.registerName("stringByReplacingOccurrencesOfString:withString:"); +final _objc_msgSend_261 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, int)>(); -late final _sel_getCString_maxLength_range_remainingRange_ = - objc.registerName("getCString:maxLength:range:remainingRange:"); -final _objc_msgSend_279 = objc.msgSendPointer + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_stringByReplacingCharactersInRange_withString_ = + objc.registerName("stringByReplacingCharactersInRange:withString:"); +final _objc_msgSend_262 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, _NSRange, - ffi.Pointer<_NSRange>)>>() + ffi.Pointer)>>() .asFunction< - void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int, _NSRange, - ffi.Pointer<_NSRange>)>(); -late final _sel_stringWithContentsOfFile_ = - objc.registerName("stringWithContentsOfFile:"); -late final _sel_stringWithContentsOfURL_ = - objc.registerName("stringWithContentsOfURL:"); -late final _sel_initWithCStringNoCopy_length_freeWhenDone_ = - objc.registerName("initWithCStringNoCopy:length:freeWhenDone:"); -final _objc_msgSend_280 = objc.msgSendPointer + ffi.Pointer)>(); +late final _sel_stringByApplyingTransform_reverse_ = + objc.registerName("stringByApplyingTransform:reverse:"); +final _objc_msgSend_263 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, + ffi.Pointer, ffi.Bool)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int, + ffi.Pointer, bool)>(); -late final _sel_initWithCString_length_ = - objc.registerName("initWithCString:length:"); -late final _sel_initWithCString_ = objc.registerName("initWithCString:"); -late final _sel_stringWithCString_length_ = - objc.registerName("stringWithCString:length:"); -late final _sel_stringWithCString_ = objc.registerName("stringWithCString:"); -late final _sel_getCharacters_ = objc.registerName("getCharacters:"); -final _objc_msgSend_281 = objc.msgSendPointer +late final _sel_writeToURL_atomically_encoding_error_ = + objc.registerName("writeToURL:atomically:encoding:error:"); +final _objc_msgSend_264 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_ = - objc.registerName("stringByAddingPercentEncodingWithAllowedCharacters:"); -final _objc_msgSend_282 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_stringByRemovingPercentEncoding = - objc.registerName("stringByRemovingPercentEncoding"); -late final _sel_stringByAddingPercentEscapesUsingEncoding_ = - objc.registerName("stringByAddingPercentEscapesUsingEncoding:"); -final _objc_msgSend_283 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_stringByReplacingPercentEscapesUsingEncoding_ = - objc.registerName("stringByReplacingPercentEscapesUsingEncoding:"); -late final _sel_debugDescription = objc.registerName("debugDescription"); -late final _sel_version = objc.registerName("version"); -late final _sel_setVersion_ = objc.registerName("setVersion:"); -final _objc_msgSend_284 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Long)>>() + ffi.Bool, + ffi.UnsignedLong, + ffi.Pointer>)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_classForCoder = objc.registerName("classForCoder"); -late final _sel_replacementObjectForCoder_ = - objc.registerName("replacementObjectForCoder:"); -late final _sel_awakeAfterUsingCoder_ = - objc.registerName("awakeAfterUsingCoder:"); -late final _sel_poseAsClass_ = objc.registerName("poseAsClass:"); -late final _sel_autoContentAccessingProxy = - objc.registerName("autoContentAccessingProxy"); -late final _sel_URL_resourceDataDidBecomeAvailable_ = - objc.registerName("URL:resourceDataDidBecomeAvailable:"); -final _objc_msgSend_285 = objc.msgSendPointer + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool, + int, + ffi.Pointer>)>(); +late final _sel_writeToFile_atomically_encoding_error_ = + objc.registerName("writeToFile:atomically:encoding:error:"); +final _objc_msgSend_265 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Bool, + ffi.UnsignedLong, + ffi.Pointer>)>>() .asFunction< - void Function( + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); -late final _sel_URLResourceDidFinishLoading_ = - objc.registerName("URLResourceDidFinishLoading:"); -final _objc_msgSend_286 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_URLResourceDidCancelLoading_ = - objc.registerName("URLResourceDidCancelLoading:"); -late final _sel_URL_resourceDidFailLoadingWithReason_ = - objc.registerName("URL:resourceDidFailLoadingWithReason:"); -final _objc_msgSend_287 = objc.msgSendPointer + bool, + int, + ffi.Pointer>)>(); +late final _sel_initWithCharactersNoCopy_length_freeWhenDone_ = + objc.registerName("initWithCharactersNoCopy:length:freeWhenDone:"); +final _objc_msgSend_266 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - -class NSMutableArray extends NSArray { - NSMutableArray._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super.castFromPointer(pointer, retain: retain, release: release); - - /// Constructs a [NSMutableArray] that points to the same underlying object as [other]. - NSMutableArray.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); - - /// Constructs a [NSMutableArray] that wraps the given raw object pointer. - NSMutableArray.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); - - /// Returns whether [obj] is an instance of [NSMutableArray]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0( - obj.pointer, _sel_isKindOfClass_, _class_NSMutableArray); - } - - void addObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_198(this.pointer, _sel_addObject_, anObject.pointer); - } - - void insertObject_atIndex_(objc.ObjCObjectBase anObject, int index) { - _objc_msgSend_288( - this.pointer, _sel_insertObject_atIndex_, anObject.pointer, index); - } - - void removeLastObject() { - _objc_msgSend_1(this.pointer, _sel_removeLastObject); - } - - void removeObjectAtIndex_(int index) { - _objc_msgSend_289(this.pointer, _sel_removeObjectAtIndex_, index); - } - - void replaceObjectAtIndex_withObject_( - int index, objc.ObjCObjectBase anObject) { - _objc_msgSend_290(this.pointer, _sel_replaceObjectAtIndex_withObject_, - index, anObject.pointer); - } - - @override - NSMutableArray init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - NSMutableArray initWithCapacity_(int numItems) { - final _ret = - _objc_msgSend_97(this.pointer, _sel_initWithCapacity_, numItems); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - @override - NSMutableArray? initWithCoder_(NSCoder coder) { - final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); - return _ret.address == 0 - ? null - : NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - void addObjectsFromArray_(NSArray otherArray) { - _objc_msgSend_291( - this.pointer, _sel_addObjectsFromArray_, otherArray.pointer); - } - - void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) { - _objc_msgSend_292(this.pointer, - _sel_exchangeObjectAtIndex_withObjectAtIndex_, idx1, idx2); - } - - void removeAllObjects() { - _objc_msgSend_1(this.pointer, _sel_removeAllObjects); - } - - void removeObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_293( - this.pointer, _sel_removeObject_inRange_, anObject.pointer, range); - } - - void removeObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_198(this.pointer, _sel_removeObject_, anObject.pointer); - } - - void removeObjectIdenticalTo_inRange_( - objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_293(this.pointer, _sel_removeObjectIdenticalTo_inRange_, - anObject.pointer, range); - } - - void removeObjectIdenticalTo_(objc.ObjCObjectBase anObject) { - _objc_msgSend_198( - this.pointer, _sel_removeObjectIdenticalTo_, anObject.pointer); - } - - void removeObjectsFromIndices_numIndices_( - ffi.Pointer indices, int cnt) { - _objc_msgSend_294( - this.pointer, _sel_removeObjectsFromIndices_numIndices_, indices, cnt); - } - - void removeObjectsInArray_(NSArray otherArray) { - _objc_msgSend_291( - this.pointer, _sel_removeObjectsInArray_, otherArray.pointer); - } - - void removeObjectsInRange_(_NSRange range) { - _objc_msgSend_295(this.pointer, _sel_removeObjectsInRange_, range); - } - - void replaceObjectsInRange_withObjectsFromArray_range_( - _NSRange range, NSArray otherArray, _NSRange otherRange) { - _objc_msgSend_296( - this.pointer, - _sel_replaceObjectsInRange_withObjectsFromArray_range_, - range, - otherArray.pointer, - otherRange); - } - - void replaceObjectsInRange_withObjectsFromArray_( - _NSRange range, NSArray otherArray) { - _objc_msgSend_297( - this.pointer, - _sel_replaceObjectsInRange_withObjectsFromArray_, - range, - otherArray.pointer); - } - - void setArray_(NSArray otherArray) { - _objc_msgSend_291(this.pointer, _sel_setArray_, otherArray.pointer); - } - - void sortUsingFunction_context_( - ffi.Pointer< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>> - compare, - ffi.Pointer context) { - _objc_msgSend_298( - this.pointer, _sel_sortUsingFunction_context_, compare, context); - } - - void sortUsingSelector_(ffi.Pointer comparator) { - _objc_msgSend_7(this.pointer, _sel_sortUsingSelector_, comparator); - } - - void insertObjects_atIndexes_(NSArray objects, NSIndexSet indexes) { - _objc_msgSend_299(this.pointer, _sel_insertObjects_atIndexes_, - objects.pointer, indexes.pointer); - } - - void removeObjectsAtIndexes_(NSIndexSet indexes) { - _objc_msgSend_300( - this.pointer, _sel_removeObjectsAtIndexes_, indexes.pointer); - } - - void replaceObjectsAtIndexes_withObjects_( - NSIndexSet indexes, NSArray objects) { - _objc_msgSend_301(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, - indexes.pointer, objects.pointer); - } - - void setObject_atIndexedSubscript_(objc.ObjCObjectBase obj, int idx) { - _objc_msgSend_288( - this.pointer, _sel_setObject_atIndexedSubscript_, obj.pointer, idx); - } - - void sortUsingComparator_( - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_302(this.pointer, _sel_sortUsingComparator_, cmptr.pointer); - } - - void sortWithOptions_usingComparator_(int opts, - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_303(this.pointer, _sel_sortWithOptions_usingComparator_, opts, - cmptr.pointer); - } - - static NSMutableArray arrayWithCapacity_(int numItems) { - final _ret = _objc_msgSend_97( - _class_NSMutableArray, _sel_arrayWithCapacity_, numItems); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_156( - _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSArray.castFromPointer(_ret, retain: true, release: true); - } - - static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_157( - _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSArray.castFromPointer(_ret, retain: true, release: true); - } - - NSMutableArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_304( - this.pointer, _sel_initWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - NSMutableArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_305( - this.pointer, _sel_initWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - void applyDifference_(objc.ObjCObjectBase difference) { - _objc_msgSend_198(this.pointer, _sel_applyDifference_, difference.pointer); - } - - @override - NSMutableArray initWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( - this.pointer, _sel_initWithObjects_count_, objects, cnt); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } - - static NSMutableArray array() { - final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_array); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } + ffi.Pointer, + int, + bool)>(); +void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + int arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.UnsignedLong arg1)>>() + .asFunction, int)>()( + arg0, arg1); +void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + int arg1) => + (objc.getBlockClosure(block) as void Function( + ffi.Pointer, int))(arg0, arg1); - static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_148( - _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } +class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong + extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._( + ffi.Pointer pointer, + {bool retain = false, + bool release = true}) + : super(pointer, retain: retain, release: release); - static NSMutableArray arrayWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( - _class_NSMutableArray, _sel_arrayWithObjects_count_, objects, cnt); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._(pointer, + retain: retain, release: release); } - static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( - _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunctionPointer( + ffi + .Pointer< + ffi + .NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.UnsignedLong arg1)>> + ptr) + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; - static NSMutableArray arrayWithArray_(NSArray array) { - final _ret = _objc_msgSend_149( - _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunction( + void Function(ffi.Pointer, int) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + .cast(), + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); + static ffi.Pointer? _dartFuncTrampoline; - @override - NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( - this.pointer, _sel_initWithObjects_, firstObj.pointer); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.listener( + void Function(ffi.Pointer, int) fn) + : this._(objc.newClosureBlock( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>.listener( + _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>? _dartFuncListenerTrampoline; - @override - NSMutableArray initWithArray_(NSArray array) { - final _ret = - _objc_msgSend_149(this.pointer, _sel_initWithArray_, array.pointer); - return NSMutableArray.castFromPointer(_ret, retain: true, release: true); - } + void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.UnsignedLong arg1)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, int)>()(pointer, arg0, arg1); +} - @override - NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_150( - this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); - return NSMutableArray.castFromPointer(_ret, retain: false, release: true); - } +late final _sel_initWithCharactersNoCopy_length_deallocator_ = + objc.registerName("initWithCharactersNoCopy:length:deallocator:"); +final _objc_msgSend_267 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_initWithCharacters_length_ = + objc.registerName("initWithCharacters:length:"); +final _objc_msgSend_268 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); +late final _sel_initWithUTF8String_ = objc.registerName("initWithUTF8String:"); +final _objc_msgSend_269 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() + .asFunction< + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_initWithFormat_ = objc.registerName("initWithFormat:"); - static NSArray? arrayWithContentsOfURL_error_( - NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_151(_class_NSMutableArray, - _sel_arrayWithContentsOfURL_error_, url.pointer, error); - return _ret.address == 0 - ? null - : NSArray.castFromPointer(_ret, retain: true, release: true); - } +final class __va_list_tag extends ffi.Struct { + @ffi.UnsignedInt() + external int gp_offset; - static NSMutableArray new1() { - final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_new); - return NSMutableArray.castFromPointer(_ret, retain: false, release: true); - } + @ffi.UnsignedInt() + external int fp_offset; - static NSMutableArray allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = - _objc_msgSend_3(_class_NSMutableArray, _sel_allocWithZone_, zone); - return NSMutableArray.castFromPointer(_ret, retain: false, release: true); - } + external ffi.Pointer overflow_arg_area; - static NSMutableArray alloc() { - final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_alloc); - return NSMutableArray.castFromPointer(_ret, retain: false, release: true); - } + external ffi.Pointer reg_save_area; } -late final _class_NSMutableArray = objc.getClass("NSMutableArray"); -late final _sel_addObject_ = objc.registerName("addObject:"); -late final _sel_insertObject_atIndex_ = - objc.registerName("insertObject:atIndex:"); -final _objc_msgSend_288 = objc.msgSendPointer +late final _sel_initWithFormat_arguments_ = + objc.registerName("initWithFormat:arguments:"); +final _objc_msgSend_270 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>)>(); +late final _sel_initWithFormat_locale_ = + objc.registerName("initWithFormat:locale:"); +final _objc_msgSend_271 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_initWithFormat_locale_arguments_ = + objc.registerName("initWithFormat:locale:arguments:"); +final _objc_msgSend_272 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>)>(); +late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_ = + objc.registerName("initWithValidatedFormat:validFormatSpecifiers:error:"); +final _objc_msgSend_273 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_ = + objc.registerName( + "initWithValidatedFormat:validFormatSpecifiers:locale:error:"); +final _objc_msgSend_274 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_ = + objc.registerName( + "initWithValidatedFormat:validFormatSpecifiers:arguments:error:"); +final _objc_msgSend_275 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>, + ffi.Pointer>)>(); +late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_ = + objc.registerName( + "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:"); +final _objc_msgSend_276 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer<__va_list_tag>, + ffi.Pointer>)>(); +late final _sel_initWithData_encoding_ = + objc.registerName("initWithData:encoding:"); +final _objc_msgSend_277 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int)>(); -late final _sel_removeLastObject = objc.registerName("removeLastObject"); -late final _sel_removeObjectAtIndex_ = - objc.registerName("removeObjectAtIndex:"); -final _objc_msgSend_289 = objc.msgSendPointer +late final _sel_initWithBytes_length_encoding_ = + objc.registerName("initWithBytes:length:encoding:"); +final _objc_msgSend_278 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_replaceObjectAtIndex_withObject_ = - objc.registerName("replaceObjectAtIndex:withObject:"); -final _objc_msgSend_290 = objc.msgSendPointer + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int, int)>(); +late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_ = + objc.registerName("initWithBytesNoCopy:length:encoding:freeWhenDone:"); +final _objc_msgSend_279 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong, + ffi.Bool)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + int, + bool)>(); +late final _sel_initWithBytesNoCopy_length_encoding_deallocator_ = + objc.registerName("initWithBytesNoCopy:length:encoding:deallocator:"); +final _objc_msgSend_280 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong, - ffi.Pointer)>>() + ffi.UnsignedLong, + ffi.Pointer)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, int, - ffi.Pointer)>(); -late final _sel_initWithCapacity_ = objc.registerName("initWithCapacity:"); -late final _sel_addObjectsFromArray_ = - objc.registerName("addObjectsFromArray:"); -final _objc_msgSend_291 = objc.msgSendPointer + int, + ffi.Pointer)>(); +late final _sel_string = objc.registerName("string"); +late final _sel_stringWithString_ = objc.registerName("stringWithString:"); +late final _sel_stringWithCharacters_length_ = + objc.registerName("stringWithCharacters:length:"); +late final _sel_stringWithUTF8String_ = + objc.registerName("stringWithUTF8String:"); +late final _sel_stringWithFormat_ = objc.registerName("stringWithFormat:"); +late final _sel_localizedStringWithFormat_ = + objc.registerName("localizedStringWithFormat:"); +late final _sel_stringWithValidatedFormat_validFormatSpecifiers_error_ = + objc.registerName("stringWithValidatedFormat:validFormatSpecifiers:error:"); +late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_ = + objc.registerName( + "localizedStringWithValidatedFormat:validFormatSpecifiers:error:"); +late final _sel_initWithCString_encoding_ = + objc.registerName("initWithCString:encoding:"); +final _objc_msgSend_281 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer, + ffi.UnsignedLong)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_exchangeObjectAtIndex_withObjectAtIndex_ = - objc.registerName("exchangeObjectAtIndex:withObjectAtIndex:"); -final _objc_msgSend_292 = objc.msgSendPointer + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); +late final _sel_stringWithCString_encoding_ = + objc.registerName("stringWithCString:encoding:"); +late final _sel_initWithContentsOfURL_encoding_error_ = + objc.registerName("initWithContentsOfURL:encoding:error:"); +final _objc_msgSend_282 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong, - ffi.UnsignedLong)>>() + ffi.Pointer>)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int, int)>(); -late final _sel_removeAllObjects = objc.registerName("removeAllObjects"); -late final _sel_removeObject_inRange_ = - objc.registerName("removeObject:inRange:"); -final _objc_msgSend_293 = objc.msgSendPointer + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); +late final _sel_initWithContentsOfFile_encoding_error_ = + objc.registerName("initWithContentsOfFile:encoding:error:"); +final _objc_msgSend_283 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); +late final _sel_stringWithContentsOfURL_encoding_error_ = + objc.registerName("stringWithContentsOfURL:encoding:error:"); +late final _sel_stringWithContentsOfFile_encoding_error_ = + objc.registerName("stringWithContentsOfFile:encoding:error:"); +late final _sel_initWithContentsOfURL_usedEncoding_error_ = + objc.registerName("initWithContentsOfURL:usedEncoding:error:"); +final _objc_msgSend_284 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_initWithContentsOfFile_usedEncoding_error_ = + objc.registerName("initWithContentsOfFile:usedEncoding:error:"); +final _objc_msgSend_285 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + ffi.Pointer, + ffi.Pointer>)>>() .asFunction< - void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>(); -late final _sel_removeObject_ = objc.registerName("removeObject:"); -late final _sel_removeObjectIdenticalTo_inRange_ = - objc.registerName("removeObjectIdenticalTo:inRange:"); -late final _sel_removeObjectIdenticalTo_ = - objc.registerName("removeObjectIdenticalTo:"); -late final _sel_removeObjectsFromIndices_numIndices_ = - objc.registerName("removeObjectsFromIndices:numIndices:"); -final _objc_msgSend_294 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_stringWithContentsOfURL_usedEncoding_error_ = + objc.registerName("stringWithContentsOfURL:usedEncoding:error:"); +late final _sel_stringWithContentsOfFile_usedEncoding_error_ = + objc.registerName("stringWithContentsOfFile:usedEncoding:error:"); +late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_ = + objc.registerName( + "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:"); +final _objc_msgSend_286 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.UnsignedLong Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer)>>() .asFunction< - void Function( + int Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_removeObjectsInArray_ = - objc.registerName("removeObjectsInArray:"); -late final _sel_removeObjectsInRange_ = - objc.registerName("removeObjectsInRange:"); -final _objc_msgSend_295 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer)>(); +late final _sel_propertyList = objc.registerName("propertyList"); +late final _sel_propertyListFromStringsFileFormat = + objc.registerName("propertyListFromStringsFileFormat"); +final _objc_msgSend_287 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_cString = objc.registerName("cString"); +late final _sel_lossyCString = objc.registerName("lossyCString"); +late final _sel_cStringLength = objc.registerName("cStringLength"); +late final _sel_getCString_ = objc.registerName("getCString:"); +final _objc_msgSend_288 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, ffi.Pointer)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); -late final _sel_replaceObjectsInRange_withObjectsFromArray_range_ = - objc.registerName("replaceObjectsInRange:withObjectsFromArray:range:"); -final _objc_msgSend_296 = objc.msgSendPointer + ffi.Pointer, ffi.Pointer)>(); +late final _sel_getCString_maxLength_ = + objc.registerName("getCString:maxLength:"); +final _objc_msgSend_289 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer, - _NSRange)>>() + ffi.Pointer, + ffi.UnsignedLong)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer, - _NSRange)>(); -late final _sel_replaceObjectsInRange_withObjectsFromArray_ = - objc.registerName("replaceObjectsInRange:withObjectsFromArray:"); -final _objc_msgSend_297 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer, int)>(); +late final _sel_getCString_maxLength_range_remainingRange_ = + objc.registerName("getCString:maxLength:range:remainingRange:"); +final _objc_msgSend_290 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, _NSRange, - ffi.Pointer)>>() + ffi.Pointer<_NSRange>)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, + int, _NSRange, - ffi.Pointer)>(); -late final _sel_setArray_ = objc.registerName("setArray:"); -late final _sel_sortUsingFunction_context_ = - objc.registerName("sortUsingFunction:context:"); -final _objc_msgSend_298 = objc.msgSendPointer + ffi.Pointer<_NSRange>)>(); +late final _sel_stringWithContentsOfFile_ = + objc.registerName("stringWithContentsOfFile:"); +late final _sel_stringWithContentsOfURL_ = + objc.registerName("stringWithContentsOfURL:"); +late final _sel_initWithCStringNoCopy_length_freeWhenDone_ = + objc.registerName("initWithCStringNoCopy:length:freeWhenDone:"); +final _objc_msgSend_291 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer< - ffi.NativeFunction< - ffi.Long Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>, - ffi.Pointer)>>() + ffi.Pointer, + ffi.UnsignedLong, + ffi.Bool)>>() .asFunction< - void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer< - ffi.NativeFunction< - ffi.Long Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>, - ffi.Pointer)>(); -late final _sel_sortUsingSelector_ = objc.registerName("sortUsingSelector:"); -late final _sel_insertObjects_atIndexes_ = - objc.registerName("insertObjects:atIndexes:"); -final _objc_msgSend_299 = objc.msgSendPointer + ffi.Pointer, + int, + bool)>(); +late final _sel_initWithCString_length_ = + objc.registerName("initWithCString:length:"); +late final _sel_initWithCString_ = objc.registerName("initWithCString:"); +late final _sel_stringWithCString_length_ = + objc.registerName("stringWithCString:length:"); +late final _sel_stringWithCString_ = objc.registerName("stringWithCString:"); +late final _sel_getCharacters_ = objc.registerName("getCharacters:"); +final _objc_msgSend_292 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_removeObjectsAtIndexes_ = - objc.registerName("removeObjectsAtIndexes:"); -final _objc_msgSend_300 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_ = + objc.registerName("stringByAddingPercentEncodingWithAllowedCharacters:"); +final _objc_msgSend_293 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_replaceObjectsAtIndexes_withObjects_ = - objc.registerName("replaceObjectsAtIndexes:withObjects:"); -final _objc_msgSend_301 = objc.msgSendPointer +late final _sel_stringByRemovingPercentEncoding = + objc.registerName("stringByRemovingPercentEncoding"); +late final _sel_stringByAddingPercentEscapesUsingEncoding_ = + objc.registerName("stringByAddingPercentEscapesUsingEncoding:"); +final _objc_msgSend_294 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_setObject_atIndexedSubscript_ = - objc.registerName("setObject:atIndexedSubscript:"); -late final _sel_sortUsingComparator_ = - objc.registerName("sortUsingComparator:"); -final _objc_msgSend_302 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_stringByReplacingPercentEscapesUsingEncoding_ = + objc.registerName("stringByReplacingPercentEscapesUsingEncoding:"); +late final _sel_debugDescription = objc.registerName("debugDescription"); +late final _sel_version = objc.registerName("version"); +late final _sel_setVersion_ = objc.registerName("setVersion:"); +final _objc_msgSend_295 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() + ffi.Pointer, ffi.Long)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_sortWithOptions_usingComparator_ = - objc.registerName("sortWithOptions:usingComparator:"); -final _objc_msgSend_303 = objc.msgSendPointer + ffi.Pointer, int)>(); +late final _sel_classForCoder = objc.registerName("classForCoder"); +late final _sel_replacementObjectForCoder_ = + objc.registerName("replacementObjectForCoder:"); +late final _sel_awakeAfterUsingCoder_ = + objc.registerName("awakeAfterUsingCoder:"); +late final _sel_poseAsClass_ = objc.registerName("poseAsClass:"); +late final _sel_autoContentAccessingProxy = + objc.registerName("autoContentAccessingProxy"); +late final _sel_URL_resourceDataDidBecomeAvailable_ = + objc.registerName("URL:resourceDataDidBecomeAvailable:"); +final _objc_msgSend_296 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_arrayWithCapacity_ = objc.registerName("arrayWithCapacity:"); -final _objc_msgSend_304 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_URLResourceDidFinishLoading_ = + objc.registerName("URLResourceDidFinishLoading:"); +final _objc_msgSend_297 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_305 = objc.msgSendPointer +late final _sel_URLResourceDidCancelLoading_ = + objc.registerName("URLResourceDidCancelLoading:"); +late final _sel_URL_resourceDidFailLoadingWithReason_ = + objc.registerName("URL:resourceDidFailLoadingWithReason:"); +final _objc_msgSend_298 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_applyDifference_ = objc.registerName("applyDifference:"); + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); -class NSMutableData extends NSData { - NSMutableData._(ffi.Pointer pointer, +class NSMutableArray extends NSArray { + NSMutableArray._(ffi.Pointer pointer, {bool retain = false, bool release = false}) : super.castFromPointer(pointer, retain: retain, release: release); - /// Constructs a [NSMutableData] that points to the same underlying object as [other]. - NSMutableData.castFrom(objc.ObjCObjectBase other) + /// Constructs a [NSMutableArray] that points to the same underlying object as [other]. + NSMutableArray.castFrom(objc.ObjCObjectBase other) : this._(other.pointer, retain: true, release: true); - /// Constructs a [NSMutableData] that wraps the given raw object pointer. - NSMutableData.castFromPointer(ffi.Pointer other, + /// Constructs a [NSMutableArray] that wraps the given raw object pointer. + NSMutableArray.castFromPointer(ffi.Pointer other, {bool retain = false, bool release = false}) : this._(other, retain: retain, release: release); - /// Returns whether [obj] is an instance of [NSMutableData]. + /// Returns whether [obj] is an instance of [NSMutableArray]. static bool isInstance(objc.ObjCObjectBase obj) { return _objc_msgSend_0( - obj.pointer, _sel_isKindOfClass_, _class_NSMutableData); + obj.pointer, _sel_isKindOfClass_, _class_NSMutableArray); } - ffi.Pointer get mutableBytes { - return _objc_msgSend_31(this.pointer, _sel_mutableBytes); + void addObject_(objc.ObjCObjectBase anObject) { + _objc_msgSend_210(this.pointer, _sel_addObject_, anObject.pointer); + } + + void insertObject_atIndex_(objc.ObjCObjectBase anObject, int index) { + _objc_msgSend_299( + this.pointer, _sel_insertObject_atIndex_, anObject.pointer, index); + } + + void removeLastObject() { + _objc_msgSend_1(this.pointer, _sel_removeLastObject); + } + + void removeObjectAtIndex_(int index) { + _objc_msgSend_300(this.pointer, _sel_removeObjectAtIndex_, index); + } + + void replaceObjectAtIndex_withObject_( + int index, objc.ObjCObjectBase anObject) { + _objc_msgSend_301(this.pointer, _sel_replaceObjectAtIndex_withObject_, + index, anObject.pointer); } @override - int get length { - return _objc_msgSend_12(this.pointer, _sel_length); + NSMutableArray init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - set length(int value) { - return _objc_msgSend_306(this.pointer, _sel_setLength_, value); + NSMutableArray initWithCapacity_(int numItems) { + final _ret = + _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - void appendBytes_length_(ffi.Pointer bytes, int length) { - _objc_msgSend_33(this.pointer, _sel_appendBytes_length_, bytes, length); + @override + NSMutableArray? initWithCoder_(NSCoder coder) { + final _ret = + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); + return _ret.address == 0 + ? null + : NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - void appendData_(NSData other) { - _objc_msgSend_307(this.pointer, _sel_appendData_, other.pointer); + void addObjectsFromArray_(NSArray otherArray) { + _objc_msgSend_302( + this.pointer, _sel_addObjectsFromArray_, otherArray.pointer); } - void increaseLengthBy_(int extraLength) { - _objc_msgSend_289(this.pointer, _sel_increaseLengthBy_, extraLength); + void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) { + _objc_msgSend_303(this.pointer, + _sel_exchangeObjectAtIndex_withObjectAtIndex_, idx1, idx2); } - void replaceBytesInRange_withBytes_( - _NSRange range, ffi.Pointer bytes) { - _objc_msgSend_308( - this.pointer, _sel_replaceBytesInRange_withBytes_, range, bytes); + void removeAllObjects() { + _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } - void resetBytesInRange_(_NSRange range) { - _objc_msgSend_295(this.pointer, _sel_resetBytesInRange_, range); + void removeObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { + _objc_msgSend_304( + this.pointer, _sel_removeObject_inRange_, anObject.pointer, range); } - void setData_(NSData data) { - _objc_msgSend_307(this.pointer, _sel_setData_, data.pointer); + void removeObject_(objc.ObjCObjectBase anObject) { + _objc_msgSend_210(this.pointer, _sel_removeObject_, anObject.pointer); } - void replaceBytesInRange_withBytes_length_(_NSRange range, - ffi.Pointer replacementBytes, int replacementLength) { - _objc_msgSend_309(this.pointer, _sel_replaceBytesInRange_withBytes_length_, - range, replacementBytes, replacementLength); + void removeObjectIdenticalTo_inRange_( + objc.ObjCObjectBase anObject, _NSRange range) { + _objc_msgSend_304(this.pointer, _sel_removeObjectIdenticalTo_inRange_, + anObject.pointer, range); } - static NSMutableData? dataWithCapacity_(int aNumItems) { - final _ret = _objc_msgSend_310( - _class_NSMutableData, _sel_dataWithCapacity_, aNumItems); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void removeObjectIdenticalTo_(objc.ObjCObjectBase anObject) { + _objc_msgSend_210( + this.pointer, _sel_removeObjectIdenticalTo_, anObject.pointer); } - static NSMutableData? dataWithLength_(int length) { - final _ret = - _objc_msgSend_310(_class_NSMutableData, _sel_dataWithLength_, length); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void removeObjectsFromIndices_numIndices_( + ffi.Pointer indices, int cnt) { + _objc_msgSend_305( + this.pointer, _sel_removeObjectsFromIndices_numIndices_, indices, cnt); } - NSMutableData? initWithCapacity_(int capacity) { - final _ret = - _objc_msgSend_310(this.pointer, _sel_initWithCapacity_, capacity); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void removeObjectsInArray_(NSArray otherArray) { + _objc_msgSend_302( + this.pointer, _sel_removeObjectsInArray_, otherArray.pointer); } - NSMutableData? initWithLength_(int length) { - final _ret = _objc_msgSend_310(this.pointer, _sel_initWithLength_, length); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void removeObjectsInRange_(_NSRange range) { + _objc_msgSend_306(this.pointer, _sel_removeObjectsInRange_, range); } - bool decompressUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - return _objc_msgSend_311( - this.pointer, _sel_decompressUsingAlgorithm_error_, algorithm, error); + void replaceObjectsInRange_withObjectsFromArray_range_( + _NSRange range, NSArray otherArray, _NSRange otherRange) { + _objc_msgSend_307( + this.pointer, + _sel_replaceObjectsInRange_withObjectsFromArray_range_, + range, + otherArray.pointer, + otherRange); } - bool compressUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - return _objc_msgSend_311( - this.pointer, _sel_compressUsingAlgorithm_error_, algorithm, error); + void replaceObjectsInRange_withObjectsFromArray_( + _NSRange range, NSArray otherArray) { + _objc_msgSend_308( + this.pointer, + _sel_replaceObjectsInRange_withObjectsFromArray_, + range, + otherArray.pointer); } - static NSMutableData data() { - final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_data); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + void setArray_(NSArray otherArray) { + _objc_msgSend_302(this.pointer, _sel_setArray_, otherArray.pointer); } - static NSMutableData dataWithBytes_length_( - ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( - _class_NSMutableData, _sel_dataWithBytes_length_, bytes, length); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + void sortUsingFunction_context_( + ffi.Pointer< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>> + compare, + ffi.Pointer context) { + _objc_msgSend_309( + this.pointer, _sel_sortUsingFunction_context_, compare, context); } - static NSMutableData dataWithBytesNoCopy_length_( - ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( - _class_NSMutableData, _sel_dataWithBytesNoCopy_length_, bytes, length); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + void sortUsingSelector_(ffi.Pointer comparator) { + _objc_msgSend_7(this.pointer, _sel_sortUsingSelector_, comparator); } - static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_( - ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_211(_class_NSMutableData, - _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + void insertObjects_atIndexes_(NSArray objects, NSIndexSet indexes) { + _objc_msgSend_310(this.pointer, _sel_insertObjects_atIndexes_, + objects.pointer, indexes.pointer); } - static NSMutableData? dataWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_212( - _class_NSMutableData, - _sel_dataWithContentsOfFile_options_error_, - path.pointer, - readOptionsMask, - errorPtr); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void removeObjectsAtIndexes_(NSIndexSet indexes) { + _objc_msgSend_311( + this.pointer, _sel_removeObjectsAtIndexes_, indexes.pointer); } - static NSMutableData? dataWithContentsOfURL_options_error_(NSURL url, - int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_213( - _class_NSMutableData, - _sel_dataWithContentsOfURL_options_error_, - url.pointer, - readOptionsMask, - errorPtr); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void replaceObjectsAtIndexes_withObjects_( + NSIndexSet indexes, NSArray objects) { + _objc_msgSend_312(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, + indexes.pointer, objects.pointer); } - static NSMutableData? dataWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( - _class_NSMutableData, _sel_dataWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void setObject_atIndexedSubscript_(objc.ObjCObjectBase obj, int idx) { + _objc_msgSend_299( + this.pointer, _sel_setObject_atIndexedSubscript_, obj.pointer, idx); } - static NSMutableData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( - _class_NSMutableData, _sel_dataWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + void sortUsingComparator_( + ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { + _objc_msgSend_313(this.pointer, _sel_sortUsingComparator_, cmptr.pointer); } - @override - NSMutableData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( - this.pointer, _sel_initWithBytes_length_, bytes, length); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + void sortWithOptions_usingComparator_(int opts, + ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { + _objc_msgSend_314(this.pointer, _sel_sortWithOptions_usingComparator_, opts, + cmptr.pointer); } - @override - NSMutableData initWithBytesNoCopy_length_( - ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_210( - this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + static NSMutableArray arrayWithCapacity_(int numItems) { + final _ret = _objc_msgSend_99( + _class_NSMutableArray, _sel_arrayWithCapacity_, numItems); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData initWithBytesNoCopy_length_freeWhenDone_( - ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_211(this.pointer, - _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + static NSArray? arrayWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_159( + _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); + return _ret.address == 0 + ? null + : NSArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData initWithBytesNoCopy_length_deallocator_( - ffi.Pointer bytes, - int length, - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_215( - this.pointer, - _sel_initWithBytesNoCopy_length_deallocator_, - bytes, - length, - deallocator?.pointer ?? ffi.nullptr); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + static NSArray? arrayWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_160( + _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); + return _ret.address == 0 + ? null + : NSArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData? initWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_212( - this.pointer, - _sel_initWithContentsOfFile_options_error_, - path.pointer, - readOptionsMask, - errorPtr); + NSMutableArray? initWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_315( + this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + : NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData? initWithContentsOfURL_options_error_(NSURL url, - int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_213( - this.pointer, - _sel_initWithContentsOfURL_options_error_, - url.pointer, - readOptionsMask, - errorPtr); + NSMutableArray? initWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_316( + this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + : NSMutableArray.castFromPointer(_ret, retain: true, release: true); + } + + void applyDifference_(objc.ObjCObjectBase difference) { + _objc_msgSend_210(this.pointer, _sel_applyDifference_, difference.pointer); + } + + @override + NSMutableArray initWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + this.pointer, _sel_initWithObjects_count_, objects, cnt); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( - this.pointer, _sel_initWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + static NSMutableArray array() { + final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_array); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( - this.pointer, _sel_initWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { + final _ret = _objc_msgSend_151( + _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData initWithData_(NSData data) { - final _ret = - _objc_msgSend_216(this.pointer, _sel_initWithData_, data.pointer); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + static NSMutableArray arrayWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + _class_NSMutableArray, _sel_arrayWithObjects_count_, objects, cnt); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - static NSMutableData dataWithData_(NSData data) { - final _ret = _objc_msgSend_216( - _class_NSMutableData, _sel_dataWithData_, data.pointer); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = _objc_msgSend_151( + _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableData? initWithBase64EncodedString_options_( - NSString base64String, int options) { - final _ret = _objc_msgSend_217( - this.pointer, - _sel_initWithBase64EncodedString_options_, - base64String.pointer, - options); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + static NSMutableArray arrayWithArray_(NSArray array) { + final _ret = _objc_msgSend_152( + _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override - NSMutableData? initWithBase64EncodedData_options_( - NSData base64Data, int options) { - final _ret = _objc_msgSend_219(this.pointer, - _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = _objc_msgSend_151( + this.pointer, _sel_initWithObjects_, firstObj.pointer); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override - NSMutableData? decompressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_221(this.pointer, - _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + NSMutableArray initWithArray_(NSArray array) { + final _ret = + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); + return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override - NSMutableData? compressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_221(this.pointer, - _sel_compressedDataUsingAlgorithm_error_, algorithm, error); - return _ret.address == 0 - ? null - : NSMutableData.castFromPointer(_ret, retain: true, release: true); + NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { + final _ret = _objc_msgSend_153( + this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); + return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } - static objc.ObjCObjectBase? dataWithContentsOfMappedFile_(NSString path) { - final _ret = _objc_msgSend_49( - _class_NSMutableData, _sel_dataWithContentsOfMappedFile_, path.pointer); + static NSArray? arrayWithContentsOfURL_error_( + NSURL url, ffi.Pointer> error) { + final _ret = _objc_msgSend_154(_class_NSMutableArray, + _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - @override - NSMutableData init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSMutableData.castFromPointer(_ret, retain: true, release: true); + : NSArray.castFromPointer(_ret, retain: true, release: true); } - static NSMutableData new1() { - final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_new); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + static NSMutableArray new1() { + final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_new); + return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } - static NSMutableData allocWithZone_(ffi.Pointer<_NSZone> zone) { + static NSMutableArray allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = - _objc_msgSend_3(_class_NSMutableData, _sel_allocWithZone_, zone); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + _objc_msgSend_3(_class_NSMutableArray, _sel_allocWithZone_, zone); + return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } - static NSMutableData alloc() { - final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_alloc); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); + static NSMutableArray alloc() { + final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_alloc); + return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } } -late final _class_NSMutableData = objc.getClass("NSMutableData"); -late final _sel_mutableBytes = objc.registerName("mutableBytes"); -late final _sel_setLength_ = objc.registerName("setLength:"); +late final _class_NSMutableArray = objc.getClass("NSMutableArray"); +late final _sel_addObject_ = objc.registerName("addObject:"); +late final _sel_insertObject_atIndex_ = + objc.registerName("insertObject:atIndex:"); +final _objc_msgSend_299 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); +late final _sel_removeLastObject = objc.registerName("removeLastObject"); +late final _sel_removeObjectAtIndex_ = + objc.registerName("removeObjectAtIndex:"); +final _objc_msgSend_300 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_replaceObjectAtIndex_withObject_ = + objc.registerName("replaceObjectAtIndex:withObject:"); +final _objc_msgSend_301 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_initWithCapacity_ = objc.registerName("initWithCapacity:"); +late final _sel_addObjectsFromArray_ = + objc.registerName("addObjectsFromArray:"); +final _objc_msgSend_302 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_exchangeObjectAtIndex_withObjectAtIndex_ = + objc.registerName("exchangeObjectAtIndex:withObjectAtIndex:"); +final _objc_msgSend_303 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong, + ffi.UnsignedLong)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, int, int)>(); +late final _sel_removeAllObjects = objc.registerName("removeAllObjects"); +late final _sel_removeObject_inRange_ = + objc.registerName("removeObject:inRange:"); +final _objc_msgSend_304 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + _NSRange)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + _NSRange)>(); +late final _sel_removeObject_ = objc.registerName("removeObject:"); +late final _sel_removeObjectIdenticalTo_inRange_ = + objc.registerName("removeObjectIdenticalTo:inRange:"); +late final _sel_removeObjectIdenticalTo_ = + objc.registerName("removeObjectIdenticalTo:"); +late final _sel_removeObjectsFromIndices_numIndices_ = + objc.registerName("removeObjectsFromIndices:numIndices:"); +final _objc_msgSend_305 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); +late final _sel_removeObjectsInArray_ = + objc.registerName("removeObjectsInArray:"); +late final _sel_removeObjectsInRange_ = + objc.registerName("removeObjectsInRange:"); final _objc_msgSend_306 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, _NSRange)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, _NSRange)>(); +late final _sel_replaceObjectsInRange_withObjectsFromArray_range_ = + objc.registerName("replaceObjectsInRange:withObjectsFromArray:range:"); +final _objc_msgSend_307 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer, + _NSRange)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer, + _NSRange)>(); +late final _sel_replaceObjectsInRange_withObjectsFromArray_ = + objc.registerName("replaceObjectsInRange:withObjectsFromArray:"); +final _objc_msgSend_308 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_appendBytes_length_ = objc.registerName("appendBytes:length:"); -late final _sel_appendData_ = objc.registerName("appendData:"); -final _objc_msgSend_307 = objc.msgSendPointer + void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer)>(); +late final _sel_setArray_ = objc.registerName("setArray:"); +late final _sel_sortUsingFunction_context_ = + objc.registerName("sortUsingFunction:context:"); +final _objc_msgSend_309 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer< + ffi.NativeFunction< + ffi.Long Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer< + ffi.NativeFunction< + ffi.Long Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>, + ffi.Pointer)>(); +late final _sel_sortUsingSelector_ = objc.registerName("sortUsingSelector:"); +late final _sel_insertObjects_atIndexes_ = + objc.registerName("insertObjects:atIndexes:"); +final _objc_msgSend_310 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_increaseLengthBy_ = objc.registerName("increaseLengthBy:"); -late final _sel_replaceBytesInRange_withBytes_ = - objc.registerName("replaceBytesInRange:withBytes:"); -final _objc_msgSend_308 = objc.msgSendPointer + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_removeObjectsAtIndexes_ = + objc.registerName("removeObjectsAtIndexes:"); +final _objc_msgSend_311 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer)>>() + ffi.Pointer)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, _NSRange, ffi.Pointer)>(); -late final _sel_resetBytesInRange_ = objc.registerName("resetBytesInRange:"); -late final _sel_setData_ = objc.registerName("setData:"); -late final _sel_replaceBytesInRange_withBytes_length_ = - objc.registerName("replaceBytesInRange:withBytes:length:"); -final _objc_msgSend_309 = objc.msgSendPointer + ffi.Pointer, ffi.Pointer)>(); +late final _sel_replaceObjectsAtIndexes_withObjects_ = + objc.registerName("replaceObjectsAtIndexes:withObjects:"); +final _objc_msgSend_312 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - _NSRange, - ffi.Pointer, - int)>(); -late final _sel_dataWithCapacity_ = objc.registerName("dataWithCapacity:"); -final _objc_msgSend_310 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_setObject_atIndexedSubscript_ = + objc.registerName("setObject:atIndexedSubscript:"); +late final _sel_sortUsingComparator_ = + objc.registerName("sortUsingComparator:"); +final _objc_msgSend_313 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_dataWithLength_ = objc.registerName("dataWithLength:"); -late final _sel_initWithLength_ = objc.registerName("initWithLength:"); -late final _sel_decompressUsingAlgorithm_error_ = - objc.registerName("decompressUsingAlgorithm:error:"); -final _objc_msgSend_311 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_sortWithOptions_usingComparator_ = + objc.registerName("sortWithOptions:usingComparator:"); +final _objc_msgSend_314 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Int32, - ffi.Pointer>)>>() + ffi.Pointer)>>() .asFunction< - bool Function( + void Function( ffi.Pointer, ffi.Pointer, int, - ffi.Pointer>)>(); -late final _sel_compressUsingAlgorithm_error_ = - objc.registerName("compressUsingAlgorithm:error:"); + ffi.Pointer)>(); +late final _sel_arrayWithCapacity_ = objc.registerName("arrayWithCapacity:"); +final _objc_msgSend_315 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +final _objc_msgSend_316 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_applyDifference_ = objc.registerName("applyDifference:"); -class NSNotification extends NSObject { - NSNotification._(ffi.Pointer pointer, +class NSMutableData extends NSData { + NSMutableData._(ffi.Pointer pointer, {bool retain = false, bool release = false}) : super.castFromPointer(pointer, retain: retain, release: release); - /// Constructs a [NSNotification] that points to the same underlying object as [other]. - NSNotification.castFrom(objc.ObjCObjectBase other) + /// Constructs a [NSMutableData] that points to the same underlying object as [other]. + NSMutableData.castFrom(objc.ObjCObjectBase other) : this._(other.pointer, retain: true, release: true); - /// Constructs a [NSNotification] that wraps the given raw object pointer. - NSNotification.castFromPointer(ffi.Pointer other, + /// Constructs a [NSMutableData] that wraps the given raw object pointer. + NSMutableData.castFromPointer(ffi.Pointer other, {bool retain = false, bool release = false}) : this._(other, retain: retain, release: release); - /// Returns whether [obj] is an instance of [NSNotification]. + /// Returns whether [obj] is an instance of [NSMutableData]. static bool isInstance(objc.ObjCObjectBase obj) { return _objc_msgSend_0( - obj.pointer, _sel_isKindOfClass_, _class_NSNotification); - } - - NSString get name { - final _ret = _objc_msgSend_32(this.pointer, _sel_name); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase? get object { - final _ret = _objc_msgSend_88(this.pointer, _sel_object); - return _ret.address == 0 - ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - NSDictionary? get userInfo { - final _ret = _objc_msgSend_276(this.pointer, _sel_userInfo); - return _ret.address == 0 - ? null - : NSDictionary.castFromPointer(_ret, retain: true, release: true); - } - - NSNotification initWithName_object_userInfo_( - NSString name, objc.ObjCObjectBase? object, NSDictionary? userInfo) { - final _ret = _objc_msgSend_312( - this.pointer, - _sel_initWithName_object_userInfo_, - name.pointer, - object?.pointer ?? ffi.nullptr, - userInfo?.pointer ?? ffi.nullptr); - return NSNotification.castFromPointer(_ret, retain: true, release: true); - } - - NSNotification? initWithCoder_(NSCoder coder) { - final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); - return _ret.address == 0 - ? null - : NSNotification.castFromPointer(_ret, retain: true, release: true); - } - - static NSNotification notificationWithName_object_( - NSString aName, objc.ObjCObjectBase? anObject) { - final _ret = _objc_msgSend_260( - _class_NSNotification, - _sel_notificationWithName_object_, - aName.pointer, - anObject?.pointer ?? ffi.nullptr); - return NSNotification.castFromPointer(_ret, retain: true, release: true); + obj.pointer, _sel_isKindOfClass_, _class_NSMutableData); } - static NSNotification notificationWithName_object_userInfo_( - NSString aName, objc.ObjCObjectBase? anObject, NSDictionary? aUserInfo) { - final _ret = _objc_msgSend_312( - _class_NSNotification, - _sel_notificationWithName_object_userInfo_, - aName.pointer, - anObject?.pointer ?? ffi.nullptr, - aUserInfo?.pointer ?? ffi.nullptr); - return NSNotification.castFromPointer(_ret, retain: true, release: true); + ffi.Pointer get mutableBytes { + return _objc_msgSend_34(this.pointer, _sel_mutableBytes); } @override - NSNotification init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSNotification.castFromPointer(_ret, retain: true, release: true); + int get length { + return _objc_msgSend_11(this.pointer, _sel_length); } - static NSNotification new1() { - final _ret = _objc_msgSend_2(_class_NSNotification, _sel_new); - return NSNotification.castFromPointer(_ret, retain: false, release: true); + set length(int value) { + return _objc_msgSend_317(this.pointer, _sel_setLength_, value); } - static NSNotification allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = - _objc_msgSend_3(_class_NSNotification, _sel_allocWithZone_, zone); - return NSNotification.castFromPointer(_ret, retain: false, release: true); + void appendBytes_length_(ffi.Pointer bytes, int length) { + _objc_msgSend_36(this.pointer, _sel_appendBytes_length_, bytes, length); } - static NSNotification alloc() { - final _ret = _objc_msgSend_2(_class_NSNotification, _sel_alloc); - return NSNotification.castFromPointer(_ret, retain: false, release: true); + void appendData_(NSData other) { + _objc_msgSend_318(this.pointer, _sel_appendData_, other.pointer); } -} - -late final _class_NSNotification = objc.getClass("NSNotification"); -late final _sel_name = objc.registerName("name"); -late final _sel_object = objc.registerName("object"); -late final _sel_userInfo = objc.registerName("userInfo"); -late final _sel_initWithName_object_userInfo_ = - objc.registerName("initWithName:object:userInfo:"); -final _objc_msgSend_312 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_notificationWithName_object_ = - objc.registerName("notificationWithName:object:"); -late final _sel_notificationWithName_object_userInfo_ = - objc.registerName("notificationWithName:object:userInfo:"); -class NSDate extends NSObject { - NSDate._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super.castFromPointer(pointer, retain: retain, release: release); + void increaseLengthBy_(int extraLength) { + _objc_msgSend_300(this.pointer, _sel_increaseLengthBy_, extraLength); + } - /// Constructs a [NSDate] that points to the same underlying object as [other]. - NSDate.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); + void replaceBytesInRange_withBytes_( + _NSRange range, ffi.Pointer bytes) { + _objc_msgSend_319( + this.pointer, _sel_replaceBytesInRange_withBytes_, range, bytes); + } - /// Constructs a [NSDate] that wraps the given raw object pointer. - NSDate.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); + void resetBytesInRange_(_NSRange range) { + _objc_msgSend_306(this.pointer, _sel_resetBytesInRange_, range); + } - /// Returns whether [obj] is an instance of [NSDate]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSDate); + void setData_(NSData data) { + _objc_msgSend_318(this.pointer, _sel_setData_, data.pointer); } - static double getTimeIntervalSinceReferenceDate() { - return objc.useMsgSendVariants - ? _objc_msgSend_80Fpret( - _class_NSDate, _sel_timeIntervalSinceReferenceDate) - : _objc_msgSend_80(_class_NSDate, _sel_timeIntervalSinceReferenceDate); + void replaceBytesInRange_withBytes_length_(_NSRange range, + ffi.Pointer replacementBytes, int replacementLength) { + _objc_msgSend_320(this.pointer, _sel_replaceBytesInRange_withBytes_length_, + range, replacementBytes, replacementLength); } - @override - NSDate init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static NSMutableData? dataWithCapacity_(int aNumItems) { + final _ret = _objc_msgSend_321( + _class_NSMutableData, _sel_dataWithCapacity_, aNumItems); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_313( - this.pointer, _sel_initWithTimeIntervalSinceReferenceDate_, ti); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static NSMutableData? dataWithLength_(int length) { + final _ret = + _objc_msgSend_321(_class_NSMutableData, _sel_dataWithLength_, length); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate? initWithCoder_(NSCoder coder) { + NSMutableData? initWithCapacity_(int capacity) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_321(this.pointer, _sel_initWithCapacity_, capacity); return _ret.address == 0 ? null - : NSDate.castFromPointer(_ret, retain: true, release: true); + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - double timeIntervalSinceDate_(NSDate anotherDate) { - return objc.useMsgSendVariants - ? _objc_msgSend_314Fpret( - this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer) - : _objc_msgSend_314( - this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer); + NSMutableData? initWithLength_(int length) { + final _ret = _objc_msgSend_321(this.pointer, _sel_initWithLength_, length); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - double get timeIntervalSinceNow { - return objc.useMsgSendVariants - ? _objc_msgSend_80Fpret(this.pointer, _sel_timeIntervalSinceNow) - : _objc_msgSend_80(this.pointer, _sel_timeIntervalSinceNow); + bool decompressUsingAlgorithm_error_( + int algorithm, ffi.Pointer> error) { + return _objc_msgSend_322( + this.pointer, _sel_decompressUsingAlgorithm_error_, algorithm, error); } - double get timeIntervalSince1970 { - return objc.useMsgSendVariants - ? _objc_msgSend_80Fpret(this.pointer, _sel_timeIntervalSince1970) - : _objc_msgSend_80(this.pointer, _sel_timeIntervalSince1970); + bool compressUsingAlgorithm_error_( + int algorithm, ffi.Pointer> error) { + return _objc_msgSend_322( + this.pointer, _sel_compressUsingAlgorithm_error_, algorithm, error); } - objc.ObjCObjectBase addTimeInterval_(double seconds) { - final _ret = - _objc_msgSend_313(this.pointer, _sel_addTimeInterval_, seconds); - return objc.ObjCObjectBase(_ret, retain: true, release: true); + static NSMutableData data() { + final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_data); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate dateByAddingTimeInterval_(double ti) { - final _ret = - _objc_msgSend_313(this.pointer, _sel_dateByAddingTimeInterval_, ti); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static NSMutableData dataWithBytes_length_( + ffi.Pointer bytes, int length) { + final _ret = _objc_msgSend_222( + _class_NSMutableData, _sel_dataWithBytes_length_, bytes, length); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate earlierDate_(NSDate anotherDate) { - final _ret = - _objc_msgSend_315(this.pointer, _sel_earlierDate_, anotherDate.pointer); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static NSMutableData dataWithBytesNoCopy_length_( + ffi.Pointer bytes, int length) { + final _ret = _objc_msgSend_222( + _class_NSMutableData, _sel_dataWithBytesNoCopy_length_, bytes, length); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - NSDate laterDate_(NSDate anotherDate) { - final _ret = - _objc_msgSend_315(this.pointer, _sel_laterDate_, anotherDate.pointer); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_( + ffi.Pointer bytes, int length, bool b) { + final _ret = _objc_msgSend_223(_class_NSMutableData, + _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - int compare_(NSDate other) { - return _objc_msgSend_316(this.pointer, _sel_compare_, other.pointer); + static NSMutableData? dataWithContentsOfFile_options_error_(NSString path, + int readOptionsMask, ffi.Pointer> errorPtr) { + final _ret = _objc_msgSend_224( + _class_NSMutableData, + _sel_dataWithContentsOfFile_options_error_, + path.pointer, + readOptionsMask, + errorPtr); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - bool isEqualToDate_(NSDate otherDate) { - return _objc_msgSend_317( - this.pointer, _sel_isEqualToDate_, otherDate.pointer); + static NSMutableData? dataWithContentsOfURL_options_error_(NSURL url, + int readOptionsMask, ffi.Pointer> errorPtr) { + final _ret = _objc_msgSend_225( + _class_NSMutableData, + _sel_dataWithContentsOfURL_options_error_, + url.pointer, + readOptionsMask, + errorPtr); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); - return NSString.castFromPointer(_ret, retain: true, release: true); + static NSMutableData? dataWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_52( + _class_NSMutableData, _sel_dataWithContentsOfFile_, path.pointer); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_83(this.pointer, _sel_descriptionWithLocale_, - locale?.pointer ?? ffi.nullptr); - return NSString.castFromPointer(_ret, retain: true, release: true); + static NSMutableData? dataWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_226( + _class_NSMutableData, _sel_dataWithContentsOfURL_, url.pointer); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate date() { - final _ret = _objc_msgSend_2(_class_NSDate, _sel_date); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData initWithBytes_length_(ffi.Pointer bytes, int length) { + final _ret = _objc_msgSend_222( + this.pointer, _sel_initWithBytes_length_, bytes, length); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate dateWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_313( - _class_NSDate, _sel_dateWithTimeIntervalSinceNow_, secs); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData initWithBytesNoCopy_length_( + ffi.Pointer bytes, int length) { + final _ret = _objc_msgSend_222( + this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSDate dateWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_313( - _class_NSDate, _sel_dateWithTimeIntervalSinceReferenceDate_, ti); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData initWithBytesNoCopy_length_freeWhenDone_( + ffi.Pointer bytes, int length, bool b) { + final _ret = _objc_msgSend_223(this.pointer, + _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSDate dateWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_313( - _class_NSDate, _sel_dateWithTimeIntervalSince1970_, secs); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData initWithBytesNoCopy_length_deallocator_( + ffi.Pointer bytes, + int length, + ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { + final _ret = _objc_msgSend_227( + this.pointer, + _sel_initWithBytesNoCopy_length_deallocator_, + bytes, + length, + deallocator?.pointer ?? ffi.nullptr); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSDate dateWithTimeInterval_sinceDate_( - double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_318(_class_NSDate, - _sel_dateWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData? initWithContentsOfFile_options_error_(NSString path, + int readOptionsMask, ffi.Pointer> errorPtr) { + final _ret = _objc_msgSend_224( + this.pointer, + _sel_initWithContentsOfFile_options_error_, + path.pointer, + readOptionsMask, + errorPtr); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate getDistantFuture() { - final _ret = _objc_msgSend_319(_class_NSDate, _sel_distantFuture); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData? initWithContentsOfURL_options_error_(NSURL url, + int readOptionsMask, ffi.Pointer> errorPtr) { + final _ret = _objc_msgSend_225( + this.pointer, + _sel_initWithContentsOfURL_options_error_, + url.pointer, + readOptionsMask, + errorPtr); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate getDistantPast() { - final _ret = _objc_msgSend_319(_class_NSDate, _sel_distantPast); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData? initWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_52( + this.pointer, _sel_initWithContentsOfFile_, path.pointer); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate getNow() { - final _ret = _objc_msgSend_319(_class_NSDate, _sel_now); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData? initWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_226( + this.pointer, _sel_initWithContentsOfURL_, url.pointer); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate initWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_313( - this.pointer, _sel_initWithTimeIntervalSinceNow_, secs); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData initWithData_(NSData data) { + final _ret = + _objc_msgSend_228(this.pointer, _sel_initWithData_, data.pointer); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); + } + + static NSMutableData dataWithData_(NSData data) { + final _ret = _objc_msgSend_228( + _class_NSMutableData, _sel_dataWithData_, data.pointer); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSMutableData? initWithBase64EncodedString_options_( + NSString base64String, int options) { + final _ret = _objc_msgSend_229( + this.pointer, + _sel_initWithBase64EncodedString_options_, + base64String.pointer, + options); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSMutableData? initWithBase64EncodedData_options_( + NSData base64Data, int options) { + final _ret = _objc_msgSend_231(this.pointer, + _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSMutableData? decompressedDataUsingAlgorithm_error_( + int algorithm, ffi.Pointer> error) { + final _ret = _objc_msgSend_233(this.pointer, + _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSMutableData? compressedDataUsingAlgorithm_error_( + int algorithm, ffi.Pointer> error) { + final _ret = _objc_msgSend_233(this.pointer, + _sel_compressedDataUsingAlgorithm_error_, algorithm, error); + return _ret.address == 0 + ? null + : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSDate initWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_313( - this.pointer, _sel_initWithTimeIntervalSince1970_, secs); - return NSDate.castFromPointer(_ret, retain: true, release: true); + static objc.ObjCObjectBase? dataWithContentsOfMappedFile_(NSString path) { + final _ret = _objc_msgSend_52( + _class_NSMutableData, _sel_dataWithContentsOfMappedFile_, path.pointer); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); } - NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_318(this.pointer, - _sel_initWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); - return NSDate.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableData init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSDate new1() { - final _ret = _objc_msgSend_2(_class_NSDate, _sel_new); - return NSDate.castFromPointer(_ret, retain: false, release: true); + static NSMutableData new1() { + final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_new); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSDate allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = _objc_msgSend_3(_class_NSDate, _sel_allocWithZone_, zone); - return NSDate.castFromPointer(_ret, retain: false, release: true); + static NSMutableData allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_NSMutableData, _sel_allocWithZone_, zone); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSDate alloc() { - final _ret = _objc_msgSend_2(_class_NSDate, _sel_alloc); - return NSDate.castFromPointer(_ret, retain: false, release: true); + static NSMutableData alloc() { + final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_alloc); + return NSMutableData.castFromPointer(_ret, retain: false, release: true); } } -late final _class_NSDate = objc.getClass("NSDate"); -late final _sel_timeIntervalSinceReferenceDate = - objc.registerName("timeIntervalSinceReferenceDate"); -late final _sel_initWithTimeIntervalSinceReferenceDate_ = - objc.registerName("initWithTimeIntervalSinceReferenceDate:"); -final _objc_msgSend_313 = objc.msgSendPointer +late final _class_NSMutableData = objc.getClass("NSMutableData"); +late final _sel_mutableBytes = objc.registerName("mutableBytes"); +late final _sel_setLength_ = objc.registerName("setLength:"); +final _objc_msgSend_317 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Double)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, double)>(); -late final _sel_timeIntervalSinceDate_ = - objc.registerName("timeIntervalSinceDate:"); -final _objc_msgSend_314 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_appendBytes_length_ = objc.registerName("appendBytes:length:"); +late final _sel_appendData_ = objc.registerName("appendData:"); +final _objc_msgSend_318 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Double Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - double Function(ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_314Fpret = objc.msgSendFpretPointer +late final _sel_increaseLengthBy_ = objc.registerName("increaseLengthBy:"); +late final _sel_replaceBytesInRange_withBytes_ = + objc.registerName("replaceBytesInRange:withBytes:"); +final _objc_msgSend_319 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Double Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + _NSRange, + ffi.Pointer)>>() .asFunction< - double Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_timeIntervalSinceNow = - objc.registerName("timeIntervalSinceNow"); -late final _sel_timeIntervalSince1970 = - objc.registerName("timeIntervalSince1970"); -late final _sel_addTimeInterval_ = objc.registerName("addTimeInterval:"); -late final _sel_dateByAddingTimeInterval_ = - objc.registerName("dateByAddingTimeInterval:"); -late final _sel_earlierDate_ = objc.registerName("earlierDate:"); -final _objc_msgSend_315 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, _NSRange, ffi.Pointer)>(); +late final _sel_resetBytesInRange_ = objc.registerName("resetBytesInRange:"); +late final _sel_setData_ = objc.registerName("setData:"); +late final _sel_replaceBytesInRange_withBytes_length_ = + objc.registerName("replaceBytesInRange:withBytes:length:"); +final _objc_msgSend_320 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + _NSRange, + ffi.Pointer, + ffi.UnsignedLong)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_laterDate_ = objc.registerName("laterDate:"); -final _objc_msgSend_316 = objc.msgSendPointer + void Function( + ffi.Pointer, + ffi.Pointer, + _NSRange, + ffi.Pointer, + int)>(); +late final _sel_dataWithCapacity_ = objc.registerName("dataWithCapacity:"); +final _objc_msgSend_321 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - int Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_isEqualToDate_ = objc.registerName("isEqualToDate:"); -final _objc_msgSend_317 = objc.msgSendPointer + instancetype Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_dataWithLength_ = objc.registerName("dataWithLength:"); +late final _sel_initWithLength_ = objc.registerName("initWithLength:"); +late final _sel_decompressUsingAlgorithm_error_ = + objc.registerName("decompressUsingAlgorithm:error:"); +final _objc_msgSend_322 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32, + ffi.Pointer>)>>() .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_date = objc.registerName("date"); -late final _sel_dateWithTimeIntervalSinceNow_ = - objc.registerName("dateWithTimeIntervalSinceNow:"); -late final _sel_dateWithTimeIntervalSinceReferenceDate_ = - objc.registerName("dateWithTimeIntervalSinceReferenceDate:"); -late final _sel_dateWithTimeIntervalSince1970_ = - objc.registerName("dateWithTimeIntervalSince1970:"); -late final _sel_dateWithTimeInterval_sinceDate_ = - objc.registerName("dateWithTimeInterval:sinceDate:"); -final _objc_msgSend_318 = objc.msgSendPointer + bool Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer>)>(); +late final _sel_compressUsingAlgorithm_error_ = + objc.registerName("compressUsingAlgorithm:error:"); + +class NSNotification extends NSObject { + NSNotification._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); + + /// Constructs a [NSNotification] that points to the same underlying object as [other]. + NSNotification.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [NSNotification] that wraps the given raw object pointer. + NSNotification.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [NSNotification]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0( + obj.pointer, _sel_isKindOfClass_, _class_NSNotification); + } + + NSString get name { + final _ret = _objc_msgSend_35(this.pointer, _sel_name); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase? get object { + final _ret = _objc_msgSend_90(this.pointer, _sel_object); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + NSDictionary? get userInfo { + final _ret = _objc_msgSend_287(this.pointer, _sel_userInfo); + return _ret.address == 0 + ? null + : NSDictionary.castFromPointer(_ret, retain: true, release: true); + } + + NSNotification initWithName_object_userInfo_( + NSString name, objc.ObjCObjectBase? object, NSDictionary? userInfo) { + final _ret = _objc_msgSend_323( + this.pointer, + _sel_initWithName_object_userInfo_, + name.pointer, + object?.pointer ?? ffi.nullptr, + userInfo?.pointer ?? ffi.nullptr); + return NSNotification.castFromPointer(_ret, retain: true, release: true); + } + + NSNotification? initWithCoder_(NSCoder coder) { + final _ret = + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); + return _ret.address == 0 + ? null + : NSNotification.castFromPointer(_ret, retain: true, release: true); + } + + static NSNotification notificationWithName_object_( + NSString aName, objc.ObjCObjectBase? anObject) { + final _ret = _objc_msgSend_271( + _class_NSNotification, + _sel_notificationWithName_object_, + aName.pointer, + anObject?.pointer ?? ffi.nullptr); + return NSNotification.castFromPointer(_ret, retain: true, release: true); + } + + static NSNotification notificationWithName_object_userInfo_( + NSString aName, objc.ObjCObjectBase? anObject, NSDictionary? aUserInfo) { + final _ret = _objc_msgSend_323( + _class_NSNotification, + _sel_notificationWithName_object_userInfo_, + aName.pointer, + anObject?.pointer ?? ffi.nullptr, + aUserInfo?.pointer ?? ffi.nullptr); + return NSNotification.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSNotification init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSNotification.castFromPointer(_ret, retain: true, release: true); + } + + static NSNotification new1() { + final _ret = _objc_msgSend_2(_class_NSNotification, _sel_new); + return NSNotification.castFromPointer(_ret, retain: false, release: true); + } + + static NSNotification allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_NSNotification, _sel_allocWithZone_, zone); + return NSNotification.castFromPointer(_ret, retain: false, release: true); + } + + static NSNotification alloc() { + final _ret = _objc_msgSend_2(_class_NSNotification, _sel_alloc); + return NSNotification.castFromPointer(_ret, retain: false, release: true); + } +} + +late final _class_NSNotification = objc.getClass("NSNotification"); +late final _sel_name = objc.registerName("name"); +late final _sel_object = objc.registerName("object"); +late final _sel_userInfo = objc.registerName("userInfo"); +late final _sel_initWithName_object_userInfo_ = + objc.registerName("initWithName:object:userInfo:"); +final _objc_msgSend_323 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Double, + ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< instancetype Function( ffi.Pointer, ffi.Pointer, - double, + ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); -late final _sel_distantFuture = objc.registerName("distantFuture"); -final _objc_msgSend_319 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_distantPast = objc.registerName("distantPast"); -late final _sel_now = objc.registerName("now"); -late final _sel_initWithTimeIntervalSinceNow_ = - objc.registerName("initWithTimeIntervalSinceNow:"); -late final _sel_initWithTimeIntervalSince1970_ = - objc.registerName("initWithTimeIntervalSince1970:"); -late final _sel_initWithTimeInterval_sinceDate_ = - objc.registerName("initWithTimeInterval:sinceDate:"); +late final _sel_notificationWithName_object_ = + objc.registerName("notificationWithName:object:"); +late final _sel_notificationWithName_object_userInfo_ = + objc.registerName("notificationWithName:object:userInfo:"); -class NSMutableDictionary extends NSDictionary { - NSMutableDictionary._(ffi.Pointer pointer, +class NSDate extends NSObject { + NSDate._(ffi.Pointer pointer, {bool retain = false, bool release = false}) : super.castFromPointer(pointer, retain: retain, release: release); - /// Constructs a [NSMutableDictionary] that points to the same underlying object as [other]. - NSMutableDictionary.castFrom(objc.ObjCObjectBase other) + /// Constructs a [NSDate] that points to the same underlying object as [other]. + NSDate.castFrom(objc.ObjCObjectBase other) : this._(other.pointer, retain: true, release: true); - /// Constructs a [NSMutableDictionary] that wraps the given raw object pointer. - NSMutableDictionary.castFromPointer(ffi.Pointer other, + /// Constructs a [NSDate] that wraps the given raw object pointer. + NSDate.castFromPointer(ffi.Pointer other, {bool retain = false, bool release = false}) : this._(other, retain: retain, release: release); - /// Returns whether [obj] is an instance of [NSMutableDictionary]. + /// Returns whether [obj] is an instance of [NSDate]. static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0( - obj.pointer, _sel_isKindOfClass_, _class_NSMutableDictionary); - } - - void removeObjectForKey_(objc.ObjCObjectBase aKey) { - _objc_msgSend_198(this.pointer, _sel_removeObjectForKey_, aKey.pointer); + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSDate); } - void setObject_forKey_( - objc.ObjCObjectBase anObject, objc.ObjCObjectBase aKey) { - _objc_msgSend_320( - this.pointer, _sel_setObject_forKey_, anObject.pointer, aKey.pointer); + static double getTimeIntervalSinceReferenceDate() { + return objc.useMsgSendVariants + ? _objc_msgSend_83Fpret( + _class_NSDate, _sel_timeIntervalSinceReferenceDate) + : _objc_msgSend_83(_class_NSDate, _sel_timeIntervalSinceReferenceDate); } @override - NSMutableDictionary init() { + NSDate init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - NSMutableDictionary initWithCapacity_(int numItems) { - final _ret = - _objc_msgSend_97(this.pointer, _sel_initWithCapacity_, numItems); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { + final _ret = _objc_msgSend_324( + this.pointer, _sel_initWithTimeIntervalSinceReferenceDate_, ti); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableDictionary? initWithCoder_(NSCoder coder) { + NSDate? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null - : NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); - } - - void addEntriesFromDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_321( - this.pointer, _sel_addEntriesFromDictionary_, otherDictionary.pointer); - } - - void removeAllObjects() { - _objc_msgSend_1(this.pointer, _sel_removeAllObjects); + : NSDate.castFromPointer(_ret, retain: true, release: true); } - void removeObjectsForKeys_(NSArray keyArray) { - _objc_msgSend_291( - this.pointer, _sel_removeObjectsForKeys_, keyArray.pointer); + double timeIntervalSinceDate_(NSDate anotherDate) { + return objc.useMsgSendVariants + ? _objc_msgSend_325Fpret( + this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer) + : _objc_msgSend_325( + this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer); } - void setDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_321( - this.pointer, _sel_setDictionary_, otherDictionary.pointer); + double get timeIntervalSinceNow { + return objc.useMsgSendVariants + ? _objc_msgSend_83Fpret(this.pointer, _sel_timeIntervalSinceNow) + : _objc_msgSend_83(this.pointer, _sel_timeIntervalSinceNow); } - void setObject_forKeyedSubscript_( - objc.ObjCObjectBase? obj, objc.ObjCObjectBase key) { - _objc_msgSend_322(this.pointer, _sel_setObject_forKeyedSubscript_, - obj?.pointer ?? ffi.nullptr, key.pointer); + double get timeIntervalSince1970 { + return objc.useMsgSendVariants + ? _objc_msgSend_83Fpret(this.pointer, _sel_timeIntervalSince1970) + : _objc_msgSend_83(this.pointer, _sel_timeIntervalSince1970); } - static NSMutableDictionary dictionaryWithCapacity_(int numItems) { - final _ret = _objc_msgSend_97( - _class_NSMutableDictionary, _sel_dictionaryWithCapacity_, numItems); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + objc.ObjCObjectBase addTimeInterval_(double seconds) { + final _ret = + _objc_msgSend_324(this.pointer, _sel_addTimeInterval_, seconds); + return objc.ObjCObjectBase(_ret, retain: true, release: true); } - static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_181(_class_NSMutableDictionary, - _sel_dictionaryWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSDictionary.castFromPointer(_ret, retain: true, release: true); + NSDate dateByAddingTimeInterval_(double ti) { + final _ret = + _objc_msgSend_324(this.pointer, _sel_dateByAddingTimeInterval_, ti); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_182(_class_NSMutableDictionary, - _sel_dictionaryWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSDictionary.castFromPointer(_ret, retain: true, release: true); + NSDate earlierDate_(NSDate anotherDate) { + final _ret = + _objc_msgSend_326(this.pointer, _sel_earlierDate_, anotherDate.pointer); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - NSMutableDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_323( - this.pointer, _sel_initWithContentsOfFile_, path.pointer); - return _ret.address == 0 - ? null - : NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + NSDate laterDate_(NSDate anotherDate) { + final _ret = + _objc_msgSend_326(this.pointer, _sel_laterDate_, anotherDate.pointer); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - NSMutableDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_324( - this.pointer, _sel_initWithContentsOfURL_, url.pointer); - return _ret.address == 0 - ? null - : NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + int compare_(NSDate other) { + return _objc_msgSend_327(this.pointer, _sel_compare_, other.pointer); } - static NSMutableDictionary dictionaryWithSharedKeySet_( - objc.ObjCObjectBase keyset) { - final _ret = _objc_msgSend_325(_class_NSMutableDictionary, - _sel_dictionaryWithSharedKeySet_, keyset.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + bool isEqualToDate_(NSDate otherDate) { + return _objc_msgSend_328( + this.pointer, _sel_isEqualToDate_, otherDate.pointer); } - @override - NSMutableDictionary initWithObjects_forKeys_count_( - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt) { - final _ret = _objc_msgSend_171( - this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + NSString get description { + final _ret = _objc_msgSend_35(this.pointer, _sel_description); + return NSString.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionary() { - final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_dictionary); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, + locale?.pointer ?? ffi.nullptr); + return NSString.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionaryWithObject_forKey_( - objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_183(_class_NSMutableDictionary, - _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate date() { + final _ret = _objc_msgSend_2(_class_NSDate, _sel_date); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionaryWithObjects_forKeys_count_( - ffi.Pointer> objects, - ffi.Pointer> keys, - int cnt) { - final _ret = _objc_msgSend_171(_class_NSMutableDictionary, - _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate dateWithTimeIntervalSinceNow_(double secs) { + final _ret = _objc_msgSend_324( + _class_NSDate, _sel_dateWithTimeIntervalSinceNow_, secs); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionaryWithObjectsAndKeys_( - objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_148(_class_NSMutableDictionary, - _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate dateWithTimeIntervalSinceReferenceDate_(double ti) { + final _ret = _objc_msgSend_324( + _class_NSDate, _sel_dateWithTimeIntervalSinceReferenceDate_, ti); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_184(_class_NSMutableDictionary, - _sel_dictionaryWithDictionary_, dict.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate dateWithTimeIntervalSince1970_(double secs) { + final _ret = _objc_msgSend_324( + _class_NSDate, _sel_dateWithTimeIntervalSince1970_, secs); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary dictionaryWithObjects_forKeys_( - NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_185(_class_NSMutableDictionary, - _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate dateWithTimeInterval_sinceDate_( + double secsToBeAdded, NSDate date) { + final _ret = _objc_msgSend_329(_class_NSDate, + _sel_dateWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_148( - this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate getDistantFuture() { + final _ret = _objc_msgSend_330(_class_NSDate, _sel_distantFuture); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_184( - this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + static NSDate getDistantPast() { + final _ret = _objc_msgSend_330(_class_NSDate, _sel_distantPast); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableDictionary initWithDictionary_copyItems_( - NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_186(this.pointer, - _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); - return NSMutableDictionary.castFromPointer(_ret, - retain: false, release: true); + static NSDate getNow() { + final _ret = _objc_msgSend_330(_class_NSDate, _sel_now); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_185(this.pointer, _sel_initWithObjects_forKeys_, - objects.pointer, keys.pointer); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + NSDate initWithTimeIntervalSinceNow_(double secs) { + final _ret = _objc_msgSend_324( + this.pointer, _sel_initWithTimeIntervalSinceNow_, secs); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSDictionary? dictionaryWithContentsOfURL_error_( - NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_187(_class_NSMutableDictionary, - _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); - return _ret.address == 0 - ? null - : NSDictionary.castFromPointer(_ret, retain: true, release: true); + NSDate initWithTimeIntervalSince1970_(double secs) { + final _ret = _objc_msgSend_324( + this.pointer, _sel_initWithTimeIntervalSince1970_, secs); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - - static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_149( - _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); + + NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate date) { + final _ret = _objc_msgSend_329(this.pointer, + _sel_initWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); + return NSDate.castFromPointer(_ret, retain: true, release: true); } - static NSMutableDictionary new1() { - final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_new); - return NSMutableDictionary.castFromPointer(_ret, - retain: false, release: true); + static NSDate new1() { + final _ret = _objc_msgSend_2(_class_NSDate, _sel_new); + return NSDate.castFromPointer(_ret, retain: false, release: true); } - static NSMutableDictionary allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = - _objc_msgSend_3(_class_NSMutableDictionary, _sel_allocWithZone_, zone); - return NSMutableDictionary.castFromPointer(_ret, - retain: false, release: true); + static NSDate allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSDate, _sel_allocWithZone_, zone); + return NSDate.castFromPointer(_ret, retain: false, release: true); } - static NSMutableDictionary alloc() { - final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_alloc); - return NSMutableDictionary.castFromPointer(_ret, - retain: false, release: true); + static NSDate alloc() { + final _ret = _objc_msgSend_2(_class_NSDate, _sel_alloc); + return NSDate.castFromPointer(_ret, retain: false, release: true); } } -late final _class_NSMutableDictionary = objc.getClass("NSMutableDictionary"); -late final _sel_removeObjectForKey_ = objc.registerName("removeObjectForKey:"); -late final _sel_setObject_forKey_ = objc.registerName("setObject:forKey:"); -final _objc_msgSend_320 = objc.msgSendPointer +late final _class_NSDate = objc.getClass("NSDate"); +late final _sel_timeIntervalSinceReferenceDate = + objc.registerName("timeIntervalSinceReferenceDate"); +late final _sel_initWithTimeIntervalSinceReferenceDate_ = + objc.registerName("initWithTimeIntervalSinceReferenceDate:"); +final _objc_msgSend_324 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + instancetype Function(ffi.Pointer, + ffi.Pointer, ffi.Double)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_addEntriesFromDictionary_ = - objc.registerName("addEntriesFromDictionary:"); -final _objc_msgSend_321 = objc.msgSendPointer + instancetype Function(ffi.Pointer, + ffi.Pointer, double)>(); +late final _sel_timeIntervalSinceDate_ = + objc.registerName("timeIntervalSinceDate:"); +final _objc_msgSend_325 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Double Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, + double Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_removeObjectsForKeys_ = - objc.registerName("removeObjectsForKeys:"); -late final _sel_setDictionary_ = objc.registerName("setDictionary:"); -late final _sel_setObject_forKeyedSubscript_ = - objc.registerName("setObject:forKeyedSubscript:"); -final _objc_msgSend_322 = objc.msgSendPointer +final _objc_msgSend_325Fpret = objc.msgSendFpretPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.Double Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_dictionaryWithCapacity_ = - objc.registerName("dictionaryWithCapacity:"); -final _objc_msgSend_323 = objc.msgSendPointer + double Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_timeIntervalSinceNow = + objc.registerName("timeIntervalSinceNow"); +late final _sel_timeIntervalSince1970 = + objc.registerName("timeIntervalSince1970"); +late final _sel_addTimeInterval_ = objc.registerName("addTimeInterval:"); +late final _sel_dateByAddingTimeInterval_ = + objc.registerName("dateByAddingTimeInterval:"); +late final _sel_earlierDate_ = objc.registerName("earlierDate:"); +final _objc_msgSend_326 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -12661,599 +12929,405 @@ final _objc_msgSend_323 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_324 = objc.msgSendPointer +late final _sel_laterDate_ = objc.registerName("laterDate:"); +final _objc_msgSend_327 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Int32 Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + int Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithSharedKeySet_ = - objc.registerName("dictionaryWithSharedKeySet:"); -final _objc_msgSend_325 = objc.msgSendPointer +late final _sel_isEqualToDate_ = objc.registerName("isEqualToDate:"); +final _objc_msgSend_328 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +late final _sel_date = objc.registerName("date"); +late final _sel_dateWithTimeIntervalSinceNow_ = + objc.registerName("dateWithTimeIntervalSinceNow:"); +late final _sel_dateWithTimeIntervalSinceReferenceDate_ = + objc.registerName("dateWithTimeIntervalSinceReferenceDate:"); +late final _sel_dateWithTimeIntervalSince1970_ = + objc.registerName("dateWithTimeIntervalSince1970:"); +late final _sel_dateWithTimeInterval_sinceDate_ = + objc.registerName("dateWithTimeInterval:sinceDate:"); +final _objc_msgSend_329 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Double, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + double, + ffi.Pointer)>(); +late final _sel_distantFuture = objc.registerName("distantFuture"); +final _objc_msgSend_330 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_distantPast = objc.registerName("distantPast"); +late final _sel_now = objc.registerName("now"); +late final _sel_initWithTimeIntervalSinceNow_ = + objc.registerName("initWithTimeIntervalSinceNow:"); +late final _sel_initWithTimeIntervalSince1970_ = + objc.registerName("initWithTimeIntervalSince1970:"); +late final _sel_initWithTimeInterval_sinceDate_ = + objc.registerName("initWithTimeInterval:sinceDate:"); -class NSSet extends NSObject { - NSSet._(ffi.Pointer pointer, +class NSMutableDictionary extends NSDictionary { + NSMutableDictionary._(ffi.Pointer pointer, {bool retain = false, bool release = false}) : super.castFromPointer(pointer, retain: retain, release: release); - /// Constructs a [NSSet] that points to the same underlying object as [other]. - NSSet.castFrom(objc.ObjCObjectBase other) + /// Constructs a [NSMutableDictionary] that points to the same underlying object as [other]. + NSMutableDictionary.castFrom(objc.ObjCObjectBase other) : this._(other.pointer, retain: true, release: true); - /// Constructs a [NSSet] that wraps the given raw object pointer. - NSSet.castFromPointer(ffi.Pointer other, + /// Constructs a [NSMutableDictionary] that wraps the given raw object pointer. + NSMutableDictionary.castFromPointer(ffi.Pointer other, {bool retain = false, bool release = false}) : this._(other, retain: retain, release: release); - /// Returns whether [obj] is an instance of [NSSet]. + /// Returns whether [obj] is an instance of [NSMutableDictionary]. static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSSet); - } - - int get count { - return _objc_msgSend_12(this.pointer, _sel_count); + return _objc_msgSend_0( + obj.pointer, _sel_isKindOfClass_, _class_NSMutableDictionary); } - objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_170(this.pointer, _sel_member_, object.pointer); - return _ret.address == 0 - ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); + void removeObjectForKey_(objc.ObjCObjectBase aKey) { + _objc_msgSend_210(this.pointer, _sel_removeObjectForKey_, aKey.pointer); } - NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_108(this.pointer, _sel_objectEnumerator); - return NSEnumerator.castFromPointer(_ret, retain: true, release: true); + void setObject_forKey_( + objc.ObjCObjectBase anObject, objc.ObjCObjectBase aKey) { + _objc_msgSend_331( + this.pointer, _sel_setObject_forKey_, anObject.pointer, aKey.pointer); } @override - NSSet init() { + NSMutableDictionary init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet initWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( - this.pointer, _sel_initWithObjects_count_, objects, cnt); - return NSSet.castFromPointer(_ret, retain: true, release: true); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet? initWithCoder_(NSCoder coder) { + NSMutableDictionary initWithCapacity_(int numItems) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); - return _ret.address == 0 - ? null - : NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSArray get allObjects { - final _ret = _objc_msgSend_172(this.pointer, _sel_allObjects); - return NSArray.castFromPointer(_ret, retain: true, release: true); + _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - objc.ObjCObjectBase? anyObject() { - final _ret = _objc_msgSend_88(this.pointer, _sel_anyObject); + @override + NSMutableDictionary? initWithCoder_(NSCoder coder) { + final _ret = + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - bool containsObject_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_0( - this.pointer, _sel_containsObject_, anObject.pointer); - } - - NSString get description { - final _ret = _objc_msgSend_32(this.pointer, _sel_description); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_83(this.pointer, _sel_descriptionWithLocale_, - locale?.pointer ?? ffi.nullptr); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - bool intersectsSet_(NSSet otherSet) { - return _objc_msgSend_326( - this.pointer, _sel_intersectsSet_, otherSet.pointer); - } - - bool isEqualToSet_(NSSet otherSet) { - return _objc_msgSend_326( - this.pointer, _sel_isEqualToSet_, otherSet.pointer); - } - - bool isSubsetOfSet_(NSSet otherSet) { - return _objc_msgSend_326( - this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); - } - - void makeObjectsPerformSelector_(ffi.Pointer aSelector) { - _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); - } - - void makeObjectsPerformSelector_withObject_( - ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_114(this.pointer, _sel_makeObjectsPerformSelector_withObject_, - aSelector, argument?.pointer ?? ffi.nullptr); - } - - NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_327( - this.pointer, _sel_setByAddingObject_, anObject.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + : NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet setByAddingObjectsFromSet_(NSSet other) { - final _ret = _objc_msgSend_328( - this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + void addEntriesFromDictionary_(NSDictionary otherDictionary) { + _objc_msgSend_332( + this.pointer, _sel_addEntriesFromDictionary_, otherDictionary.pointer); } - NSSet setByAddingObjectsFromArray_(NSArray other) { - final _ret = _objc_msgSend_329( - this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + void removeAllObjects() { + _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } - void enumerateObjectsUsingBlock_( - ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_330( - this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); + void removeObjectsForKeys_(NSArray keyArray) { + _objc_msgSend_302( + this.pointer, _sel_removeObjectsForKeys_, keyArray.pointer); } - void enumerateObjectsWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_331(this.pointer, - _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); + void setDictionary_(NSDictionary otherDictionary) { + _objc_msgSend_332( + this.pointer, _sel_setDictionary_, otherDictionary.pointer); } - NSSet objectsPassingTest_(ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_332( - this.pointer, _sel_objectsPassingTest_, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + void setObject_forKeyedSubscript_( + objc.ObjCObjectBase? obj, objc.ObjCObjectBase key) { + _objc_msgSend_333(this.pointer, _sel_setObject_forKeyedSubscript_, + obj?.pointer ?? ffi.nullptr, key.pointer); } - NSSet objectsWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_333(this.pointer, - _sel_objectsWithOptions_passingTest_, opts, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSMutableDictionary dictionaryWithCapacity_(int numItems) { + final _ret = _objc_msgSend_99( + _class_NSMutableDictionary, _sel_dictionaryWithCapacity_, numItems); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet set1() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_set); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_193(_class_NSMutableDictionary, + _sel_dictionaryWithContentsOfFile_, path.pointer); + return _ret.address == 0 + ? null + : NSDictionary.castFromPointer(_ret, retain: true, release: true); } - static NSSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = - _objc_msgSend_148(_class_NSSet, _sel_setWithObject_, object.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_194(_class_NSMutableDictionary, + _sel_dictionaryWithContentsOfURL_, url.pointer); + return _ret.address == 0 + ? null + : NSDictionary.castFromPointer(_ret, retain: true, release: true); } - static NSSet setWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( - _class_NSSet, _sel_setWithObjects_count_, objects, cnt); - return NSSet.castFromPointer(_ret, retain: true, release: true); + NSMutableDictionary? initWithContentsOfFile_(NSString path) { + final _ret = _objc_msgSend_334( + this.pointer, _sel_initWithContentsOfFile_, path.pointer); + return _ret.address == 0 + ? null + : NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = - _objc_msgSend_148(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + NSMutableDictionary? initWithContentsOfURL_(NSURL url) { + final _ret = _objc_msgSend_335( + this.pointer, _sel_initWithContentsOfURL_, url.pointer); + return _ret.address == 0 + ? null + : NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet setWithSet_(NSSet set) { - final _ret = _objc_msgSend_334(_class_NSSet, _sel_setWithSet_, set.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSMutableDictionary dictionaryWithSharedKeySet_( + objc.ObjCObjectBase keyset) { + final _ret = _objc_msgSend_336(_class_NSMutableDictionary, + _sel_dictionaryWithSharedKeySet_, keyset.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet setWithArray_(NSArray array) { - final _ret = - _objc_msgSend_149(_class_NSSet, _sel_setWithArray_, array.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + @override + NSMutableDictionary initWithObjects_forKeys_count_( + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt) { + final _ret = _objc_msgSend_174( + this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( - this.pointer, _sel_initWithObjects_, firstObj.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSMutableDictionary dictionary() { + final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_dictionary); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet initWithSet_(NSSet set) { - final _ret = - _objc_msgSend_334(this.pointer, _sel_initWithSet_, set.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSMutableDictionary dictionaryWithObject_forKey_( + objc.ObjCObjectBase object, objc.ObjCObjectBase key) { + final _ret = _objc_msgSend_195(_class_NSMutableDictionary, + _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_335( - this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); - return NSSet.castFromPointer(_ret, retain: false, release: true); + static NSMutableDictionary dictionaryWithObjects_forKeys_count_( + ffi.Pointer> objects, + ffi.Pointer> keys, + int cnt) { + final _ret = _objc_msgSend_174(_class_NSMutableDictionary, + _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - NSSet initWithArray_(NSArray array) { - final _ret = - _objc_msgSend_149(this.pointer, _sel_initWithArray_, array.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + static NSMutableDictionary dictionaryWithObjectsAndKeys_( + objc.ObjCObjectBase firstObject) { + final _ret = _objc_msgSend_151(_class_NSMutableDictionary, + _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet new1() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_new); - return NSSet.castFromPointer(_ret, retain: false, release: true); + static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { + final _ret = _objc_msgSend_196(_class_NSMutableDictionary, + _sel_dictionaryWithDictionary_, dict.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = _objc_msgSend_3(_class_NSSet, _sel_allocWithZone_, zone); - return NSSet.castFromPointer(_ret, retain: false, release: true); + static NSMutableDictionary dictionaryWithObjects_forKeys_( + NSArray objects, NSArray keys) { + final _ret = _objc_msgSend_197(_class_NSMutableDictionary, + _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - static NSSet alloc() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_alloc); - return NSSet.castFromPointer(_ret, retain: false, release: true); + @override + NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { + final _ret = _objc_msgSend_151( + this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } -} -late final _class_NSSet = objc.getClass("NSSet"); -late final _sel_member_ = objc.registerName("member:"); -late final _sel_anyObject = objc.registerName("anyObject"); -late final _sel_intersectsSet_ = objc.registerName("intersectsSet:"); -final _objc_msgSend_326 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_isEqualToSet_ = objc.registerName("isEqualToSet:"); -late final _sel_isSubsetOfSet_ = objc.registerName("isSubsetOfSet:"); -late final _sel_setByAddingObject_ = objc.registerName("setByAddingObject:"); -final _objc_msgSend_327 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_setByAddingObjectsFromSet_ = - objc.registerName("setByAddingObjectsFromSet:"); -final _objc_msgSend_328 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_setByAddingObjectsFromArray_ = - objc.registerName("setByAddingObjectsFromArray:"); -final _objc_msgSend_329 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); + @override + NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { + final _ret = _objc_msgSend_196( + this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); + } -class ObjCBlock_ffiVoid_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); + @override + NSMutableDictionary initWithDictionary_copyItems_( + NSDictionary otherDictionary, bool flag) { + final _ret = _objc_msgSend_198(this.pointer, + _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); + return NSMutableDictionary.castFromPointer(_ret, + retain: false, release: true); + } - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_bool._(pointer, - retain: retain, release: release); + @override + NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { + final _ret = _objc_msgSend_197(this.pointer, _sel_initWithObjects_forKeys_, + objects.pointer, keys.pointer); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); } - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; + static NSDictionary? dictionaryWithContentsOfURL_error_( + NSURL url, ffi.Pointer> error) { + final _ret = _objc_msgSend_199(_class_NSMutableDictionary, + _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); + return _ret.address == 0 + ? null + : NSDictionary.castFromPointer(_ret, retain: true, release: true); + } - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunction( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; + static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { + final _ret = _objc_msgSend_152( + _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_bool.listener( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; + static NSMutableDictionary new1() { + final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_new); + return NSMutableDictionary.castFromPointer(_ret, + retain: false, release: true); + } - void call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); + static NSMutableDictionary allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_NSMutableDictionary, _sel_allocWithZone_, zone); + return NSMutableDictionary.castFromPointer(_ret, + retain: false, release: true); + } + + static NSMutableDictionary alloc() { + final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_alloc); + return NSMutableDictionary.castFromPointer(_ret, + retain: false, release: true); + } } -final _objc_msgSend_330 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); +late final _class_NSMutableDictionary = objc.getClass("NSMutableDictionary"); +late final _sel_removeObjectForKey_ = objc.registerName("removeObjectForKey:"); +late final _sel_setObject_forKey_ = objc.registerName("setObject:forKey:"); final _objc_msgSend_331 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); -bool _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -bool _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as bool Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_bool_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline, false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunction( - bool Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); -} - -late final _sel_objectsPassingTest_ = objc.registerName("objectsPassingTest:"); + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_addEntriesFromDictionary_ = + objc.registerName("addEntriesFromDictionary:"); final _objc_msgSend_332 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_objectsWithOptions_passingTest_ = - objc.registerName("objectsWithOptions:passingTest:"); + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_removeObjectsForKeys_ = + objc.registerName("removeObjectsForKeys:"); +late final _sel_setDictionary_ = objc.registerName("setDictionary:"); +late final _sel_setObject_forKeyedSubscript_ = + objc.registerName("setObject:forKeyedSubscript:"); final _objc_msgSend_333 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function( + void Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_set = objc.registerName("set"); -late final _sel_setWithObject_ = objc.registerName("setWithObject:"); -late final _sel_setWithObjects_count_ = - objc.registerName("setWithObjects:count:"); -late final _sel_setWithObjects_ = objc.registerName("setWithObjects:"); -late final _sel_setWithSet_ = objc.registerName("setWithSet:"); + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_dictionaryWithCapacity_ = + objc.registerName("dictionaryWithCapacity:"); final _objc_msgSend_334 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - instancetype Function(ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_setWithArray_ = objc.registerName("setWithArray:"); -late final _sel_initWithSet_ = objc.registerName("initWithSet:"); -late final _sel_initWithSet_copyItems_ = - objc.registerName("initWithSet:copyItems:"); final _objc_msgSend_335 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_dictionaryWithSharedKeySet_ = + objc.registerName("dictionaryWithSharedKeySet:"); +final _objc_msgSend_336 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() + ffi.Pointer)>>() .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); class NSMutableSet extends NSSet { NSMutableSet._(ffi.Pointer pointer, @@ -13276,17 +13350,17 @@ class NSMutableSet extends NSSet { } void addObject_(objc.ObjCObjectBase object) { - _objc_msgSend_198(this.pointer, _sel_addObject_, object.pointer); + _objc_msgSend_210(this.pointer, _sel_addObject_, object.pointer); } void removeObject_(objc.ObjCObjectBase object) { - _objc_msgSend_198(this.pointer, _sel_removeObject_, object.pointer); + _objc_msgSend_210(this.pointer, _sel_removeObject_, object.pointer); } @override NSMutableSet? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSMutableSet.castFromPointer(_ret, retain: true, release: true); @@ -13300,20 +13374,20 @@ class NSMutableSet extends NSSet { NSMutableSet initWithCapacity_(int numItems) { final _ret = - _objc_msgSend_97(this.pointer, _sel_initWithCapacity_, numItems); + _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } void addObjectsFromArray_(NSArray array) { - _objc_msgSend_291(this.pointer, _sel_addObjectsFromArray_, array.pointer); + _objc_msgSend_302(this.pointer, _sel_addObjectsFromArray_, array.pointer); } void intersectSet_(NSSet otherSet) { - _objc_msgSend_336(this.pointer, _sel_intersectSet_, otherSet.pointer); + _objc_msgSend_337(this.pointer, _sel_intersectSet_, otherSet.pointer); } void minusSet_(NSSet otherSet) { - _objc_msgSend_336(this.pointer, _sel_minusSet_, otherSet.pointer); + _objc_msgSend_337(this.pointer, _sel_minusSet_, otherSet.pointer); } void removeAllObjects() { @@ -13321,23 +13395,23 @@ class NSMutableSet extends NSSet { } void unionSet_(NSSet otherSet) { - _objc_msgSend_336(this.pointer, _sel_unionSet_, otherSet.pointer); + _objc_msgSend_337(this.pointer, _sel_unionSet_, otherSet.pointer); } void setSet_(NSSet otherSet) { - _objc_msgSend_336(this.pointer, _sel_setSet_, otherSet.pointer); + _objc_msgSend_337(this.pointer, _sel_setSet_, otherSet.pointer); } static NSMutableSet setWithCapacity_(int numItems) { final _ret = - _objc_msgSend_97(_class_NSMutableSet, _sel_setWithCapacity_, numItems); + _objc_msgSend_99(_class_NSMutableSet, _sel_setWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( + final _ret = _objc_msgSend_100( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13348,39 +13422,39 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( _class_NSMutableSet, _sel_setWithObject_, object.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_98( + final _ret = _objc_msgSend_100( _class_NSMutableSet, _sel_setWithObjects_count_, objects, cnt); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( _class_NSMutableSet, _sel_setWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithSet_(NSSet set) { final _ret = - _objc_msgSend_334(_class_NSMutableSet, _sel_setWithSet_, set.pointer); + _objc_msgSend_188(_class_NSMutableSet, _sel_setWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithArray_(NSArray array) { - final _ret = _objc_msgSend_149( + final _ret = _objc_msgSend_152( _class_NSMutableSet, _sel_setWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13388,13 +13462,13 @@ class NSMutableSet extends NSSet { @override NSMutableSet initWithSet_(NSSet set) { final _ret = - _objc_msgSend_334(this.pointer, _sel_initWithSet_, set.pointer); + _objc_msgSend_188(this.pointer, _sel_initWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_335( + final _ret = _objc_msgSend_189( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } @@ -13402,7 +13476,7 @@ class NSMutableSet extends NSSet { @override NSMutableSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_149(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13425,7 +13499,7 @@ class NSMutableSet extends NSSet { late final _class_NSMutableSet = objc.getClass("NSMutableSet"); late final _sel_intersectSet_ = objc.registerName("intersectSet:"); -final _objc_msgSend_336 = objc.msgSendPointer +final _objc_msgSend_337 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -13470,7 +13544,7 @@ class NSItemProvider extends NSObject { NSString typeIdentifier, int visibility, ObjCBlock_NSProgress_ffiVoidNSDataNSError loadHandler) { - _objc_msgSend_337( + _objc_msgSend_338( this.pointer, _sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_, typeIdentifier.pointer, @@ -13484,7 +13558,7 @@ class NSItemProvider extends NSObject { int fileOptions, int visibility, ObjCBlock_NSProgress_ffiVoidNSURLboolNSError loadHandler) { - _objc_msgSend_338( + _objc_msgSend_339( this.pointer, _sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_, typeIdentifier.pointer, @@ -13495,24 +13569,24 @@ class NSItemProvider extends NSObject { NSArray get registeredTypeIdentifiers { final _ret = - _objc_msgSend_172(this.pointer, _sel_registeredTypeIdentifiers); + _objc_msgSend_110(this.pointer, _sel_registeredTypeIdentifiers); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray registeredTypeIdentifiersWithFileOptions_(int fileOptions) { - final _ret = _objc_msgSend_339(this.pointer, + final _ret = _objc_msgSend_340(this.pointer, _sel_registeredTypeIdentifiersWithFileOptions_, fileOptions); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool hasItemConformingToTypeIdentifier_(NSString typeIdentifier) { - return _objc_msgSend_22(this.pointer, + return _objc_msgSend_25(this.pointer, _sel_hasItemConformingToTypeIdentifier_, typeIdentifier.pointer); } bool hasRepresentationConformingToTypeIdentifier_fileOptions_( NSString typeIdentifier, int fileOptions) { - return _objc_msgSend_340( + return _objc_msgSend_341( this.pointer, _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_, typeIdentifier.pointer, @@ -13522,7 +13596,7 @@ class NSItemProvider extends NSObject { NSProgress loadDataRepresentationForTypeIdentifier_completionHandler_( NSString typeIdentifier, ObjCBlock_ffiVoid_NSData_NSError completionHandler) { - final _ret = _objc_msgSend_341( + final _ret = _objc_msgSend_342( this.pointer, _sel_loadDataRepresentationForTypeIdentifier_completionHandler_, typeIdentifier.pointer, @@ -13533,7 +13607,7 @@ class NSItemProvider extends NSObject { NSProgress loadFileRepresentationForTypeIdentifier_completionHandler_( NSString typeIdentifier, ObjCBlock_ffiVoid_NSURL_NSError completionHandler) { - final _ret = _objc_msgSend_342( + final _ret = _objc_msgSend_343( this.pointer, _sel_loadFileRepresentationForTypeIdentifier_completionHandler_, typeIdentifier.pointer, @@ -13544,7 +13618,7 @@ class NSItemProvider extends NSObject { NSProgress loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_( NSString typeIdentifier, ObjCBlock_ffiVoid_NSURL_bool_NSError completionHandler) { - final _ret = _objc_msgSend_343( + final _ret = _objc_msgSend_344( this.pointer, _sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_, typeIdentifier.pointer, @@ -13553,25 +13627,25 @@ class NSItemProvider extends NSObject { } NSString? get suggestedName { - final _ret = _objc_msgSend_55(this.pointer, _sel_suggestedName); + final _ret = _objc_msgSend_58(this.pointer, _sel_suggestedName); return _ret.address == 0 ? null : NSString.castFromPointer(_ret, retain: true, release: true); } set suggestedName(NSString? value) { - return _objc_msgSend_344( + return _objc_msgSend_345( this.pointer, _sel_setSuggestedName_, value?.pointer ?? ffi.nullptr); } NSItemProvider initWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_148(this.pointer, _sel_initWithObject_, object.pointer); + _objc_msgSend_151(this.pointer, _sel_initWithObject_, object.pointer); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } void registerObject_visibility_(objc.ObjCObjectBase object, int visibility) { - _objc_msgSend_345(this.pointer, _sel_registerObject_visibility_, + _objc_msgSend_346(this.pointer, _sel_registerObject_visibility_, object.pointer, visibility); } @@ -13579,7 +13653,7 @@ class NSItemProvider extends NSObject { objc.ObjCObjectBase aClass, int visibility, ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError loadHandler) { - _objc_msgSend_346( + _objc_msgSend_347( this.pointer, _sel_registerObjectOfClass_visibility_loadHandler_, aClass.pointer, @@ -13594,7 +13668,7 @@ class NSItemProvider extends NSObject { NSProgress loadObjectOfClass_completionHandler_(objc.ObjCObjectBase aClass, ObjCBlock_ffiVoid_objcObjCObject_NSError completionHandler) { - final _ret = _objc_msgSend_347( + final _ret = _objc_msgSend_348( this.pointer, _sel_loadObjectOfClass_completionHandler_, aClass.pointer, @@ -13604,7 +13678,7 @@ class NSItemProvider extends NSObject { NSItemProvider initWithItem_typeIdentifier_( objc.ObjCObjectBase? item, NSString? typeIdentifier) { - final _ret = _objc_msgSend_348( + final _ret = _objc_msgSend_349( this.pointer, _sel_initWithItem_typeIdentifier_, item?.pointer ?? ffi.nullptr, @@ -13613,7 +13687,7 @@ class NSItemProvider extends NSObject { } NSItemProvider? initWithContentsOfURL_(NSURL fileURL) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( this.pointer, _sel_initWithContentsOfURL_, fileURL.pointer); return _ret.address == 0 ? null @@ -13624,7 +13698,7 @@ class NSItemProvider extends NSObject { NSString typeIdentifier, ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary loadHandler) { - _objc_msgSend_349( + _objc_msgSend_350( this.pointer, _sel_registerItemForTypeIdentifier_loadHandler_, typeIdentifier.pointer, @@ -13635,7 +13709,7 @@ class NSItemProvider extends NSObject { NSString typeIdentifier, NSDictionary? options, ObjCBlock_ffiVoid_objcObjCObject_NSError1? completionHandler) { - _objc_msgSend_350( + _objc_msgSend_351( this.pointer, _sel_loadItemForTypeIdentifier_options_completionHandler_, typeIdentifier.pointer, @@ -13645,7 +13719,7 @@ class NSItemProvider extends NSObject { ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary? get previewImageHandler { - final _ret = _objc_msgSend_351(this.pointer, _sel_previewImageHandler); + final _ret = _objc_msgSend_352(this.pointer, _sel_previewImageHandler); return _ret.address == 0 ? null : ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary @@ -13655,13 +13729,13 @@ class NSItemProvider extends NSObject { set previewImageHandler( ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary? value) { - return _objc_msgSend_352(this.pointer, _sel_setPreviewImageHandler_, + return _objc_msgSend_353(this.pointer, _sel_setPreviewImageHandler_, value?.pointer ?? ffi.nullptr); } void loadPreviewImageWithOptions_completionHandler_(NSDictionary options, ObjCBlock_ffiVoid_objcObjCObject_NSError1 completionHandler) { - _objc_msgSend_353( + _objc_msgSend_354( this.pointer, _sel_loadPreviewImageWithOptions_completionHandler_, options.pointer, @@ -13940,7 +14014,7 @@ class ObjCBlock_ffiVoid_NSData_NSError extends objc.ObjCBlockBase { late final _sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_ = objc.registerName( "registerDataRepresentationForTypeIdentifier:visibility:loadHandler:"); -final _objc_msgSend_337 = objc.msgSendPointer +final _objc_msgSend_338 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14191,7 +14265,7 @@ class ObjCBlock_ffiVoid_NSURL_bool_NSError extends objc.ObjCBlockBase { late final _sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_ = objc.registerName( "registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:"); -final _objc_msgSend_338 = objc.msgSendPointer +final _objc_msgSend_339 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14213,7 +14287,7 @@ late final _sel_registeredTypeIdentifiers = objc.registerName("registeredTypeIdentifiers"); late final _sel_registeredTypeIdentifiersWithFileOptions_ = objc.registerName("registeredTypeIdentifiersWithFileOptions:"); -final _objc_msgSend_339 = objc.msgSendPointer +final _objc_msgSend_340 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -14225,7 +14299,7 @@ late final _sel_hasItemConformingToTypeIdentifier_ = objc.registerName("hasItemConformingToTypeIdentifier:"); late final _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_ = objc .registerName("hasRepresentationConformingToTypeIdentifier:fileOptions:"); -final _objc_msgSend_340 = objc.msgSendPointer +final _objc_msgSend_341 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -14242,7 +14316,7 @@ final _objc_msgSend_340 = objc.msgSendPointer late final _sel_loadDataRepresentationForTypeIdentifier_completionHandler_ = objc.registerName( "loadDataRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_341 = objc.msgSendPointer +final _objc_msgSend_342 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -14384,7 +14458,7 @@ class ObjCBlock_ffiVoid_NSURL_NSError extends objc.ObjCBlockBase { late final _sel_loadFileRepresentationForTypeIdentifier_completionHandler_ = objc.registerName( "loadFileRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_342 = objc.msgSendPointer +final _objc_msgSend_343 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -14401,7 +14475,7 @@ final _objc_msgSend_342 = objc.msgSendPointer late final _sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_ = objc.registerName( "loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_343 = objc.msgSendPointer +final _objc_msgSend_344 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -14417,7 +14491,7 @@ final _objc_msgSend_343 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_suggestedName = objc.registerName("suggestedName"); late final _sel_setSuggestedName_ = objc.registerName("setSuggestedName:"); -final _objc_msgSend_344 = objc.msgSendPointer +final _objc_msgSend_345 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14430,7 +14504,7 @@ final _objc_msgSend_344 = objc.msgSendPointer late final _sel_initWithObject_ = objc.registerName("initWithObject:"); late final _sel_registerObject_visibility_ = objc.registerName("registerObject:visibility:"); -final _objc_msgSend_345 = objc.msgSendPointer +final _objc_msgSend_346 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14668,7 +14742,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_NSError extends objc.ObjCBlockBase { late final _sel_registerObjectOfClass_visibility_loadHandler_ = objc.registerName("registerObjectOfClass:visibility:loadHandler:"); -final _objc_msgSend_346 = objc.msgSendPointer +final _objc_msgSend_347 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14688,7 +14762,7 @@ late final _sel_canLoadObjectOfClass_ = objc.registerName("canLoadObjectOfClass:"); late final _sel_loadObjectOfClass_completionHandler_ = objc.registerName("loadObjectOfClass:completionHandler:"); -final _objc_msgSend_347 = objc.msgSendPointer +final _objc_msgSend_348 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -14704,7 +14778,7 @@ final _objc_msgSend_347 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initWithItem_typeIdentifier_ = objc.registerName("initWithItem:typeIdentifier:"); -final _objc_msgSend_348 = objc.msgSendPointer +final _objc_msgSend_349 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -14993,7 +15067,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_NSError1 extends objc.ObjCBlockBase { late final _sel_registerItemForTypeIdentifier_loadHandler_ = objc.registerName("registerItemForTypeIdentifier:loadHandler:"); -final _objc_msgSend_349 = objc.msgSendPointer +final _objc_msgSend_350 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15009,7 +15083,7 @@ final _objc_msgSend_349 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_loadItemForTypeIdentifier_options_completionHandler_ = objc.registerName("loadItemForTypeIdentifier:options:completionHandler:"); -final _objc_msgSend_350 = objc.msgSendPointer +final _objc_msgSend_351 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15026,7 +15100,7 @@ final _objc_msgSend_350 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_previewImageHandler = objc.registerName("previewImageHandler"); -final _objc_msgSend_351 = objc.msgSendPointer +final _objc_msgSend_352 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -15036,7 +15110,7 @@ final _objc_msgSend_351 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_setPreviewImageHandler_ = objc.registerName("setPreviewImageHandler:"); -final _objc_msgSend_352 = objc.msgSendPointer +final _objc_msgSend_353 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -15046,7 +15120,7 @@ final _objc_msgSend_352 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_loadPreviewImageWithOptions_completionHandler_ = objc.registerName("loadPreviewImageWithOptions:completionHandler:"); -final _objc_msgSend_353 = objc.msgSendPointer +final _objc_msgSend_354 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15082,34 +15156,34 @@ class NSMutableString extends NSString { } void replaceCharactersInRange_withString_(_NSRange range, NSString aString) { - _objc_msgSend_354(this.pointer, _sel_replaceCharactersInRange_withString_, + _objc_msgSend_355(this.pointer, _sel_replaceCharactersInRange_withString_, range, aString.pointer); } void insertString_atIndex_(NSString aString, int loc) { - _objc_msgSend_355( + _objc_msgSend_356( this.pointer, _sel_insertString_atIndex_, aString.pointer, loc); } void deleteCharactersInRange_(_NSRange range) { - _objc_msgSend_295(this.pointer, _sel_deleteCharactersInRange_, range); + _objc_msgSend_306(this.pointer, _sel_deleteCharactersInRange_, range); } void appendString_(NSString aString) { - _objc_msgSend_162(this.pointer, _sel_appendString_, aString.pointer); + _objc_msgSend_165(this.pointer, _sel_appendString_, aString.pointer); } void appendFormat_(NSString format) { - _objc_msgSend_162(this.pointer, _sel_appendFormat_, format.pointer); + _objc_msgSend_165(this.pointer, _sel_appendFormat_, format.pointer); } void setString_(NSString aString) { - _objc_msgSend_162(this.pointer, _sel_setString_, aString.pointer); + _objc_msgSend_165(this.pointer, _sel_setString_, aString.pointer); } int replaceOccurrencesOfString_withString_options_range_(NSString target, NSString replacement, int options, _NSRange searchRange) { - return _objc_msgSend_356( + return _objc_msgSend_357( this.pointer, _sel_replaceOccurrencesOfString_withString_options_range_, target.pointer, @@ -15120,7 +15194,7 @@ class NSMutableString extends NSString { bool applyTransform_reverse_range_updatedRange_(NSString transform, bool reverse, _NSRange range, ffi.Pointer<_NSRange> resultingRange) { - return _objc_msgSend_357( + return _objc_msgSend_358( this.pointer, _sel_applyTransform_reverse_range_updatedRange_, transform.pointer, @@ -15131,12 +15205,12 @@ class NSMutableString extends NSString { NSMutableString initWithCapacity_(int capacity) { final _ret = - _objc_msgSend_358(this.pointer, _sel_initWithCapacity_, capacity); + _objc_msgSend_359(this.pointer, _sel_initWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString stringWithCapacity_(int capacity) { - final _ret = _objc_msgSend_358( + final _ret = _objc_msgSend_359( _class_NSMutableString, _sel_stringWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15150,32 +15224,32 @@ class NSMutableString extends NSString { @override NSMutableString? initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_14(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_243( + return _objc_msgSend_254( _class_NSMutableString, _sel_availableStringEncodings); } static NSString localizedNameOfStringEncoding_(int encoding) { - final _ret = _objc_msgSend_15( + final _ret = _objc_msgSend_18( _class_NSMutableString, _sel_localizedNameOfStringEncoding_, encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } static int getDefaultCStringEncoding() { - return _objc_msgSend_12( + return _objc_msgSend_11( _class_NSMutableString, _sel_defaultCStringEncoding); } @override NSMutableString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_255( + final _ret = _objc_msgSend_266( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -15189,7 +15263,7 @@ class NSMutableString extends NSString { ffi.Pointer chars, int len, ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_256( + final _ret = _objc_msgSend_267( this.pointer, _sel_initWithCharactersNoCopy_length_deallocator_, chars, @@ -15201,7 +15275,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_257( + final _ret = _objc_msgSend_268( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15209,7 +15283,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_258( + final _ret = _objc_msgSend_269( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -15219,21 +15293,21 @@ class NSMutableString extends NSString { @override NSMutableString initWithString_(NSString aString) { final _ret = - _objc_msgSend_42(this.pointer, _sel_initWithString_, aString.pointer); + _objc_msgSend_45(this.pointer, _sel_initWithString_, aString.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @override NSMutableString initWithFormat_(NSString format) { final _ret = - _objc_msgSend_42(this.pointer, _sel_initWithFormat_, format.pointer); + _objc_msgSend_45(this.pointer, _sel_initWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @override NSMutableString initWithFormat_arguments_( NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_259( + final _ret = _objc_msgSend_270( this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15241,7 +15315,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_260(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_271(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15249,7 +15323,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithFormat_locale_arguments_(NSString format, objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_272( this.pointer, _sel_initWithFormat_locale_arguments_, format.pointer, @@ -15263,7 +15337,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15280,7 +15354,7 @@ class NSMutableString extends NSString { NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_263( + final _ret = _objc_msgSend_274( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -15299,7 +15373,7 @@ class NSMutableString extends NSString { NSString validFormatSpecifiers, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_264( + final _ret = _objc_msgSend_275( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, format.pointer, @@ -15319,7 +15393,7 @@ class NSMutableString extends NSString { objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_265( + final _ret = _objc_msgSend_276( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, format.pointer, @@ -15334,7 +15408,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_277( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null @@ -15344,7 +15418,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_267(this.pointer, + final _ret = _objc_msgSend_278(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null @@ -15354,7 +15428,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_268( + final _ret = _objc_msgSend_279( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -15372,7 +15446,7 @@ class NSMutableString extends NSString { int len, int encoding, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_280( this.pointer, _sel_initWithBytesNoCopy_length_encoding_deallocator_, bytes, @@ -15390,21 +15464,21 @@ class NSMutableString extends NSString { } static NSMutableString stringWithString_(NSString string) { - final _ret = _objc_msgSend_42( + final _ret = _objc_msgSend_45( _class_NSMutableString, _sel_stringWithString_, string.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_257(_class_NSMutableString, + final _ret = _objc_msgSend_268(_class_NSMutableString, _sel_stringWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_258(_class_NSMutableString, + final _ret = _objc_msgSend_269(_class_NSMutableString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -15412,13 +15486,13 @@ class NSMutableString extends NSString { } static NSMutableString stringWithFormat_(NSString format) { - final _ret = _objc_msgSend_42( + final _ret = _objc_msgSend_45( _class_NSMutableString, _sel_stringWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString localizedStringWithFormat_(NSString format) { - final _ret = _objc_msgSend_42(_class_NSMutableString, + final _ret = _objc_msgSend_45(_class_NSMutableString, _sel_localizedStringWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15428,7 +15502,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( _class_NSMutableString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15444,7 +15518,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_273( _class_NSMutableString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15458,7 +15532,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_270(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_281(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -15467,7 +15541,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_281( _class_NSMutableString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null @@ -15477,7 +15551,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_271(this.pointer, + final _ret = _objc_msgSend_282(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -15487,7 +15561,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_272(this.pointer, + final _ret = _objc_msgSend_283(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -15496,7 +15570,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_271(_class_NSMutableString, + final _ret = _objc_msgSend_282(_class_NSMutableString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -15505,7 +15579,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_283( _class_NSMutableString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -15521,7 +15595,7 @@ class NSMutableString extends NSString { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_284( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -15537,7 +15611,7 @@ class NSMutableString extends NSString { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_285( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -15552,7 +15626,7 @@ class NSMutableString extends NSString { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_284( _class_NSMutableString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -15567,7 +15641,7 @@ class NSMutableString extends NSString { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_285( _class_NSMutableString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -15584,7 +15658,7 @@ class NSMutableString extends NSString { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_275( + return _objc_msgSend_286( _class_NSMutableString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -15594,7 +15668,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_49( + final _ret = _objc_msgSend_52( _class_NSMutableString, _sel_stringWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -15602,7 +15676,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_214( + final _ret = _objc_msgSend_226( _class_NSMutableString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -15611,7 +15685,7 @@ class NSMutableString extends NSString { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_281( _class_NSMutableString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -15619,7 +15693,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_258( + final _ret = _objc_msgSend_269( _class_NSMutableString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null @@ -15646,7 +15720,7 @@ class NSMutableString extends NSString { late final _class_NSMutableString = objc.getClass("NSMutableString"); late final _sel_replaceCharactersInRange_withString_ = objc.registerName("replaceCharactersInRange:withString:"); -final _objc_msgSend_354 = objc.msgSendPointer +final _objc_msgSend_355 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15662,7 +15736,7 @@ final _objc_msgSend_354 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_insertString_atIndex_ = objc.registerName("insertString:atIndex:"); -final _objc_msgSend_355 = objc.msgSendPointer +final _objc_msgSend_356 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15683,7 +15757,7 @@ late final _sel_appendFormat_ = objc.registerName("appendFormat:"); late final _sel_setString_ = objc.registerName("setString:"); late final _sel_replaceOccurrencesOfString_withString_options_range_ = objc.registerName("replaceOccurrencesOfString:withString:options:range:"); -final _objc_msgSend_356 = objc.msgSendPointer +final _objc_msgSend_357 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -15703,7 +15777,7 @@ final _objc_msgSend_356 = objc.msgSendPointer _NSRange)>(); late final _sel_applyTransform_reverse_range_updatedRange_ = objc.registerName("applyTransform:reverse:range:updatedRange:"); -final _objc_msgSend_357 = objc.msgSendPointer +final _objc_msgSend_358 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -15721,7 +15795,7 @@ final _objc_msgSend_357 = objc.msgSendPointer bool, _NSRange, ffi.Pointer<_NSRange>)>(); -final _objc_msgSend_358 = objc.msgSendPointer +final _objc_msgSend_359 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -15730,3 +15804,208 @@ final _objc_msgSend_358 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_stringWithCapacity_ = objc.registerName("stringWithCapacity:"); + +class DartProxy extends NSProxy { + DartProxy._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); + + /// Constructs a [DartProxy] that points to the same underlying object as [other]. + DartProxy.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [DartProxy] that wraps the given raw object pointer. + DartProxy.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [DartProxy]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_DartProxy); + } + + NSMutableDictionary get methods { + final _ret = _objc_msgSend_360(this.pointer, _sel_methods); + return NSMutableDictionary.castFromPointer(_ret, + retain: true, release: true); + } + + set methods(NSMutableDictionary value) { + return _objc_msgSend_361(this.pointer, _sel_setMethods_, value.pointer); + } + + static DartProxy new1() { + final _ret = _objc_msgSend_2(_class_DartProxy, _sel_new); + return DartProxy.castFromPointer(_ret, retain: false, release: true); + } + + DartProxy init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return DartProxy.castFromPointer(_ret, retain: true, release: true); + } + + void implementMethod_withSignature_andBlock_( + ffi.Pointer sel, + NSMethodSignature signature, + ffi.Pointer block) { + _objc_msgSend_362( + this.pointer, + _sel_implementMethod_withSignature_andBlock_, + sel, + signature.pointer, + block); + } + + NSMethodSignature methodSignatureForSelector_( + ffi.Pointer sel) { + final _ret = + _objc_msgSend_15(this.pointer, _sel_methodSignatureForSelector_, sel); + return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); + } + + @override + void forwardInvocation_(NSInvocation invocation) { + _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); + } + + static objc.ObjCObjectBase alloc() { + final _ret = _objc_msgSend_2(_class_DartProxy, _sel_alloc); + return objc.ObjCObjectBase(_ret, retain: false, release: true); + } + + static bool respondsToSelector_(ffi.Pointer aSelector) { + return _objc_msgSend_4( + _class_DartProxy, _sel_respondsToSelector_, aSelector); + } +} + +late final _class_DartProxy = objc.getClass("DartProxy"); +late final _sel_methods = objc.registerName("methods"); +final _objc_msgSend_360 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); +late final _sel_setMethods_ = objc.registerName("setMethods:"); +final _objc_msgSend_361 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_implementMethod_withSignature_andBlock_ = + objc.registerName("implementMethod:withSignature:andBlock:"); +final _objc_msgSend_362 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + +class NSProxy extends objc.ObjCObjectBase { + NSProxy._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super(pointer, retain: retain, release: release); + + /// Constructs a [NSProxy] that points to the same underlying object as [other]. + NSProxy.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [NSProxy] that wraps the given raw object pointer. + NSProxy.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [NSProxy]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSProxy); + } + + static objc.ObjCObjectBase alloc() { + final _ret = _objc_msgSend_2(_class_NSProxy, _sel_alloc); + return objc.ObjCObjectBase(_ret, retain: false, release: true); + } + + static objc.ObjCObjectBase allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSProxy, _sel_allocWithZone_, zone); + return objc.ObjCObjectBase(_ret, retain: false, release: true); + } + + static objc.ObjCObjectBase class1() { + final _ret = _objc_msgSend_2(_class_NSProxy, _sel_class); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation invocation) { + _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); + } + + NSMethodSignature? methodSignatureForSelector_( + ffi.Pointer sel) { + final _ret = + _objc_msgSend_363(this.pointer, _sel_methodSignatureForSelector_, sel); + return _ret.address == 0 + ? null + : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); + } + + void dealloc() { + _objc_msgSend_1(this.pointer, _sel_dealloc); + } + + void finalize() { + _objc_msgSend_1(this.pointer, _sel_finalize); + } + + NSString get description { + final _ret = _objc_msgSend_35(this.pointer, _sel_description); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + NSString get debugDescription { + final _ret = _objc_msgSend_35(this.pointer, _sel_debugDescription); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + static bool respondsToSelector_(ffi.Pointer aSelector) { + return _objc_msgSend_4(_class_NSProxy, _sel_respondsToSelector_, aSelector); + } + + bool allowsWeakReference() { + return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); + } + + bool retainWeakReference() { + return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); + } +} + +late final _class_NSProxy = objc.getClass("NSProxy"); +final _objc_msgSend_363 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_respondsToSelector_ = objc.registerName("respondsToSelector:"); diff --git a/pkgs/objective_c/macos/Classes/objective_c.c b/pkgs/objective_c/macos/Classes/objective_c.c index 83496a45f3..6d9c021cce 100644 --- a/pkgs/objective_c/macos/Classes/objective_c.c +++ b/pkgs/objective_c/macos/Classes/objective_c.c @@ -3,6 +3,6 @@ // BSD-style license that can be found in the LICENSE file. // Relative import to be able to reuse the C sources. -// See the comment in ../{projectName}}.podspec for more information. +// See the comment in ../objective_c.podspec for more information. #include "../../src/objective_c.c" #include "../../src/include/dart_api_dl.c" diff --git a/pkgs/objective_c/macos/Classes/objective_c.m b/pkgs/objective_c/macos/Classes/objective_c.m new file mode 100644 index 0000000000..d7f0800b6b --- /dev/null +++ b/pkgs/objective_c/macos/Classes/objective_c.m @@ -0,0 +1,7 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +// Relative import to be able to reuse the ObjC sources. +// See the comment in ../objective_c.podspec for more information. +#include "../../src/proxy.m" diff --git a/pkgs/objective_c/src/foundation.h b/pkgs/objective_c/src/foundation.h index 803eba6bd4..38fac619ca 100644 --- a/pkgs/objective_c/src/foundation.h +++ b/pkgs/objective_c/src/foundation.h @@ -9,6 +9,7 @@ #import #import #import +#import #import #import #import diff --git a/pkgs/objective_c/src/objective_c_runtime.h b/pkgs/objective_c/src/objective_c_runtime.h index 3cc42959a8..73678150d4 100644 --- a/pkgs/objective_c/src/objective_c_runtime.h +++ b/pkgs/objective_c/src/objective_c_runtime.h @@ -13,6 +13,7 @@ typedef struct _ObjCSelector ObjCSelector; typedef struct _ObjCObject ObjCObject; +typedef struct _ObjCProtocol ObjCProtocol; ObjCSelector *sel_registerName(const char *name); ObjCObject *objc_getClass(const char *name); @@ -59,4 +60,14 @@ extern void *_NSConcreteWeakBlockVariable[32]; void *_Block_copy(const void *object); void _Block_release(const void *object); +typedef struct _ObjCMethodDesc { + ObjCSelector* name; + const char* types; +} ObjCMethodDesc; + +ObjCProtocol* objc_getProtocol(const char* name); +ObjCMethodDesc protocol_getMethodDescription( + ObjCProtocol* proto, ObjCSelector* sel, bool isRequiredMethod, + bool isInstanceMethod); + #endif // OBJECTIVE_C_SRC_OBJECTIVE_C_RUNTIME_H_ diff --git a/pkgs/objective_c/src/proxy.h b/pkgs/objective_c/src/proxy.h new file mode 100644 index 0000000000..df03fe2bc4 --- /dev/null +++ b/pkgs/objective_c/src/proxy.h @@ -0,0 +1,22 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +#ifndef OBJECTIVE_C_SRC_PROXY_H_ +#define OBJECTIVE_C_SRC_PROXY_H_ + +#import +#import + +@interface DartProxy : NSProxy +@property(retain) NSMutableDictionary *methods; ++ (instancetype)new; +- (instancetype)init; +- (void)implementMethod:(SEL) sel + withSignature:(NSMethodSignature *)signature + andBlock:(void *)block; +- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel; +- (void)forwardInvocation:(NSInvocation *)invocation; +@end + +#endif // OBJECTIVE_C_SRC_PROXY_H_ diff --git a/pkgs/objective_c/src/proxy.m b/pkgs/objective_c/src/proxy.m new file mode 100644 index 0000000000..63ac2ae4ac --- /dev/null +++ b/pkgs/objective_c/src/proxy.m @@ -0,0 +1,61 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +#include "proxy.h" + +#import +#import +#import + +@interface ProxyMethod : NSObject +@property(retain) NSMethodSignature *signature; +@property(retain) NSObject *target; +@end + +@implementation ProxyMethod +@end + +@implementation DartProxy + +- (instancetype)init { + if (self) { + _methods = [NSMutableDictionary new]; + } + return self; +} + ++ (instancetype)new { + return [[self alloc] init]; +} + +- (void)implementMethod:(SEL) sel + withSignature:(NSMethodSignature *)signature + andBlock:(void *)block { + @autoreleasepool { + ProxyMethod *m = [ProxyMethod new]; + m.signature = signature; + m.target = (NSObject*)block; + [self.methods setObject:m forKey:[NSValue valueWithPointer:sel]]; + } +} + +- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { + @autoreleasepool { + ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; + return m ? m.signature : nil; + } +} + +- (void)forwardInvocation:(NSInvocation *)invocation { + @autoreleasepool { + [invocation retainArguments]; + SEL sel = invocation.selector; + ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; + if (m) { + [invocation invokeWithTarget:m.target]; + } + } +} + +@end diff --git a/pkgs/objective_c/test/setup.dart b/pkgs/objective_c/test/setup.dart index 441dc7fb26..dfcc469dad 100644 --- a/pkgs/objective_c/test/setup.dart +++ b/pkgs/objective_c/test/setup.dart @@ -12,16 +12,14 @@ import 'dart:ffi'; import 'dart:io'; -const inputFiles = ['src/objective_c.c', 'src/include/dart_api_dl.c']; +const cFiles = ['src/objective_c.c', 'src/include/dart_api_dl.c']; +const objCFiles = ['src/proxy.m']; +const objCFlags = ['-x', 'objective-c', '-framework', 'Foundation']; const outputFile = 'test/objective_c.dylib'; -void _buildLib(List inputs, String output) { +void _runClang(List flags, String output) { final args = [ - '-shared', - '-fpic', - ...inputs, - '-I', - 'src', + ...flags, '-o', output, ]; @@ -37,10 +35,25 @@ void _buildLib(List inputs, String output) { print('Generated $output'); } +String _buildObject(String input, List flags) { + final output = '$input.o'; + _runClang(['-c', input, '-fpic', '-I', 'src', ...flags], output); + return output; +} + +void _linkLib(List inputs, String output) => + _runClang(['-shared', '-undefined', 'dynamic_lookup', ...inputs], output); + void main() { Directory.current = Platform.script.resolve('..').path; - _buildLib(inputFiles, outputFile); + final objFiles = []; + for (final src in cFiles) objFiles.add(_buildObject(src, [])); + for (final src in objCFiles) objFiles.add(_buildObject(src, objCFlags)); + _linkLib(objFiles, outputFile); // Sanity check that the dylib was created correctly. - DynamicLibrary.open(outputFile).lookup('disposeObjCBlockWithClosure'); + final lib = DynamicLibrary.open(outputFile); + lib.lookup('disposeObjCBlockWithClosure'); // objective_c.c + lib.lookup('Dart_InitializeApiDL'); // dart_api_dl.c + lib.lookup('OBJC_CLASS_\$_DartProxy'); // proxy.m } From c7115d5e01af87e0d58f908e81cb0f1ae6ee007c Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 14 May 2024 14:34:07 +1200 Subject: [PATCH 02/30] fix analysis --- pkgs/objective_c/CHANGELOG.md | 5 +++++ pkgs/objective_c/example/pubspec.lock | 2 +- pkgs/objective_c/lib/src/internal.dart | 12 +++++++----- pkgs/objective_c/src/proxy.m | 4 ++-- pkgs/objective_c/test/setup.dart | 13 +++++++------ 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/pkgs/objective_c/CHANGELOG.md b/pkgs/objective_c/CHANGELOG.md index 4c22b3a630..67b158a706 100644 --- a/pkgs/objective_c/CHANGELOG.md +++ b/pkgs/objective_c/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.1.0 + +- Add `DartProxy`, which is an implementation of `NSProxy` that allows + implementing ObjC protocols from Dart. + ## 1.0.0 - Move sharable code from ffigen's generated code into this package, including diff --git a/pkgs/objective_c/example/pubspec.lock b/pkgs/objective_c/example/pubspec.lock index 0dce9eae50..f0ad922c3b 100644 --- a/pkgs/objective_c/example/pubspec.lock +++ b/pkgs/objective_c/example/pubspec.lock @@ -137,7 +137,7 @@ packages: path: ".." relative: true source: path - version: "0.0.1-wip" + version: "1.0.0" path: dependency: transitive description: diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index ae4ec444ac..f81d9650b8 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -42,11 +42,13 @@ Pointer getProtocol(String name) { /// Only for use by ffigen bindings. objc.NSMethodSignature? getProtocolMethodSignature( - Pointer protocol, Pointer sel, - bool isRequiredMethod, bool isInstanceMethod) { - final sig = c.getMethodDescription( - protocol, sel, isRequiredMethod, - isInstanceMethod).types; + Pointer protocol, + Pointer sel, + bool isRequiredMethod, + bool isInstanceMethod) { + final sig = c + .getMethodDescription(protocol, sel, isRequiredMethod, isInstanceMethod) + .types; if (sig == nullptr) { return null; } diff --git a/pkgs/objective_c/src/proxy.m b/pkgs/objective_c/src/proxy.m index 63ac2ae4ac..fc28ee9446 100644 --- a/pkgs/objective_c/src/proxy.m +++ b/pkgs/objective_c/src/proxy.m @@ -10,7 +10,7 @@ @interface ProxyMethod : NSObject @property(retain) NSMethodSignature *signature; -@property(retain) NSObject *target; +@property(retain) id target; @end @implementation ProxyMethod @@ -35,7 +35,7 @@ - (void)implementMethod:(SEL) sel @autoreleasepool { ProxyMethod *m = [ProxyMethod new]; m.signature = signature; - m.target = (NSObject*)block; + m.target = block; [self.methods setObject:m forKey:[NSValue valueWithPointer:sel]]; } } diff --git a/pkgs/objective_c/test/setup.dart b/pkgs/objective_c/test/setup.dart index dfcc469dad..eccddb219e 100644 --- a/pkgs/objective_c/test/setup.dart +++ b/pkgs/objective_c/test/setup.dart @@ -46,14 +46,15 @@ void _linkLib(List inputs, String output) => void main() { Directory.current = Platform.script.resolve('..').path; - final objFiles = []; - for (final src in cFiles) objFiles.add(_buildObject(src, [])); - for (final src in objCFiles) objFiles.add(_buildObject(src, objCFlags)); + final objFiles = [ + for (final src in cFiles) _buildObject(src, []), + for (final src in objCFiles) _buildObject(src, objCFlags), + ]; _linkLib(objFiles, outputFile); // Sanity check that the dylib was created correctly. final lib = DynamicLibrary.open(outputFile); - lib.lookup('disposeObjCBlockWithClosure'); // objective_c.c - lib.lookup('Dart_InitializeApiDL'); // dart_api_dl.c - lib.lookup('OBJC_CLASS_\$_DartProxy'); // proxy.m + lib.lookup('disposeObjCBlockWithClosure'); // objective_c.c + lib.lookup('Dart_InitializeApiDL'); // dart_api_dl.c + lib.lookup('OBJC_CLASS_\$_DartProxy'); // proxy.m } From b652b04e005cad3e9e6d45c865cfbb6e2b4267ea Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 14 May 2024 14:36:26 +1200 Subject: [PATCH 03/30] Update pubspec --- pkgs/objective_c/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/objective_c/pubspec.yaml b/pkgs/objective_c/pubspec.yaml index 110a08ba5f..4a5910687f 100644 --- a/pkgs/objective_c/pubspec.yaml +++ b/pkgs/objective_c/pubspec.yaml @@ -4,7 +4,7 @@ name: objective_c description: "A library to access Objective C from Flutter that acts as a support library for package:ffigen." -version: 1.0.0 +version: 1.1.0-wip repository: https://github.com/dart-lang/native/tree/main/pkgs/objective_c topics: From d533c94bb76c28fea771be12593304a8a47286d1 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 14 May 2024 14:40:37 +1200 Subject: [PATCH 04/30] Fix changelog --- pkgs/objective_c/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/objective_c/CHANGELOG.md b/pkgs/objective_c/CHANGELOG.md index 67b158a706..72f3538563 100644 --- a/pkgs/objective_c/CHANGELOG.md +++ b/pkgs/objective_c/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.1.0 +## 1.1.0-wip - Add `DartProxy`, which is an implementation of `NSProxy` that allows implementing ObjC protocols from Dart. From a636316fb5af9b4050db6380ef8fb6061b9cda08 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 15 May 2024 15:34:57 +1200 Subject: [PATCH 05/30] Handle unimplemented methods --- .../native_objc_test/protocol_config.yaml | 3 + .../test/native_objc_test/protocol_test.dart | 75 ++++++++++++++----- .../test/native_objc_test/protocol_test.m | 45 ++++++++++- pkgs/objective_c/lib/src/internal.dart | 14 ++-- pkgs/objective_c/src/proxy.h | 1 + pkgs/objective_c/src/proxy.m | 16 ++-- 6 files changed, 120 insertions(+), 34 deletions(-) diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index 52c574d222..c7748add94 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -7,12 +7,15 @@ objc-interfaces: include: - ProtocolConsumer - ObjCProtocolImpl + - ObjCProtocolImplMissingMethod typedefs: include: - BuildStringBlock + - OptMethodBlock functions: include: - forceCodeGenOfBuildStringBlock + - forceCodeGenOfOptMethodBlock headers: entry-points: - 'protocol_test.m' diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 078941c14c..09fee65585 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -27,28 +27,67 @@ void main() { generateBindingsForCoverage('protocol'); }); - test('ObjC implementation', () { - final protoImpl = ObjCProtocolImpl.new1(); - final consumer = ProtocolConsumer.new1(); - final result = consumer.getProtoString_(protoImpl); - expect(result.toString(), 'ObjCProtocolImpl: Hello from ObjC: 3.14'); + group('ObjC implementation', () { + test('Basics', () { + final protoImpl = ObjCProtocolImpl.new1(); + final consumer = ProtocolConsumer.new1(); + + final result = consumer.getProtoString_(protoImpl); + expect(result.toString(), 'ObjCProtocolImpl: Hello from ObjC: 3.14'); + + final intResult = consumer.callOptionalMethod_(protoImpl); + expect(intResult, 579); + }); + + test('Unimplemented method', () { + final protoImpl = ObjCProtocolImplMissingMethod.new1(); + final consumer = ProtocolConsumer.new1(); + + final intResult = consumer.callOptionalMethod_(protoImpl); + expect(intResult, -999); + }); }); - test('Manual DartProxy implementation', () { - final protoImpl = DartProxy.new1(); - final sel = registerName('buildString:withDouble:'); - final proto = getProtocol('MyProtocol'); - final signature = getProtocolMethodSignature(proto, sel, true, true); + group('Manual DartProxy implementation', () { + test('Basics', () { + final protoImpl = DartProxy.new1(); + final consumer = ProtocolConsumer.new1(); + final proto = getProtocol('MyProtocol'); + + final sel = registerName('buildString:withDouble:'); + final signature = getProtocolMethodSignature(proto, sel, + isRequired: true, isInstance: true); + final block = DartBuildStringBlock.fromFunction( + (Pointer p, NSString s, double x) { + return 'DartProxy: $s: $x'.toNSString(); + }); + protoImpl.implementMethod_withSignature_andBlock_( + sel, signature!, block.pointer.cast()); + + final optSel = registerName('optionalMethod:'); + final optSignature = getProtocolMethodSignature(proto, optSel, + isRequired: false, isInstance: true); + final optBlock = + DartOptMethodBlock.fromFunction((Pointer p, SomeStruct s) { + return s.y - s.x; + }); + protoImpl.implementMethod_withSignature_andBlock_( + optSel, optSignature!, optBlock.pointer.cast()); + + final result = consumer.getProtoString_(protoImpl); + expect(result.toString(), "DartProxy: Hello from ObjC: 3.14"); + + final intResult = consumer.callOptionalMethod_(protoImpl); + expect(intResult, 333); + }); + + test('Unimplemented method', () { + final protoImpl = DartProxy.new1(); + final consumer = ProtocolConsumer.new1(); - final block = DartBuildStringBlock.fromFunction( - (Pointer p, NSString s, double x) { - return 'DartProxy: $s: $x'.toNSString(); + final intResult = consumer.callOptionalMethod_(protoImpl); + expect(intResult, -999); }); - protoImpl.implementMethod_withSignature_andBlock_( - sel, signature!, block.pointer.cast()); - final consumer = ProtocolConsumer.new1(); - final result = consumer.getProtoString_(protoImpl); - expect(result.toString(), "DartProxy: Hello from ObjC: 3.14"); }); }); } diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 52362aad88..67c2c20f6a 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -5,20 +5,42 @@ #import #import -@protocol MyProtocol +typedef struct { + int32_t x; + int32_t y; +} SomeStruct; + +@protocol MyProtocol + - (NSString*)buildString:(NSString*)s withDouble:(double)x; + +@optional +- (int32_t)optionalMethod:(SomeStruct)s; + @end + @interface ProtocolConsumer : NSObject - (NSString*)getProtoString:(id)proto; +- (int32_t)callOptionalMethod:(id)proto; @end @implementation ProtocolConsumer : NSObject - (NSString*)getProtoString:(id)proto { return [proto buildString:@"Hello from ObjC" withDouble:3.14]; } + +- (int32_t)callOptionalMethod:(id)proto { + if ([proto respondsToSelector:@selector(optionalMethod:)]) { + SomeStruct s = {123, 456}; + return [proto optionalMethod:s]; + } else { + return -999; + } +} @end + @interface ObjCProtocolImpl : NSObject @end @@ -26,10 +48,25 @@ @implementation ObjCProtocolImpl - (NSString *)buildString:(NSString *)s withDouble:(double)x { return [NSString stringWithFormat:@"ObjCProtocolImpl: %@: %.2f", s, x]; } + +- (int32_t)optionalMethod:(SomeStruct)s { + return s.x + s.y; +} @end -// TODO(https://github.com/dart-lang/native/issues/1040): Delete this. -typedef NSString* (^BuildStringBlock)(void*, NSString*, double); -// TODO(https://github.com/dart-lang/native/issues/1040): Delete this. +@interface ObjCProtocolImplMissingMethod : NSObject +@end + +@implementation ObjCProtocolImplMissingMethod +- (NSString *)buildString:(NSString *)s withDouble:(double)x { + return @"ObjCProtocolImplMissingMethod"; +} +@end + + +// TODO(https://github.com/dart-lang/native/issues/1040): Delete these. +typedef NSString* (^BuildStringBlock)(void*, NSString*, double); void forceCodeGenOfBuildStringBlock(BuildStringBlock block); +typedef int32_t (^OptMethodBlock)(void*, SomeStruct); +void forceCodeGenOfOptMethodBlock(OptMethodBlock block); diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index f81d9650b8..1549b4c64d 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -42,13 +42,13 @@ Pointer getProtocol(String name) { /// Only for use by ffigen bindings. objc.NSMethodSignature? getProtocolMethodSignature( - Pointer protocol, - Pointer sel, - bool isRequiredMethod, - bool isInstanceMethod) { - final sig = c - .getMethodDescription(protocol, sel, isRequiredMethod, isInstanceMethod) - .types; + Pointer protocol, + Pointer sel, { + required bool isRequired, + required bool isInstance, +}) { + final sig = + c.getMethodDescription(protocol, sel, isRequired, isInstance).types; if (sig == nullptr) { return null; } diff --git a/pkgs/objective_c/src/proxy.h b/pkgs/objective_c/src/proxy.h index df03fe2bc4..703a568ee6 100644 --- a/pkgs/objective_c/src/proxy.h +++ b/pkgs/objective_c/src/proxy.h @@ -15,6 +15,7 @@ - (void)implementMethod:(SEL) sel withSignature:(NSMethodSignature *)signature andBlock:(void *)block; +- (BOOL)respondsToSelector:(SEL)sel; - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel; - (void)forwardInvocation:(NSInvocation *)invocation; @end diff --git a/pkgs/objective_c/src/proxy.m b/pkgs/objective_c/src/proxy.m index fc28ee9446..f13df7c7b6 100644 --- a/pkgs/objective_c/src/proxy.m +++ b/pkgs/objective_c/src/proxy.m @@ -10,7 +10,7 @@ @interface ProxyMethod : NSObject @property(retain) NSMethodSignature *signature; -@property(retain) id target; +@property(copy) id block; @end @implementation ProxyMethod @@ -35,15 +35,21 @@ - (void)implementMethod:(SEL) sel @autoreleasepool { ProxyMethod *m = [ProxyMethod new]; m.signature = signature; - m.target = block; + m.block = block; [self.methods setObject:m forKey:[NSValue valueWithPointer:sel]]; } } +- (BOOL)respondsToSelector:(SEL)sel { + @autoreleasepool { + return [self.methods objectForKey:[NSValue valueWithPointer:sel]] != nil; + } +} + - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { @autoreleasepool { ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; - return m ? m.signature : nil; + return m != nil ? m.signature : nil; } } @@ -52,8 +58,8 @@ - (void)forwardInvocation:(NSInvocation *)invocation { [invocation retainArguments]; SEL sel = invocation.selector; ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; - if (m) { - [invocation invokeWithTarget:m.target]; + if (m != nil) { + [invocation invokeWithTarget:m.block]; } } } From 9dc396e629a961b8d4aadf8fe2eb2d501a4d671e Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 16 May 2024 10:36:07 +1200 Subject: [PATCH 06/30] Multiple protocol implementation --- .../native_objc_test/protocol_config.yaml | 6 ++- .../test/native_objc_test/protocol_test.dart | 37 ++++++++++++++++--- .../test/native_objc_test/protocol_test.m | 37 ++++++++++++++----- 3 files changed, 63 insertions(+), 17 deletions(-) diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index c7748add94..6507338e71 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -10,12 +10,14 @@ objc-interfaces: - ObjCProtocolImplMissingMethod typedefs: include: - - BuildStringBlock + - InstanceMethodBlock - OptMethodBlock + - OtherMethodBlock functions: include: - - forceCodeGenOfBuildStringBlock + - forceCodeGenOfInstanceMethodBlock - forceCodeGenOfOptMethodBlock + - forceCodeGenOfOtherMethodBlock headers: entry-points: - 'protocol_test.m' diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 09fee65585..efe9104d14 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -28,36 +28,44 @@ void main() { }); group('ObjC implementation', () { - test('Basics', () { + test('Method implementation', () { final protoImpl = ObjCProtocolImpl.new1(); final consumer = ProtocolConsumer.new1(); - final result = consumer.getProtoString_(protoImpl); + // Required instance method. + final result = consumer.callInstanceMethod_(protoImpl); expect(result.toString(), 'ObjCProtocolImpl: Hello from ObjC: 3.14'); + // Optional instance method. final intResult = consumer.callOptionalMethod_(protoImpl); expect(intResult, 579); + + // Required instance method from secondary protocol. + final otherIntResult = consumer.callOtherMethod_(protoImpl); + expect(otherIntResult, 10); }); test('Unimplemented method', () { final protoImpl = ObjCProtocolImplMissingMethod.new1(); final consumer = ProtocolConsumer.new1(); + // Optional instance method, not implemented. final intResult = consumer.callOptionalMethod_(protoImpl); expect(intResult, -999); }); }); group('Manual DartProxy implementation', () { - test('Basics', () { + test('Method implementation', () { final protoImpl = DartProxy.new1(); final consumer = ProtocolConsumer.new1(); final proto = getProtocol('MyProtocol'); + final secondProto = getProtocol('SecondaryProtocol'); - final sel = registerName('buildString:withDouble:'); + final sel = registerName('instanceMethod:withDouble:'); final signature = getProtocolMethodSignature(proto, sel, isRequired: true, isInstance: true); - final block = DartBuildStringBlock.fromFunction( + final block = DartInstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { return 'DartProxy: $s: $x'.toNSString(); }); @@ -74,17 +82,34 @@ void main() { protoImpl.implementMethod_withSignature_andBlock_( optSel, optSignature!, optBlock.pointer.cast()); - final result = consumer.getProtoString_(protoImpl); + final otherSel = registerName('otherMethod:b:c:d:'); + final otherSignature = getProtocolMethodSignature(secondProto, otherSel, + isRequired: true, isInstance: true); + final otherBlock = DartOtherMethodBlock.fromFunction( + (Pointer p, int a, int b, int c, int d) { + return a * b * c * d; + }); + protoImpl.implementMethod_withSignature_andBlock_( + otherSel, otherSignature!, otherBlock.pointer.cast()); + + // Required instance method. + final result = consumer.callInstanceMethod_(protoImpl); expect(result.toString(), "DartProxy: Hello from ObjC: 3.14"); + // Optional instance method. final intResult = consumer.callOptionalMethod_(protoImpl); expect(intResult, 333); + + // Required instance method from secondary protocol. + final otherIntResult = consumer.callOtherMethod_(protoImpl); + expect(otherIntResult, 24); }); test('Unimplemented method', () { final protoImpl = DartProxy.new1(); final consumer = ProtocolConsumer.new1(); + // Optional instance method, not implemented. final intResult = consumer.callOptionalMethod_(protoImpl); expect(intResult, -999); }); diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 67c2c20f6a..66a6367bb4 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -12,7 +12,7 @@ @protocol MyProtocol -- (NSString*)buildString:(NSString*)s withDouble:(double)x; +- (NSString*)instanceMethod:(NSString*)s withDouble:(double)x; @optional - (int32_t)optionalMethod:(SomeStruct)s; @@ -20,14 +20,22 @@ - (int32_t)optionalMethod:(SomeStruct)s; @end +@protocol SecondaryProtocol + +- (int32_t)otherMethod:(int32_t)a b:(int32_t)b c:(int32_t)c d:(int32_t)d; + +@end + + @interface ProtocolConsumer : NSObject -- (NSString*)getProtoString:(id)proto; +- (NSString*)callInstanceMethod:(id)proto; - (int32_t)callOptionalMethod:(id)proto; +- (int32_t)callOtherMethod:(id)proto; @end @implementation ProtocolConsumer : NSObject -- (NSString*)getProtoString:(id)proto { - return [proto buildString:@"Hello from ObjC" withDouble:3.14]; +- (NSString*)callInstanceMethod:(id)proto { + return [proto instanceMethod:@"Hello from ObjC" withDouble:3.14]; } - (int32_t)callOptionalMethod:(id)proto { @@ -38,20 +46,29 @@ - (int32_t)callOptionalMethod:(id)proto { return -999; } } + +- (int32_t)callOtherMethod:(id)proto { + return [proto otherMethod:1 b:2 c:3 d:4]; +} @end -@interface ObjCProtocolImpl : NSObject +@interface ObjCProtocolImpl : NSObject @end @implementation ObjCProtocolImpl -- (NSString *)buildString:(NSString *)s withDouble:(double)x { +- (NSString *)instanceMethod:(NSString *)s withDouble:(double)x { return [NSString stringWithFormat:@"ObjCProtocolImpl: %@: %.2f", s, x]; } - (int32_t)optionalMethod:(SomeStruct)s { return s.x + s.y; } + +- (int32_t)otherMethod:(int32_t)a b:(int32_t)b c:(int32_t)c d:(int32_t)d { + return a + b + c + d; +} + @end @@ -59,14 +76,16 @@ @interface ObjCProtocolImplMissingMethod : NSObject @end @implementation ObjCProtocolImplMissingMethod -- (NSString *)buildString:(NSString *)s withDouble:(double)x { +- (NSString *)instanceMethod:(NSString *)s withDouble:(double)x { return @"ObjCProtocolImplMissingMethod"; } @end // TODO(https://github.com/dart-lang/native/issues/1040): Delete these. -typedef NSString* (^BuildStringBlock)(void*, NSString*, double); -void forceCodeGenOfBuildStringBlock(BuildStringBlock block); +typedef NSString* (^InstanceMethodBlock)(void*, NSString*, double); +void forceCodeGenOfInstanceMethodBlock(InstanceMethodBlock block); typedef int32_t (^OptMethodBlock)(void*, SomeStruct); void forceCodeGenOfOptMethodBlock(OptMethodBlock block); +typedef int32_t (^OtherMethodBlock)(void*, int32_t a, int32_t b, int32_t c, int32_t d); +void forceCodeGenOfOtherMethodBlock(OtherMethodBlock block); From 457406d43120c7d268d4d1ff2a2b254d2f7bdfcd Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 16 May 2024 13:30:04 +1200 Subject: [PATCH 07/30] Fix tests --- .../objc_built_in_functions.dart | 2 + pkgs/objective_c/ffigen_objc.yaml | 1 + pkgs/objective_c/lib/objective_c.dart | 1 + .../src/objective_c_bindings_generated.dart | 204 +++++++++--------- 4 files changed, 106 insertions(+), 102 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index 5bdac34d31..e12f89dca2 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -27,6 +27,7 @@ class ObjCBuiltInFunctions { // Keep in sync with pkgs/objective_c/ffigen_objc.yaml. static const builtInInterfaces = { + 'DartProxy', 'NSArray', 'NSCharacterSet', 'NSCoder', @@ -49,6 +50,7 @@ class ObjCBuiltInFunctions { 'NSNumber', 'NSObject', 'NSProgress', + 'NSProxy', 'NSSet', 'NSString', 'NSURL', diff --git a/pkgs/objective_c/ffigen_objc.yaml b/pkgs/objective_c/ffigen_objc.yaml index 0d05ad6f94..bb7c98ae67 100644 --- a/pkgs/objective_c/ffigen_objc.yaml +++ b/pkgs/objective_c/ffigen_objc.yaml @@ -36,6 +36,7 @@ objc-interfaces: - NSNumber - NSObject - NSProgress + - NSProxy - NSSet - NSString - NSURL diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index e118dd8ed3..116907129a 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -41,6 +41,7 @@ export 'src/objective_c_bindings_generated.dart' NSNumber, NSObject, NSProgress, + NSProxy, NSSet, NSString, NSURL, diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index 02d1c04e08..7d830d02e1 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -15805,6 +15805,97 @@ final _objc_msgSend_359 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_stringWithCapacity_ = objc.registerName("stringWithCapacity:"); +class NSProxy extends objc.ObjCObjectBase { + NSProxy._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super(pointer, retain: retain, release: release); + + /// Constructs a [NSProxy] that points to the same underlying object as [other]. + NSProxy.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [NSProxy] that wraps the given raw object pointer. + NSProxy.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [NSProxy]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSProxy); + } + + static objc.ObjCObjectBase alloc() { + final _ret = _objc_msgSend_2(_class_NSProxy, _sel_alloc); + return objc.ObjCObjectBase(_ret, retain: false, release: true); + } + + static objc.ObjCObjectBase allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSProxy, _sel_allocWithZone_, zone); + return objc.ObjCObjectBase(_ret, retain: false, release: true); + } + + static objc.ObjCObjectBase class1() { + final _ret = _objc_msgSend_2(_class_NSProxy, _sel_class); + return objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + void forwardInvocation_(NSInvocation invocation) { + _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); + } + + NSMethodSignature? methodSignatureForSelector_( + ffi.Pointer sel) { + final _ret = + _objc_msgSend_360(this.pointer, _sel_methodSignatureForSelector_, sel); + return _ret.address == 0 + ? null + : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); + } + + void dealloc() { + _objc_msgSend_1(this.pointer, _sel_dealloc); + } + + void finalize() { + _objc_msgSend_1(this.pointer, _sel_finalize); + } + + NSString get description { + final _ret = _objc_msgSend_35(this.pointer, _sel_description); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + NSString get debugDescription { + final _ret = _objc_msgSend_35(this.pointer, _sel_debugDescription); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + static bool respondsToSelector_(ffi.Pointer aSelector) { + return _objc_msgSend_4(_class_NSProxy, _sel_respondsToSelector_, aSelector); + } + + bool allowsWeakReference() { + return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); + } + + bool retainWeakReference() { + return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); + } +} + +late final _class_NSProxy = objc.getClass("NSProxy"); +final _objc_msgSend_360 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_respondsToSelector_ = objc.registerName("respondsToSelector:"); + class DartProxy extends NSProxy { DartProxy._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -15825,13 +15916,13 @@ class DartProxy extends NSProxy { } NSMutableDictionary get methods { - final _ret = _objc_msgSend_360(this.pointer, _sel_methods); + final _ret = _objc_msgSend_361(this.pointer, _sel_methods); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } set methods(NSMutableDictionary value) { - return _objc_msgSend_361(this.pointer, _sel_setMethods_, value.pointer); + return _objc_msgSend_362(this.pointer, _sel_setMethods_, value.pointer); } static DartProxy new1() { @@ -15848,7 +15939,7 @@ class DartProxy extends NSProxy { ffi.Pointer sel, NSMethodSignature signature, ffi.Pointer block) { - _objc_msgSend_362( + _objc_msgSend_363( this.pointer, _sel_implementMethod_withSignature_andBlock_, sel, @@ -15856,6 +15947,11 @@ class DartProxy extends NSProxy { block); } + static bool respondsToSelector_(ffi.Pointer aSelector) { + return _objc_msgSend_4( + _class_DartProxy, _sel_respondsToSelector_, aSelector); + } + NSMethodSignature methodSignatureForSelector_( ffi.Pointer sel) { final _ret = @@ -15872,16 +15968,11 @@ class DartProxy extends NSProxy { final _ret = _objc_msgSend_2(_class_DartProxy, _sel_alloc); return objc.ObjCObjectBase(_ret, retain: false, release: true); } - - static bool respondsToSelector_(ffi.Pointer aSelector) { - return _objc_msgSend_4( - _class_DartProxy, _sel_respondsToSelector_, aSelector); - } } late final _class_DartProxy = objc.getClass("DartProxy"); late final _sel_methods = objc.registerName("methods"); -final _objc_msgSend_360 = objc.msgSendPointer +final _objc_msgSend_361 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -15890,7 +15981,7 @@ final _objc_msgSend_360 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); late final _sel_setMethods_ = objc.registerName("setMethods:"); -final _objc_msgSend_361 = objc.msgSendPointer +final _objc_msgSend_362 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15902,7 +15993,7 @@ final _objc_msgSend_361 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_implementMethod_withSignature_andBlock_ = objc.registerName("implementMethod:withSignature:andBlock:"); -final _objc_msgSend_362 = objc.msgSendPointer +final _objc_msgSend_363 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -15918,94 +16009,3 @@ final _objc_msgSend_362 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); - -class NSProxy extends objc.ObjCObjectBase { - NSProxy._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super(pointer, retain: retain, release: release); - - /// Constructs a [NSProxy] that points to the same underlying object as [other]. - NSProxy.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); - - /// Constructs a [NSProxy] that wraps the given raw object pointer. - NSProxy.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); - - /// Returns whether [obj] is an instance of [NSProxy]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSProxy); - } - - static objc.ObjCObjectBase alloc() { - final _ret = _objc_msgSend_2(_class_NSProxy, _sel_alloc); - return objc.ObjCObjectBase(_ret, retain: false, release: true); - } - - static objc.ObjCObjectBase allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = _objc_msgSend_3(_class_NSProxy, _sel_allocWithZone_, zone); - return objc.ObjCObjectBase(_ret, retain: false, release: true); - } - - static objc.ObjCObjectBase class1() { - final _ret = _objc_msgSend_2(_class_NSProxy, _sel_class); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - void forwardInvocation_(NSInvocation invocation) { - _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); - } - - NSMethodSignature? methodSignatureForSelector_( - ffi.Pointer sel) { - final _ret = - _objc_msgSend_363(this.pointer, _sel_methodSignatureForSelector_, sel); - return _ret.address == 0 - ? null - : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); - } - - void dealloc() { - _objc_msgSend_1(this.pointer, _sel_dealloc); - } - - void finalize() { - _objc_msgSend_1(this.pointer, _sel_finalize); - } - - NSString get description { - final _ret = _objc_msgSend_35(this.pointer, _sel_description); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - NSString get debugDescription { - final _ret = _objc_msgSend_35(this.pointer, _sel_debugDescription); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - static bool respondsToSelector_(ffi.Pointer aSelector) { - return _objc_msgSend_4(_class_NSProxy, _sel_respondsToSelector_, aSelector); - } - - bool allowsWeakReference() { - return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); - } - - bool retainWeakReference() { - return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); - } -} - -late final _class_NSProxy = objc.getClass("NSProxy"); -final _objc_msgSend_363 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_respondsToSelector_ = objc.registerName("respondsToSelector:"); From a82a6ed89d71e1db6e056c235792bc87f4690d3e Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 16 May 2024 15:56:01 +1200 Subject: [PATCH 08/30] Fix and test memory management --- .../test/native_objc_test/protocol_test.dart | 48 +++++++++++++++ .../test/native_objc_test/protocol_test.m | 2 + pkgs/objective_c/src/proxy.h | 2 +- pkgs/objective_c/src/proxy.m | 58 ++++++++++--------- 4 files changed, 83 insertions(+), 27 deletions(-) diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index efe9104d14..f12f4b0ac9 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -113,6 +113,54 @@ void main() { final intResult = consumer.callOptionalMethod_(protoImpl); expect(intResult, -999); }); + + (DartProxy, Pointer) blockRefCountTestInner() { + final proxy = DartProxy.new1(); + final proto = getProtocol('MyProtocol'); + + final sel = registerName('instanceMethod:withDouble:'); + final signature = getProtocolMethodSignature(proto, sel, + isRequired: true, isInstance: true); + final block = DartInstanceMethodBlock.fromFunction( + (Pointer p, NSString s, double x) => 'Hello'.toNSString()); + proxy.implementMethod_withSignature_andBlock_( + sel, signature!, block.pointer.cast()); + + final proxyPtr = proxy.pointer; + final blockPtr = block.pointer; + + // There are 2 references to the block. One owned by the Dart wrapper + // object, and the other owned by the proxy. The method signature is + // also an ObjC object, so the same is true for it. + doGC(); + expect(objectRetainCount(proxyPtr), 1); + expect(blockRetainCount(blockPtr), 2); + + return (proxy, blockPtr); + } + + (Pointer, Pointer) blockRefCountTest() { + final (proxy, blockPtr) = blockRefCountTestInner(); + final proxyPtr = proxy.pointer; + + // The Dart side block pointer has gone out of scope, but the proxy + // still owns a reference to it. Same for the signature. + doGC(); + expect(objectRetainCount(proxyPtr), 1); + expect(blockRetainCount(blockPtr), 1); + + return (proxyPtr, blockPtr); + } + + test('Block ref counting', () { + final (proxyPtr, blockPtr) = blockRefCountTest(); + + // The proxy object has gone out of scope, so it should be cleaned up. + // So should the block and the signature. + doGC(); + expect(objectRetainCount(proxyPtr), 0); + expect(blockRetainCount(blockPtr), 0); + }); }); }); } diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 66a6367bb4..3eae1bdafb 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -5,6 +5,8 @@ #import #import +#include "util.h" + typedef struct { int32_t x; int32_t y; diff --git a/pkgs/objective_c/src/proxy.h b/pkgs/objective_c/src/proxy.h index 703a568ee6..8a1a20f15a 100644 --- a/pkgs/objective_c/src/proxy.h +++ b/pkgs/objective_c/src/proxy.h @@ -9,9 +9,9 @@ #import @interface DartProxy : NSProxy -@property(retain) NSMutableDictionary *methods; + (instancetype)new; - (instancetype)init; +- (void)dealloc; - (void)implementMethod:(SEL) sel withSignature:(NSMethodSignature *)signature andBlock:(void *)block; diff --git a/pkgs/objective_c/src/proxy.m b/pkgs/objective_c/src/proxy.m index f13df7c7b6..8da8f07be5 100644 --- a/pkgs/objective_c/src/proxy.m +++ b/pkgs/objective_c/src/proxy.m @@ -9,58 +9,64 @@ #import @interface ProxyMethod : NSObject -@property(retain) NSMethodSignature *signature; -@property(copy) id block; +@property(strong) NSMethodSignature *signature; +@property(strong) id block; +- (void)dealloc; @end @implementation ProxyMethod +- (void)dealloc { + self.signature = nil; + self.block = nil; + [super dealloc]; +} @end -@implementation DartProxy +@implementation DartProxy { + NSMutableDictionary *methods; +} + ++ (instancetype)new { + return [[self alloc] init]; +} - (instancetype)init { if (self) { - _methods = [NSMutableDictionary new]; + methods = [NSMutableDictionary new]; } return self; } -+ (instancetype)new { - return [[self alloc] init]; +- (void)dealloc { + [methods release]; + [super dealloc]; } - (void)implementMethod:(SEL) sel withSignature:(NSMethodSignature *)signature andBlock:(void *)block { - @autoreleasepool { - ProxyMethod *m = [ProxyMethod new]; - m.signature = signature; - m.block = block; - [self.methods setObject:m forKey:[NSValue valueWithPointer:sel]]; - } + ProxyMethod *m = [ProxyMethod new]; + m.signature = signature; + m.block = block; + [methods setObject:m forKey:[NSValue valueWithPointer:sel]]; + [m release]; } - (BOOL)respondsToSelector:(SEL)sel { - @autoreleasepool { - return [self.methods objectForKey:[NSValue valueWithPointer:sel]] != nil; - } + return [methods objectForKey:[NSValue valueWithPointer:sel]] != nil; } - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { - @autoreleasepool { - ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; - return m != nil ? m.signature : nil; - } + ProxyMethod *m = [methods objectForKey:[NSValue valueWithPointer:sel]]; + return m != nil ? m.signature : nil; } - (void)forwardInvocation:(NSInvocation *)invocation { - @autoreleasepool { - [invocation retainArguments]; - SEL sel = invocation.selector; - ProxyMethod *m = [self.methods objectForKey:[NSValue valueWithPointer:sel]]; - if (m != nil) { - [invocation invokeWithTarget:m.block]; - } + [invocation retainArguments]; + SEL sel = invocation.selector; + ProxyMethod *m = [methods objectForKey:[NSValue valueWithPointer:sel]]; + if (m != nil) { + [invocation invokeWithTarget:m.block]; } } From 9e65a95da2fe6fede5af15d76ef4044e7ef0fb1e Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Fri, 17 May 2024 12:16:35 +1200 Subject: [PATCH 09/30] Separate building into DartProxyBuilder and test multithreading --- .../objc_built_in_functions.dart | 1 + .../native_objc_test/protocol_config.yaml | 2 + .../test/native_objc_test/protocol_test.dart | 55 +- .../test/native_objc_test/protocol_test.m | 15 + pkgs/objective_c/ffigen_objc.yaml | 1 + pkgs/objective_c/lib/objective_c.dart | 1 + .../src/objective_c_bindings_generated.dart | 3297 +++++++++-------- pkgs/objective_c/src/proxy.h | 9 +- pkgs/objective_c/src/proxy.m | 49 +- 9 files changed, 1781 insertions(+), 1649 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index e12f89dca2..b0876797de 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -28,6 +28,7 @@ class ObjCBuiltInFunctions { // Keep in sync with pkgs/objective_c/ffigen_objc.yaml. static const builtInInterfaces = { 'DartProxy', + 'DartProxyBuilder', 'NSArray', 'NSCharacterSet', 'NSCoder', diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index 6507338e71..121a293b2d 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -12,11 +12,13 @@ typedefs: include: - InstanceMethodBlock - OptMethodBlock + - VoidMethodBlock - OtherMethodBlock functions: include: - forceCodeGenOfInstanceMethodBlock - forceCodeGenOfOptMethodBlock + - forceCodeGenOfVoidMethodBlock - forceCodeGenOfOtherMethodBlock headers: entry-points: diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index f12f4b0ac9..4a4c944756 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -5,6 +5,7 @@ // Objective C support is only available on mac. @TestOn('mac-os') +import 'dart:async'; import 'dart:ffi'; import 'dart:io'; @@ -57,7 +58,7 @@ void main() { group('Manual DartProxy implementation', () { test('Method implementation', () { - final protoImpl = DartProxy.new1(); + final proxyBuilder = DartProxyBuilder.new1(); final consumer = ProtocolConsumer.new1(); final proto = getProtocol('MyProtocol'); final secondProto = getProtocol('SecondaryProtocol'); @@ -69,7 +70,7 @@ void main() { (Pointer p, NSString s, double x) { return 'DartProxy: $s: $x'.toNSString(); }); - protoImpl.implementMethod_withSignature_andBlock_( + proxyBuilder.implementMethod_withSignature_andBlock_( sel, signature!, block.pointer.cast()); final optSel = registerName('optionalMethod:'); @@ -79,7 +80,7 @@ void main() { DartOptMethodBlock.fromFunction((Pointer p, SomeStruct s) { return s.y - s.x; }); - protoImpl.implementMethod_withSignature_andBlock_( + proxyBuilder.implementMethod_withSignature_andBlock_( optSel, optSignature!, optBlock.pointer.cast()); final otherSel = registerName('otherMethod:b:c:d:'); @@ -89,33 +90,63 @@ void main() { (Pointer p, int a, int b, int c, int d) { return a * b * c * d; }); - protoImpl.implementMethod_withSignature_andBlock_( + proxyBuilder.implementMethod_withSignature_andBlock_( otherSel, otherSignature!, otherBlock.pointer.cast()); + final proxy = DartProxy.newFromBuilder_(proxyBuilder); + // Required instance method. - final result = consumer.callInstanceMethod_(protoImpl); + final result = consumer.callInstanceMethod_(proxy); expect(result.toString(), "DartProxy: Hello from ObjC: 3.14"); // Optional instance method. - final intResult = consumer.callOptionalMethod_(protoImpl); + final intResult = consumer.callOptionalMethod_(proxy); expect(intResult, 333); // Required instance method from secondary protocol. - final otherIntResult = consumer.callOtherMethod_(protoImpl); + final otherIntResult = consumer.callOtherMethod_(proxy); expect(otherIntResult, 24); }); test('Unimplemented method', () { - final protoImpl = DartProxy.new1(); + final proxyBuilder = DartProxyBuilder.new1(); final consumer = ProtocolConsumer.new1(); + final proxy = DartProxy.newFromBuilder_(proxyBuilder); // Optional instance method, not implemented. - final intResult = consumer.callOptionalMethod_(protoImpl); + final intResult = consumer.callOptionalMethod_(proxy); expect(intResult, -999); }); + test('Threading stress test', () async { + final proxyBuilder = DartProxyBuilder.new1(); + final consumer = ProtocolConsumer.new1(); + final proto = getProtocol('MyProtocol'); + final completer = Completer(); + int count = 0; + + final sel = registerName('voidMethod:'); + final signature = getProtocolMethodSignature(proto, sel, + isRequired: false, isInstance: true); + final block = DartVoidMethodBlock.listener((Pointer p, int x) { + expect(x, 123); + ++count; + if (count == 1000) completer.complete(); + }); + proxyBuilder.implementMethod_withSignature_andBlock_( + sel, signature!, block.pointer.cast()); + + final proxy = DartProxy.newFromBuilder_(proxyBuilder); + + for (int i = 0; i < 1000; ++i) { + consumer.callMethodOnRandomThread_(proxy); + } + await completer.future; + expect(count, 1000); + }); + (DartProxy, Pointer) blockRefCountTestInner() { - final proxy = DartProxy.new1(); + final proxyBuilder = DartProxyBuilder.new1(); final proto = getProtocol('MyProtocol'); final sel = registerName('instanceMethod:withDouble:'); @@ -123,9 +154,11 @@ void main() { isRequired: true, isInstance: true); final block = DartInstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) => 'Hello'.toNSString()); - proxy.implementMethod_withSignature_andBlock_( + proxyBuilder.implementMethod_withSignature_andBlock_( sel, signature!, block.pointer.cast()); + final proxy = DartProxy.newFromBuilder_(proxyBuilder); + final proxyPtr = proxy.pointer; final blockPtr = block.pointer; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 3eae1bdafb..3ea0521fb9 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -2,6 +2,7 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +#import #import #import @@ -14,16 +15,21 @@ @protocol MyProtocol +@required - (NSString*)instanceMethod:(NSString*)s withDouble:(double)x; @optional - (int32_t)optionalMethod:(SomeStruct)s; +@optional +- (void)voidMethod:(int32_t)x; + @end @protocol SecondaryProtocol +@required - (int32_t)otherMethod:(int32_t)a b:(int32_t)b c:(int32_t)c d:(int32_t)d; @end @@ -33,6 +39,7 @@ @interface ProtocolConsumer : NSObject - (NSString*)callInstanceMethod:(id)proto; - (int32_t)callOptionalMethod:(id)proto; - (int32_t)callOtherMethod:(id)proto; +- (void)callMethodOnRandomThread:(id)proto; @end @implementation ProtocolConsumer : NSObject @@ -52,6 +59,12 @@ - (int32_t)callOptionalMethod:(id)proto { - (int32_t)callOtherMethod:(id)proto { return [proto otherMethod:1 b:2 c:3 d:4]; } + +- (void)callMethodOnRandomThread:(id)proto { + dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{ + [proto voidMethod:123]; + }); +} @end @@ -89,5 +102,7 @@ - (NSString *)instanceMethod:(NSString *)s withDouble:(double)x { void forceCodeGenOfInstanceMethodBlock(InstanceMethodBlock block); typedef int32_t (^OptMethodBlock)(void*, SomeStruct); void forceCodeGenOfOptMethodBlock(OptMethodBlock block); +typedef void (^VoidMethodBlock)(void*, int32_t); +void forceCodeGenOfVoidMethodBlock(VoidMethodBlock block); typedef int32_t (^OtherMethodBlock)(void*, int32_t a, int32_t b, int32_t c, int32_t d); void forceCodeGenOfOtherMethodBlock(OtherMethodBlock block); diff --git a/pkgs/objective_c/ffigen_objc.yaml b/pkgs/objective_c/ffigen_objc.yaml index bb7c98ae67..4c23807208 100644 --- a/pkgs/objective_c/ffigen_objc.yaml +++ b/pkgs/objective_c/ffigen_objc.yaml @@ -14,6 +14,7 @@ objc-interfaces: # Keep in sync with ffigen's ObjCBuiltInFunctions.builtInInterfaces. include: - DartProxy + - DartProxyBuilder - NSArray - NSCharacterSet - NSCoder diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index 116907129a..1aeb56f44b 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -19,6 +19,7 @@ export 'src/c_bindings_generated.dart' export 'src/objective_c_bindings_generated.dart' show DartProxy, + DartProxyBuilder, NSArray, NSCharacterSet, NSCoder, diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index 7d830d02e1..325543ad28 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -197,7 +197,7 @@ class NSObject extends objc.ObjCObjectBase { } static void setVersion_(int aVersion) { - _objc_msgSend_295(_class_NSObject, _sel_setVersion_, aVersion); + _objc_msgSend_285(_class_NSObject, _sel_setVersion_, aVersion); } objc.ObjCObjectBase get classForCoder { @@ -222,7 +222,7 @@ class NSObject extends objc.ObjCObjectBase { } static void poseAsClass_(objc.ObjCObjectBase aClass) { - _objc_msgSend_210(_class_NSObject, _sel_poseAsClass_, aClass.pointer); + _objc_msgSend_200(_class_NSObject, _sel_poseAsClass_, aClass.pointer); } objc.ObjCObjectBase get autoContentAccessingProxy { @@ -231,22 +231,22 @@ class NSObject extends objc.ObjCObjectBase { } void URL_resourceDataDidBecomeAvailable_(NSURL sender, NSData newBytes) { - _objc_msgSend_296(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, + _objc_msgSend_286(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, sender.pointer, newBytes.pointer); } void URLResourceDidFinishLoading_(NSURL sender) { - _objc_msgSend_297( + _objc_msgSend_287( this.pointer, _sel_URLResourceDidFinishLoading_, sender.pointer); } void URLResourceDidCancelLoading_(NSURL sender) { - _objc_msgSend_297( + _objc_msgSend_287( this.pointer, _sel_URLResourceDidCancelLoading_, sender.pointer); } void URL_resourceDidFailLoadingWithReason_(NSURL sender, NSString reason) { - _objc_msgSend_298(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, + _objc_msgSend_288(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, sender.pointer, reason.pointer); } } @@ -803,32 +803,32 @@ class NSString extends NSObject { void rangeOfCharacterFromSet_( ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet) { objc.useMsgSendVariants - ? _objc_msgSend_241Stret(stret, this.pointer, + ? _objc_msgSend_231Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer) - : stret.ref = _objc_msgSend_241( + : stret.ref = _objc_msgSend_231( this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer); } void rangeOfCharacterFromSet_options_( ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet, int mask) { objc.useMsgSendVariants - ? _objc_msgSend_242Stret(stret, this.pointer, + ? _objc_msgSend_232Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask) - : stret.ref = _objc_msgSend_242(this.pointer, + : stret.ref = _objc_msgSend_232(this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask); } void rangeOfCharacterFromSet_options_range_(ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet, int mask, _NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants - ? _objc_msgSend_243Stret( + ? _objc_msgSend_233Stret( stret, this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, mask, rangeOfReceiverToSearch) - : stret.ref = _objc_msgSend_243( + : stret.ref = _objc_msgSend_233( this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, @@ -839,18 +839,18 @@ class NSString extends NSObject { void rangeOfComposedCharacterSequenceAtIndex_( ffi.Pointer<_NSRange> stret, int index) { objc.useMsgSendVariants - ? _objc_msgSend_244Stret(stret, this.pointer, + ? _objc_msgSend_234Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index) - : stret.ref = _objc_msgSend_244( + : stret.ref = _objc_msgSend_234( this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index); } void rangeOfComposedCharacterSequencesForRange_( ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_245Stret(stret, this.pointer, + ? _objc_msgSend_235Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range) - : stret.ref = _objc_msgSend_245(this.pointer, + : stret.ref = _objc_msgSend_235(this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range); } @@ -926,19 +926,19 @@ class NSString extends NSObject { } NSString uppercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_246(this.pointer, + final _ret = _objc_msgSend_236(this.pointer, _sel_uppercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString lowercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_246(this.pointer, + final _ret = _objc_msgSend_236(this.pointer, _sel_lowercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString capitalizedStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_246(this.pointer, + final _ret = _objc_msgSend_236(this.pointer, _sel_capitalizedStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -948,16 +948,16 @@ class NSString extends NSObject { ffi.Pointer lineEndPtr, ffi.Pointer contentsEndPtr, _NSRange range) { - _objc_msgSend_247(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, + _objc_msgSend_237(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, startPtr, lineEndPtr, contentsEndPtr, range); } void lineRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_245Stret( + ? _objc_msgSend_235Stret( stret, this.pointer, _sel_lineRangeForRange_, range) : stret.ref = - _objc_msgSend_245(this.pointer, _sel_lineRangeForRange_, range); + _objc_msgSend_235(this.pointer, _sel_lineRangeForRange_, range); } void getParagraphStart_end_contentsEnd_forRange_( @@ -965,7 +965,7 @@ class NSString extends NSObject { ffi.Pointer parEndPtr, ffi.Pointer contentsEndPtr, _NSRange range) { - _objc_msgSend_247( + _objc_msgSend_237( this.pointer, _sel_getParagraphStart_end_contentsEnd_forRange_, startPtr, @@ -976,15 +976,15 @@ class NSString extends NSObject { void paragraphRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_245Stret( + ? _objc_msgSend_235Stret( stret, this.pointer, _sel_paragraphRangeForRange_, range) - : stret.ref = _objc_msgSend_245( + : stret.ref = _objc_msgSend_235( this.pointer, _sel_paragraphRangeForRange_, range); } void enumerateSubstringsInRange_options_usingBlock_(_NSRange range, int opts, ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) { - _objc_msgSend_248( + _objc_msgSend_238( this.pointer, _sel_enumerateSubstringsInRange_options_usingBlock_, range, @@ -993,7 +993,7 @@ class NSString extends NSObject { } void enumerateLinesUsingBlock_(ObjCBlock_ffiVoid_NSString_bool block) { - _objc_msgSend_249( + _objc_msgSend_239( this.pointer, _sel_enumerateLinesUsingBlock_, block.pointer); } @@ -1010,7 +1010,7 @@ class NSString extends NSObject { } NSData? dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) { - final _ret = _objc_msgSend_250(this.pointer, + final _ret = _objc_msgSend_240(this.pointer, _sel_dataUsingEncoding_allowLossyConversion_, encoding, lossy); return _ret.address == 0 ? null @@ -1019,14 +1019,14 @@ class NSString extends NSObject { NSData? dataUsingEncoding_(int encoding) { final _ret = - _objc_msgSend_251(this.pointer, _sel_dataUsingEncoding_, encoding); + _objc_msgSend_241(this.pointer, _sel_dataUsingEncoding_, encoding); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } bool canBeConvertedToEncoding_(int encoding) { - return _objc_msgSend_124( + return _objc_msgSend_123( this.pointer, _sel_canBeConvertedToEncoding_, encoding); } @@ -1036,7 +1036,7 @@ class NSString extends NSObject { bool getCString_maxLength_encoding_( ffi.Pointer buffer, int maxBufferCount, int encoding) { - return _objc_msgSend_252(this.pointer, _sel_getCString_maxLength_encoding_, + return _objc_msgSend_242(this.pointer, _sel_getCString_maxLength_encoding_, buffer, maxBufferCount, encoding); } @@ -1048,7 +1048,7 @@ class NSString extends NSObject { int options, _NSRange range, ffi.Pointer<_NSRange> leftover) { - return _objc_msgSend_253( + return _objc_msgSend_243( this.pointer, _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, buffer, @@ -1061,17 +1061,17 @@ class NSString extends NSObject { } int maximumLengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_121( + return _objc_msgSend_120( this.pointer, _sel_maximumLengthOfBytesUsingEncoding_, enc); } int lengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_121( + return _objc_msgSend_120( this.pointer, _sel_lengthOfBytesUsingEncoding_, enc); } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_254(_class_NSString, _sel_availableStringEncodings); + return _objc_msgSend_244(_class_NSString, _sel_availableStringEncodings); } static NSString localizedNameOfStringEncoding_(int encoding) { @@ -1109,26 +1109,26 @@ class NSString extends NSObject { } NSArray componentsSeparatedByString_(NSString separator) { - final _ret = _objc_msgSend_255( + final _ret = _objc_msgSend_245( this.pointer, _sel_componentsSeparatedByString_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray componentsSeparatedByCharactersInSet_(NSCharacterSet separator) { - final _ret = _objc_msgSend_256(this.pointer, + final _ret = _objc_msgSend_246(this.pointer, _sel_componentsSeparatedByCharactersInSet_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString stringByTrimmingCharactersInSet_(NSCharacterSet set) { - final _ret = _objc_msgSend_257( + final _ret = _objc_msgSend_247( this.pointer, _sel_stringByTrimmingCharactersInSet_, set.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString stringByPaddingToLength_withString_startingAtIndex_( int newLength, NSString padString, int padIndex) { - final _ret = _objc_msgSend_258( + final _ret = _objc_msgSend_248( this.pointer, _sel_stringByPaddingToLength_withString_startingAtIndex_, newLength, @@ -1138,7 +1138,7 @@ class NSString extends NSObject { } NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) { - final _ret = _objc_msgSend_259( + final _ret = _objc_msgSend_249( this.pointer, _sel_stringByFoldingWithOptions_locale_, options, @@ -1151,7 +1151,7 @@ class NSString extends NSObject { NSString replacement, int options, _NSRange searchRange) { - final _ret = _objc_msgSend_260( + final _ret = _objc_msgSend_250( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_options_range_, target.pointer, @@ -1163,7 +1163,7 @@ class NSString extends NSObject { NSString stringByReplacingOccurrencesOfString_withString_( NSString target, NSString replacement) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_251( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_, target.pointer, @@ -1173,7 +1173,7 @@ class NSString extends NSObject { NSString stringByReplacingCharactersInRange_withString_( _NSRange range, NSString replacement) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_252( this.pointer, _sel_stringByReplacingCharactersInRange_withString_, range, @@ -1183,7 +1183,7 @@ class NSString extends NSObject { NSString? stringByApplyingTransform_reverse_( NSString transform, bool reverse) { - final _ret = _objc_msgSend_263(this.pointer, + final _ret = _objc_msgSend_253(this.pointer, _sel_stringByApplyingTransform_reverse_, transform.pointer, reverse); return _ret.address == 0 ? null @@ -1192,7 +1192,7 @@ class NSString extends NSObject { bool writeToURL_atomically_encoding_error_(NSURL url, bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_264( + return _objc_msgSend_254( this.pointer, _sel_writeToURL_atomically_encoding_error_, url.pointer, @@ -1206,7 +1206,7 @@ class NSString extends NSObject { bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_265( + return _objc_msgSend_255( this.pointer, _sel_writeToFile_atomically_encoding_error_, path.pointer, @@ -1226,7 +1226,7 @@ class NSString extends NSObject { NSString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_256( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -1239,7 +1239,7 @@ class NSString extends NSObject { ffi.Pointer chars, int len, ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_267( + final _ret = _objc_msgSend_257( this.pointer, _sel_initWithCharactersNoCopy_length_deallocator_, chars, @@ -1250,13 +1250,13 @@ class NSString extends NSObject { NSString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_268( + final _ret = _objc_msgSend_258( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString? initWithUTF8String_(ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_259( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1277,21 +1277,21 @@ class NSString extends NSObject { NSString initWithFormat_arguments_( NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_260( this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_271(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_261(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString initWithFormat_locale_arguments_(NSString format, objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_262( this.pointer, _sel_initWithFormat_locale_arguments_, format.pointer, @@ -1304,7 +1304,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1320,7 +1320,7 @@ class NSString extends NSObject { NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_264( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -1337,7 +1337,7 @@ class NSString extends NSObject { NSString validFormatSpecifiers, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_275( + final _ret = _objc_msgSend_265( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, format.pointer, @@ -1356,7 +1356,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_276( + final _ret = _objc_msgSend_266( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, format.pointer, @@ -1370,7 +1370,7 @@ class NSString extends NSObject { } NSString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_267( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null @@ -1379,7 +1379,7 @@ class NSString extends NSObject { NSString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_278(this.pointer, + final _ret = _objc_msgSend_268(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null @@ -1388,7 +1388,7 @@ class NSString extends NSObject { NSString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_279( + final _ret = _objc_msgSend_269( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -1405,7 +1405,7 @@ class NSString extends NSObject { int len, int encoding, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_280( + final _ret = _objc_msgSend_270( this.pointer, _sel_initWithBytesNoCopy_length_encoding_deallocator_, bytes, @@ -1430,14 +1430,14 @@ class NSString extends NSObject { static NSString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_268( + final _ret = _objc_msgSend_258( _class_NSString, _sel_stringWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_259( _class_NSString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1460,7 +1460,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( _class_NSString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1476,7 +1476,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( _class_NSString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1489,7 +1489,7 @@ class NSString extends NSObject { NSString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_281(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_271(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -1498,7 +1498,7 @@ class NSString extends NSObject { static NSString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_281( + final _ret = _objc_msgSend_271( _class_NSString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null @@ -1507,7 +1507,7 @@ class NSString extends NSObject { NSString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_282(this.pointer, + final _ret = _objc_msgSend_272(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1516,7 +1516,7 @@ class NSString extends NSObject { NSString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_283(this.pointer, + final _ret = _objc_msgSend_273(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -1525,7 +1525,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_282(_class_NSString, + final _ret = _objc_msgSend_272(_class_NSString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1534,7 +1534,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_283( + final _ret = _objc_msgSend_273( _class_NSString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -1549,7 +1549,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_284( + final _ret = _objc_msgSend_274( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1564,7 +1564,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_285( + final _ret = _objc_msgSend_275( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1579,7 +1579,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_284( + final _ret = _objc_msgSend_274( _class_NSString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1594,7 +1594,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_285( + final _ret = _objc_msgSend_275( _class_NSString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1611,7 +1611,7 @@ class NSString extends NSObject { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_286( + return _objc_msgSend_276( _class_NSString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -1627,7 +1627,7 @@ class NSString extends NSObject { NSDictionary? propertyListFromStringsFileFormat() { final _ret = - _objc_msgSend_287(this.pointer, _sel_propertyListFromStringsFileFormat); + _objc_msgSend_277(this.pointer, _sel_propertyListFromStringsFileFormat); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); @@ -1646,17 +1646,17 @@ class NSString extends NSObject { } void getCString_(ffi.Pointer bytes) { - _objc_msgSend_288(this.pointer, _sel_getCString_, bytes); + _objc_msgSend_278(this.pointer, _sel_getCString_, bytes); } void getCString_maxLength_(ffi.Pointer bytes, int maxLength) { - _objc_msgSend_289( + _objc_msgSend_279( this.pointer, _sel_getCString_maxLength_, bytes, maxLength); } void getCString_maxLength_range_remainingRange_(ffi.Pointer bytes, int maxLength, _NSRange aRange, ffi.Pointer<_NSRange> leftoverRange) { - _objc_msgSend_290( + _objc_msgSend_280( this.pointer, _sel_getCString_maxLength_range_remainingRange_, bytes, @@ -1671,7 +1671,7 @@ class NSString extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_161( + return _objc_msgSend_160( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -1684,7 +1684,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1700,7 +1700,7 @@ class NSString extends NSObject { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( _class_NSString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1709,7 +1709,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCStringNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool freeBuffer) { - final _ret = _objc_msgSend_291( + final _ret = _objc_msgSend_281( this.pointer, _sel_initWithCStringNoCopy_length_freeWhenDone_, bytes, @@ -1722,7 +1722,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_281( + final _ret = _objc_msgSend_271( this.pointer, _sel_initWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1730,7 +1730,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_269(this.pointer, _sel_initWithCString_, bytes); + final _ret = _objc_msgSend_259(this.pointer, _sel_initWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -1738,7 +1738,7 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_281( + final _ret = _objc_msgSend_271( _class_NSString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1747,19 +1747,19 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { final _ret = - _objc_msgSend_269(_class_NSString, _sel_stringWithCString_, bytes); + _objc_msgSend_259(_class_NSString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } void getCharacters_(ffi.Pointer buffer) { - _objc_msgSend_292(this.pointer, _sel_getCharacters_, buffer); + _objc_msgSend_282(this.pointer, _sel_getCharacters_, buffer); } NSString? stringByAddingPercentEncodingWithAllowedCharacters_( NSCharacterSet allowedCharacters) { - final _ret = _objc_msgSend_293( + final _ret = _objc_msgSend_283( this.pointer, _sel_stringByAddingPercentEncodingWithAllowedCharacters_, allowedCharacters.pointer); @@ -1777,7 +1777,7 @@ class NSString extends NSObject { } NSString? stringByAddingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_294( + final _ret = _objc_msgSend_284( this.pointer, _sel_stringByAddingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -1785,7 +1785,7 @@ class NSString extends NSObject { } NSString? stringByReplacingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_294( + final _ret = _objc_msgSend_284( this.pointer, _sel_stringByReplacingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -2299,13 +2299,13 @@ class NSCharacterSet extends NSObject { } static NSCharacterSet characterSetWithBitmapRepresentation_(NSData data) { - final _ret = _objc_msgSend_234(_class_NSCharacterSet, + final _ret = _objc_msgSend_224(_class_NSCharacterSet, _sel_characterSetWithBitmapRepresentation_, data.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet? characterSetWithContentsOfFile_(NSString fName) { - final _ret = _objc_msgSend_235(_class_NSCharacterSet, + final _ret = _objc_msgSend_225(_class_NSCharacterSet, _sel_characterSetWithContentsOfFile_, fName.pointer); return _ret.address == 0 ? null @@ -2314,12 +2314,12 @@ class NSCharacterSet extends NSObject { NSCharacterSet initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_236(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_226(this.pointer, _sel_initWithCoder_, coder.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } bool characterIsMember_(int aCharacter) { - return _objc_msgSend_237(this.pointer, _sel_characterIsMember_, aCharacter); + return _objc_msgSend_227(this.pointer, _sel_characterIsMember_, aCharacter); } NSData get bitmapRepresentation { @@ -2333,17 +2333,17 @@ class NSCharacterSet extends NSObject { } bool longCharacterIsMember_(int theLongChar) { - return _objc_msgSend_238( + return _objc_msgSend_228( this.pointer, _sel_longCharacterIsMember_, theLongChar); } bool isSupersetOfSet_(NSCharacterSet theOtherSet) { - return _objc_msgSend_239( + return _objc_msgSend_229( this.pointer, _sel_isSupersetOfSet_, theOtherSet.pointer); } bool hasMemberInPlane_(int thePlane) { - return _objc_msgSend_240(this.pointer, _sel_hasMemberInPlane_, thePlane); + return _objc_msgSend_230(this.pointer, _sel_hasMemberInPlane_, thePlane); } static NSCharacterSet getURLUserAllowedCharacterSet() { @@ -2516,33 +2516,33 @@ class NSData extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_161( + return _objc_msgSend_160( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } bool writeToFile_options_error_(NSString path, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_218(this.pointer, _sel_writeToFile_options_error_, + return _objc_msgSend_208(this.pointer, _sel_writeToFile_options_error_, path.pointer, writeOptionsMask, errorPtr); } bool writeToURL_options_error_(NSURL url, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_219(this.pointer, _sel_writeToURL_options_error_, + return _objc_msgSend_209(this.pointer, _sel_writeToURL_options_error_, url.pointer, writeOptionsMask, errorPtr); } void rangeOfData_options_range_(ffi.Pointer<_NSRange> stret, NSData dataToFind, int mask, _NSRange searchRange) { objc.useMsgSendVariants - ? _objc_msgSend_220Stret( + ? _objc_msgSend_210Stret( stret, this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, mask, searchRange) - : stret.ref = _objc_msgSend_220( + : stret.ref = _objc_msgSend_210( this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, @@ -2552,7 +2552,7 @@ class NSData extends NSObject { void enumerateByteRangesUsingBlock_( ObjCBlock_ffiVoid_ffiVoid_NSRange_bool block) { - _objc_msgSend_221( + _objc_msgSend_211( this.pointer, _sel_enumerateByteRangesUsingBlock_, block.pointer); } @@ -2562,28 +2562,28 @@ class NSData extends NSObject { } static NSData dataWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( _class_NSData, _sel_dataWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( _class_NSData, _sel_dataWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_223(_class_NSData, + final _ret = _objc_msgSend_213(_class_NSData, _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData? dataWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_224( + final _ret = _objc_msgSend_214( _class_NSData, _sel_dataWithContentsOfFile_options_error_, path.pointer, @@ -2596,7 +2596,7 @@ class NSData extends NSObject { static NSData? dataWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_225( + final _ret = _objc_msgSend_215( _class_NSData, _sel_dataWithContentsOfURL_options_error_, url.pointer, @@ -2616,7 +2616,7 @@ class NSData extends NSObject { } static NSData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( _class_NSData, _sel_dataWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2624,27 +2624,27 @@ class NSData extends NSObject { } NSData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData initWithBytesNoCopy_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } NSData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_223(this.pointer, + final _ret = _objc_msgSend_213(this.pointer, _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } NSData initWithBytesNoCopy_length_deallocator_(ffi.Pointer bytes, int length, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_227( + final _ret = _objc_msgSend_217( this.pointer, _sel_initWithBytesNoCopy_length_deallocator_, bytes, @@ -2655,7 +2655,7 @@ class NSData extends NSObject { NSData? initWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_224( + final _ret = _objc_msgSend_214( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, @@ -2668,7 +2668,7 @@ class NSData extends NSObject { NSData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_225( + final _ret = _objc_msgSend_215( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, @@ -2688,7 +2688,7 @@ class NSData extends NSObject { } NSData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2697,19 +2697,19 @@ class NSData extends NSObject { NSData initWithData_(NSData data) { final _ret = - _objc_msgSend_228(this.pointer, _sel_initWithData_, data.pointer); + _objc_msgSend_218(this.pointer, _sel_initWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithData_(NSData data) { final _ret = - _objc_msgSend_228(_class_NSData, _sel_dataWithData_, data.pointer); + _objc_msgSend_218(_class_NSData, _sel_dataWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedString_options_( NSString base64String, int options) { - final _ret = _objc_msgSend_229( + final _ret = _objc_msgSend_219( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, @@ -2720,13 +2720,13 @@ class NSData extends NSObject { } NSString base64EncodedStringWithOptions_(int options) { - final _ret = _objc_msgSend_230( + final _ret = _objc_msgSend_220( this.pointer, _sel_base64EncodedStringWithOptions_, options); return NSString.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedData_options_(NSData base64Data, int options) { - final _ret = _objc_msgSend_231(this.pointer, + final _ret = _objc_msgSend_221(this.pointer, _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); return _ret.address == 0 ? null @@ -2734,14 +2734,14 @@ class NSData extends NSObject { } NSData base64EncodedDataWithOptions_(int options) { - final _ret = _objc_msgSend_232( + final _ret = _objc_msgSend_222( this.pointer, _sel_base64EncodedDataWithOptions_, options); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? decompressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_233(this.pointer, + final _ret = _objc_msgSend_223(this.pointer, _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -2750,7 +2750,7 @@ class NSData extends NSObject { NSData? compressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_233(this.pointer, + final _ret = _objc_msgSend_223(this.pointer, _sel_compressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -3269,7 +3269,7 @@ class NSURL extends NSObject { objc.ObjCObjectBase? resourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_162( + final _ret = _objc_msgSend_161( this.pointer, _sel_resourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3278,18 +3278,18 @@ class NSURL extends NSObject { bool setResourceValue_forKey_error_(objc.ObjCObjectBase? value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_163(this.pointer, _sel_setResourceValue_forKey_error_, + return _objc_msgSend_162(this.pointer, _sel_setResourceValue_forKey_error_, value?.pointer ?? ffi.nullptr, key.pointer, error); } bool setResourceValues_error_(objc.ObjCObjectBase keyedValues, ffi.Pointer> error) { - return _objc_msgSend_164(this.pointer, _sel_setResourceValues_error_, + return _objc_msgSend_163(this.pointer, _sel_setResourceValues_error_, keyedValues.pointer, error); } void removeCachedResourceValueForKey_(NSString key) { - _objc_msgSend_165( + _objc_msgSend_164( this.pointer, _sel_removeCachedResourceValueForKey_, key.pointer); } @@ -3299,7 +3299,7 @@ class NSURL extends NSObject { void setTemporaryResourceValue_forKey_( objc.ObjCObjectBase? value, NSString key) { - _objc_msgSend_166(this.pointer, _sel_setTemporaryResourceValue_forKey_, + _objc_msgSend_165(this.pointer, _sel_setTemporaryResourceValue_forKey_, value?.pointer ?? ffi.nullptr, key.pointer); } @@ -3309,7 +3309,7 @@ class NSURL extends NSObject { NSArray? keys, NSURL? relativeURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_167( + final _ret = _objc_msgSend_166( this.pointer, _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_, options, @@ -3328,7 +3328,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_168( + final _ret = _objc_msgSend_167( this.pointer, _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3348,7 +3348,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_168( + final _ret = _objc_msgSend_167( _class_NSURL, _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3363,7 +3363,7 @@ class NSURL extends NSObject { static objc.ObjCObjectBase? resourceValuesForKeys_fromBookmarkData_( NSArray keys, NSData bookmarkData) { - final _ret = _objc_msgSend_169( + final _ret = _objc_msgSend_168( _class_NSURL, _sel_resourceValuesForKeys_fromBookmarkData_, keys.pointer, @@ -3378,7 +3378,7 @@ class NSURL extends NSObject { NSURL bookmarkFileURL, int options, ffi.Pointer> error) { - return _objc_msgSend_170( + return _objc_msgSend_169( _class_NSURL, _sel_writeBookmarkData_toURL_options_error_, bookmarkData.pointer, @@ -3389,7 +3389,7 @@ class NSURL extends NSObject { static NSData? bookmarkDataWithContentsOfURL_error_( NSURL bookmarkFileURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_171( + final _ret = _objc_msgSend_170( _class_NSURL, _sel_bookmarkDataWithContentsOfURL_error_, bookmarkFileURL.pointer, @@ -3401,7 +3401,7 @@ class NSURL extends NSObject { static NSURL? URLByResolvingAliasFileAtURL_options_error_( NSURL url, int options, ffi.Pointer> error) { - final _ret = _objc_msgSend_172( + final _ret = _objc_msgSend_171( _class_NSURL, _sel_URLByResolvingAliasFileAtURL_options_error_, url.pointer, @@ -3435,7 +3435,7 @@ class NSURL extends NSObject { NSDictionary? promisedItemResourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_201(this.pointer, + final _ret = _objc_msgSend_191(this.pointer, _sel_promisedItemResourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3444,12 +3444,12 @@ class NSURL extends NSObject { bool checkPromisedItemIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_202( + return _objc_msgSend_192( this.pointer, _sel_checkPromisedItemIsReachableAndReturnError_, error); } static NSURL? fileURLWithPathComponents_(NSArray components) { - final _ret = _objc_msgSend_203( + final _ret = _objc_msgSend_193( _class_NSURL, _sel_fileURLWithPathComponents_, components.pointer); return _ret.address == 0 ? null @@ -3457,7 +3457,7 @@ class NSURL extends NSObject { } NSArray? get pathComponents { - final _ret = _objc_msgSend_204(this.pointer, _sel_pathComponents); + final _ret = _objc_msgSend_194(this.pointer, _sel_pathComponents); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); @@ -3478,7 +3478,7 @@ class NSURL extends NSObject { } NSURL? URLByAppendingPathComponent_(NSString pathComponent) { - final _ret = _objc_msgSend_205( + final _ret = _objc_msgSend_195( this.pointer, _sel_URLByAppendingPathComponent_, pathComponent.pointer); return _ret.address == 0 ? null @@ -3487,7 +3487,7 @@ class NSURL extends NSObject { NSURL? URLByAppendingPathComponent_isDirectory_( NSString pathComponent, bool isDirectory) { - final _ret = _objc_msgSend_206( + final _ret = _objc_msgSend_196( this.pointer, _sel_URLByAppendingPathComponent_isDirectory_, pathComponent.pointer, @@ -3506,7 +3506,7 @@ class NSURL extends NSObject { } NSURL? URLByAppendingPathExtension_(NSString pathExtension) { - final _ret = _objc_msgSend_205( + final _ret = _objc_msgSend_195( this.pointer, _sel_URLByAppendingPathExtension_, pathExtension.pointer); return _ret.address == 0 ? null @@ -3523,7 +3523,7 @@ class NSURL extends NSObject { bool checkResourceIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_202( + return _objc_msgSend_192( this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); } @@ -3543,7 +3543,7 @@ class NSURL extends NSObject { } NSData? resourceDataUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_207( + final _ret = _objc_msgSend_197( this.pointer, _sel_resourceDataUsingCache_, shouldUseCache); return _ret.address == 0 ? null @@ -3552,7 +3552,7 @@ class NSURL extends NSObject { void loadResourceDataNotifyingClient_usingCache_( objc.ObjCObjectBase client, bool shouldUseCache) { - _objc_msgSend_208( + _objc_msgSend_198( this.pointer, _sel_loadResourceDataNotifyingClient_usingCache_, client.pointer, @@ -3572,12 +3572,12 @@ class NSURL extends NSObject { } bool setProperty_forKey_(objc.ObjCObjectBase property, NSString propertyKey) { - return _objc_msgSend_209(this.pointer, _sel_setProperty_forKey_, + return _objc_msgSend_199(this.pointer, _sel_setProperty_forKey_, property.pointer, propertyKey.pointer); } NSURLHandle? URLHandleUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_207( this.pointer, _sel_URLHandleUsingCache_, shouldUseCache); return _ret.address == 0 ? null @@ -5007,12 +5007,12 @@ class NSArray extends NSObject { } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSEnumerator reverseObjectEnumerator() { - final _ret = _objc_msgSend_111(this.pointer, _sel_reverseObjectEnumerator); + final _ret = _objc_msgSend_110(this.pointer, _sel_reverseObjectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -5028,7 +5028,7 @@ class NSArray extends NSObject { ffi.Pointer, ffi.Pointer)>> comparator, ffi.Pointer context) { - final _ret = _objc_msgSend_112(this.pointer, + final _ret = _objc_msgSend_111(this.pointer, _sel_sortedArrayUsingFunction_context_, comparator, context); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5041,7 +5041,7 @@ class NSArray extends NSObject { comparator, ffi.Pointer context, NSData? hint) { - final _ret = _objc_msgSend_113( + final _ret = _objc_msgSend_112( this.pointer, _sel_sortedArrayUsingFunction_context_hint_, comparator, @@ -5051,20 +5051,20 @@ class NSArray extends NSObject { } NSArray sortedArrayUsingSelector_(ffi.Pointer comparator) { - final _ret = _objc_msgSend_114( + final _ret = _objc_msgSend_113( this.pointer, _sel_sortedArrayUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray subarrayWithRange_(_NSRange range) { final _ret = - _objc_msgSend_115(this.pointer, _sel_subarrayWithRange_, range); + _objc_msgSend_114(this.pointer, _sel_subarrayWithRange_, range); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_116( + return _objc_msgSend_115( this.pointer, _sel_writeToURL_error_, url.pointer, error); } @@ -5074,12 +5074,12 @@ class NSArray extends NSObject { void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } NSArray objectsAtIndexes_(NSIndexSet indexes) { - final _ret = _objc_msgSend_138( + final _ret = _objc_msgSend_137( this.pointer, _sel_objectsAtIndexes_, indexes.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5092,19 +5092,19 @@ class NSArray extends NSObject { void enumerateObjectsUsingBlock_( ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_139( + _objc_msgSend_138( this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); } void enumerateObjectsWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_140(this.pointer, + _objc_msgSend_139(this.pointer, _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); } void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet s, int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_141( + _objc_msgSend_140( this.pointer, _sel_enumerateObjectsAtIndexes_options_usingBlock_, s.pointer, @@ -5114,19 +5114,19 @@ class NSArray extends NSObject { int indexOfObjectPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_142( + return _objc_msgSend_141( this.pointer, _sel_indexOfObjectPassingTest_, predicate.pointer); } int indexOfObjectWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_143(this.pointer, + return _objc_msgSend_142(this.pointer, _sel_indexOfObjectWithOptions_passingTest_, opts, predicate.pointer); } int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_144( + return _objc_msgSend_143( this.pointer, _sel_indexOfObjectAtIndexes_options_passingTest_, s.pointer, @@ -5136,21 +5136,21 @@ class NSArray extends NSObject { NSIndexSet indexesOfObjectsPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_145( + final _ret = _objc_msgSend_144( this.pointer, _sel_indexesOfObjectsPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_146(this.pointer, + final _ret = _objc_msgSend_145(this.pointer, _sel_indexesOfObjectsWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_147( + final _ret = _objc_msgSend_146( this.pointer, _sel_indexesOfObjectsAtIndexes_options_passingTest_, s.pointer, @@ -5161,14 +5161,14 @@ class NSArray extends NSObject { NSArray sortedArrayUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_147( this.pointer, _sel_sortedArrayUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray sortedArrayWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_149(this.pointer, + final _ret = _objc_msgSend_148(this.pointer, _sel_sortedArrayWithOptions_usingComparator_, opts, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5178,7 +5178,7 @@ class NSArray extends NSObject { _NSRange r, int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmp) { - return _objc_msgSend_150( + return _objc_msgSend_149( this.pointer, _sel_indexOfObject_inSortedRange_options_usingComparator_, obj.pointer, @@ -5193,7 +5193,7 @@ class NSArray extends NSObject { } static NSArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSArray, _sel_arrayWithObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5206,38 +5206,38 @@ class NSArray extends NSObject { } static NSArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSArray, _sel_arrayWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithArray_(NSArray array) { final _ret = - _objc_msgSend_152(_class_NSArray, _sel_arrayWithArray_, array.pointer); + _objc_msgSend_151(_class_NSArray, _sel_arrayWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_152( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSArray.castFromPointer(_ret, retain: false, release: true); } NSArray? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_154( + final _ret = _objc_msgSend_153( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5246,7 +5246,7 @@ class NSArray extends NSObject { static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_154( + final _ret = _objc_msgSend_153( _class_NSArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5257,7 +5257,7 @@ class NSArray extends NSObject { NSArray other, int options, ObjCBlock_bool_objcObjCObject_objcObjCObject block) { - final _ret = _objc_msgSend_155( + final _ret = _objc_msgSend_154( this.pointer, _sel_differenceFromArray_withOptions_usingEquivalenceTest_, other.pointer, @@ -5268,19 +5268,19 @@ class NSArray extends NSObject { objc.ObjCObjectBase differenceFromArray_withOptions_( NSArray other, int options) { - final _ret = _objc_msgSend_156(this.pointer, + final _ret = _objc_msgSend_155(this.pointer, _sel_differenceFromArray_withOptions_, other.pointer, options); return objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase differenceFromArray_(NSArray other) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_151( this.pointer, _sel_differenceFromArray_, other.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSArray? arrayByApplyingDifference_(objc.ObjCObjectBase difference) { - final _ret = _objc_msgSend_157( + final _ret = _objc_msgSend_156( this.pointer, _sel_arrayByApplyingDifference_, difference.pointer); return _ret.address == 0 ? null @@ -5288,11 +5288,11 @@ class NSArray extends NSObject { } void getObjects_(ffi.Pointer> objects) { - _objc_msgSend_158(this.pointer, _sel_getObjects_, objects); + _objc_msgSend_157(this.pointer, _sel_getObjects_, objects); } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_158( _class_NSArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5300,7 +5300,7 @@ class NSArray extends NSObject { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_160( + final _ret = _objc_msgSend_159( _class_NSArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5308,7 +5308,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_158( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5316,7 +5316,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_160( + final _ret = _objc_msgSend_159( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5329,7 +5329,7 @@ class NSArray extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_161( + return _objc_msgSend_160( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -5528,9 +5528,9 @@ class NSEnumerator extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } - NSArray get allObjects { - final _ret = _objc_msgSend_110(this.pointer, _sel_allObjects); - return NSArray.castFromPointer(_ret, retain: true, release: true); + objc.ObjCObjectBase get allObjects { + final _ret = _objc_msgSend_2(this.pointer, _sel_allObjects); + return objc.ObjCObjectBase(_ret, retain: true, release: true); } @override @@ -5559,16 +5559,8 @@ class NSEnumerator extends NSObject { late final _class_NSEnumerator = objc.getClass("NSEnumerator"); late final _sel_nextObject = objc.registerName("nextObject"); late final _sel_allObjects = objc.registerName("allObjects"); -final _objc_msgSend_110 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); late final _sel_objectEnumerator = objc.registerName("objectEnumerator"); -final _objc_msgSend_111 = objc.msgSendPointer +final _objc_msgSend_110 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5581,7 +5573,7 @@ late final _sel_reverseObjectEnumerator = late final _sel_sortedArrayHint = objc.registerName("sortedArrayHint"); late final _sel_sortedArrayUsingFunction_context_ = objc.registerName("sortedArrayUsingFunction:context:"); -final _objc_msgSend_112 = objc.msgSendPointer +final _objc_msgSend_111 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5605,7 +5597,7 @@ final _objc_msgSend_112 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingFunction_context_hint_ = objc.registerName("sortedArrayUsingFunction:context:hint:"); -final _objc_msgSend_113 = objc.msgSendPointer +final _objc_msgSend_112 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5631,7 +5623,7 @@ final _objc_msgSend_113 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingSelector_ = objc.registerName("sortedArrayUsingSelector:"); -final _objc_msgSend_114 = objc.msgSendPointer +final _objc_msgSend_113 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5642,7 +5634,7 @@ final _objc_msgSend_114 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_subarrayWithRange_ = objc.registerName("subarrayWithRange:"); -final _objc_msgSend_115 = objc.msgSendPointer +final _objc_msgSend_114 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5651,7 +5643,7 @@ final _objc_msgSend_115 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_writeToURL_error_ = objc.registerName("writeToURL:error:"); -final _objc_msgSend_116 = objc.msgSendPointer +final _objc_msgSend_115 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5669,7 +5661,7 @@ late final _sel_makeObjectsPerformSelector_ = objc.registerName("makeObjectsPerformSelector:"); late final _sel_makeObjectsPerformSelector_withObject_ = objc.registerName("makeObjectsPerformSelector:withObject:"); -final _objc_msgSend_117 = objc.msgSendPointer +final _objc_msgSend_116 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -5715,19 +5707,19 @@ class NSIndexSet extends NSObject { } static NSIndexSet indexSetWithIndexesInRange_(_NSRange range) { - final _ret = _objc_msgSend_118( + final _ret = _objc_msgSend_117( _class_NSIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexesInRange_(_NSRange range) { final _ret = - _objc_msgSend_118(this.pointer, _sel_initWithIndexesInRange_, range); + _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexSet_(NSIndexSet indexSet) { - final _ret = _objc_msgSend_119( + final _ret = _objc_msgSend_118( this.pointer, _sel_initWithIndexSet_, indexSet.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } @@ -5738,7 +5730,7 @@ class NSIndexSet extends NSObject { } bool isEqualToIndexSet_(NSIndexSet indexSet) { - return _objc_msgSend_120( + return _objc_msgSend_119( this.pointer, _sel_isEqualToIndexSet_, indexSet.pointer); } @@ -5755,20 +5747,20 @@ class NSIndexSet extends NSObject { } int indexGreaterThanIndex_(int value) { - return _objc_msgSend_121(this.pointer, _sel_indexGreaterThanIndex_, value); + return _objc_msgSend_120(this.pointer, _sel_indexGreaterThanIndex_, value); } int indexLessThanIndex_(int value) { - return _objc_msgSend_121(this.pointer, _sel_indexLessThanIndex_, value); + return _objc_msgSend_120(this.pointer, _sel_indexLessThanIndex_, value); } int indexGreaterThanOrEqualToIndex_(int value) { - return _objc_msgSend_121( + return _objc_msgSend_120( this.pointer, _sel_indexGreaterThanOrEqualToIndex_, value); } int indexLessThanOrEqualToIndex_(int value) { - return _objc_msgSend_121( + return _objc_msgSend_120( this.pointer, _sel_indexLessThanOrEqualToIndex_, value); } @@ -5776,47 +5768,47 @@ class NSIndexSet extends NSObject { ffi.Pointer indexBuffer, int bufferSize, ffi.Pointer<_NSRange> range) { - return _objc_msgSend_122(this.pointer, + return _objc_msgSend_121(this.pointer, _sel_getIndexes_maxCount_inIndexRange_, indexBuffer, bufferSize, range); } int countOfIndexesInRange_(_NSRange range) { - return _objc_msgSend_123(this.pointer, _sel_countOfIndexesInRange_, range); + return _objc_msgSend_122(this.pointer, _sel_countOfIndexesInRange_, range); } bool containsIndex_(int value) { - return _objc_msgSend_124(this.pointer, _sel_containsIndex_, value); + return _objc_msgSend_123(this.pointer, _sel_containsIndex_, value); } bool containsIndexesInRange_(_NSRange range) { - return _objc_msgSend_125(this.pointer, _sel_containsIndexesInRange_, range); + return _objc_msgSend_124(this.pointer, _sel_containsIndexesInRange_, range); } bool containsIndexes_(NSIndexSet indexSet) { - return _objc_msgSend_120( + return _objc_msgSend_119( this.pointer, _sel_containsIndexes_, indexSet.pointer); } bool intersectsIndexesInRange_(_NSRange range) { - return _objc_msgSend_125( + return _objc_msgSend_124( this.pointer, _sel_intersectsIndexesInRange_, range); } void enumerateIndexesUsingBlock_( ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_126( + _objc_msgSend_125( this.pointer, _sel_enumerateIndexesUsingBlock_, block.pointer); } void enumerateIndexesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_127(this.pointer, + _objc_msgSend_126(this.pointer, _sel_enumerateIndexesWithOptions_usingBlock_, opts, block.pointer); } void enumerateIndexesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_128( + _objc_msgSend_127( this.pointer, _sel_enumerateIndexesInRange_options_usingBlock_, range, @@ -5825,39 +5817,39 @@ class NSIndexSet extends NSObject { } int indexPassingTest_(ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_129( + return _objc_msgSend_128( this.pointer, _sel_indexPassingTest_, predicate.pointer); } int indexWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_130(this.pointer, _sel_indexWithOptions_passingTest_, + return _objc_msgSend_129(this.pointer, _sel_indexWithOptions_passingTest_, opts, predicate.pointer); } int indexInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_131(this.pointer, + return _objc_msgSend_130(this.pointer, _sel_indexInRange_options_passingTest_, range, opts, predicate.pointer); } NSIndexSet indexesPassingTest_( ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_132( + final _ret = _objc_msgSend_131( this.pointer, _sel_indexesPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_133(this.pointer, + final _ret = _objc_msgSend_132(this.pointer, _sel_indexesWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_134( + final _ret = _objc_msgSend_133( this.pointer, _sel_indexesInRange_options_passingTest_, range, @@ -5867,19 +5859,19 @@ class NSIndexSet extends NSObject { } void enumerateRangesUsingBlock_(ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_135( + _objc_msgSend_134( this.pointer, _sel_enumerateRangesUsingBlock_, block.pointer); } void enumerateRangesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_136(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, + _objc_msgSend_135(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, opts, block.pointer); } void enumerateRangesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_137( + _objc_msgSend_136( this.pointer, _sel_enumerateRangesInRange_options_usingBlock_, range, @@ -5914,7 +5906,7 @@ late final _sel_indexSet = objc.registerName("indexSet"); late final _sel_indexSetWithIndex_ = objc.registerName("indexSetWithIndex:"); late final _sel_indexSetWithIndexesInRange_ = objc.registerName("indexSetWithIndexesInRange:"); -final _objc_msgSend_118 = objc.msgSendPointer +final _objc_msgSend_117 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -5925,7 +5917,7 @@ final _objc_msgSend_118 = objc.msgSendPointer late final _sel_initWithIndexesInRange_ = objc.registerName("initWithIndexesInRange:"); late final _sel_initWithIndexSet_ = objc.registerName("initWithIndexSet:"); -final _objc_msgSend_119 = objc.msgSendPointer +final _objc_msgSend_118 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -5937,7 +5929,7 @@ final _objc_msgSend_119 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithIndex_ = objc.registerName("initWithIndex:"); late final _sel_isEqualToIndexSet_ = objc.registerName("isEqualToIndexSet:"); -final _objc_msgSend_120 = objc.msgSendPointer +final _objc_msgSend_119 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5951,7 +5943,7 @@ late final _sel_firstIndex = objc.registerName("firstIndex"); late final _sel_lastIndex = objc.registerName("lastIndex"); late final _sel_indexGreaterThanIndex_ = objc.registerName("indexGreaterThanIndex:"); -final _objc_msgSend_121 = objc.msgSendPointer +final _objc_msgSend_120 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5966,7 +5958,7 @@ late final _sel_indexLessThanOrEqualToIndex_ = objc.registerName("indexLessThanOrEqualToIndex:"); late final _sel_getIndexes_maxCount_inIndexRange_ = objc.registerName("getIndexes:maxCount:inIndexRange:"); -final _objc_msgSend_122 = objc.msgSendPointer +final _objc_msgSend_121 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5984,7 +5976,7 @@ final _objc_msgSend_122 = objc.msgSendPointer ffi.Pointer<_NSRange>)>(); late final _sel_countOfIndexesInRange_ = objc.registerName("countOfIndexesInRange:"); -final _objc_msgSend_123 = objc.msgSendPointer +final _objc_msgSend_122 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5993,7 +5985,7 @@ final _objc_msgSend_123 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_containsIndex_ = objc.registerName("containsIndex:"); -final _objc_msgSend_124 = objc.msgSendPointer +final _objc_msgSend_123 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -6003,7 +5995,7 @@ final _objc_msgSend_124 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_containsIndexesInRange_ = objc.registerName("containsIndexesInRange:"); -final _objc_msgSend_125 = objc.msgSendPointer +final _objc_msgSend_124 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -6117,7 +6109,7 @@ class ObjCBlock_ffiVoid_ffiUnsignedLong_bool extends objc.ObjCBlockBase { late final _sel_enumerateIndexesUsingBlock_ = objc.registerName("enumerateIndexesUsingBlock:"); -final _objc_msgSend_126 = objc.msgSendPointer +final _objc_msgSend_125 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6133,7 +6125,7 @@ abstract class NSEnumerationOptions { late final _sel_enumerateIndexesWithOptions_usingBlock_ = objc.registerName("enumerateIndexesWithOptions:usingBlock:"); -final _objc_msgSend_127 = objc.msgSendPointer +final _objc_msgSend_126 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6149,7 +6141,7 @@ final _objc_msgSend_127 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateIndexesInRange_options_usingBlock_ = objc.registerName("enumerateIndexesInRange:options:usingBlock:"); -final _objc_msgSend_128 = objc.msgSendPointer +final _objc_msgSend_127 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6245,7 +6237,7 @@ class ObjCBlock_bool_ffiUnsignedLong_bool extends objc.ObjCBlockBase { } late final _sel_indexPassingTest_ = objc.registerName("indexPassingTest:"); -final _objc_msgSend_129 = objc.msgSendPointer +final _objc_msgSend_128 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6255,7 +6247,7 @@ final _objc_msgSend_129 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexWithOptions_passingTest_ = objc.registerName("indexWithOptions:passingTest:"); -final _objc_msgSend_130 = objc.msgSendPointer +final _objc_msgSend_129 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6271,7 +6263,7 @@ final _objc_msgSend_130 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexInRange_options_passingTest_ = objc.registerName("indexInRange:options:passingTest:"); -final _objc_msgSend_131 = objc.msgSendPointer +final _objc_msgSend_130 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6288,7 +6280,7 @@ final _objc_msgSend_131 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_indexesPassingTest_ = objc.registerName("indexesPassingTest:"); -final _objc_msgSend_132 = objc.msgSendPointer +final _objc_msgSend_131 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6298,7 +6290,7 @@ final _objc_msgSend_132 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesWithOptions_passingTest_ = objc.registerName("indexesWithOptions:passingTest:"); -final _objc_msgSend_133 = objc.msgSendPointer +final _objc_msgSend_132 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6314,7 +6306,7 @@ final _objc_msgSend_133 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesInRange_options_passingTest_ = objc.registerName("indexesInRange:options:passingTest:"); -final _objc_msgSend_134 = objc.msgSendPointer +final _objc_msgSend_133 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6433,7 +6425,7 @@ class ObjCBlock_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { late final _sel_enumerateRangesUsingBlock_ = objc.registerName("enumerateRangesUsingBlock:"); -final _objc_msgSend_135 = objc.msgSendPointer +final _objc_msgSend_134 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6443,7 +6435,7 @@ final _objc_msgSend_135 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateRangesWithOptions_usingBlock_ = objc.registerName("enumerateRangesWithOptions:usingBlock:"); -final _objc_msgSend_136 = objc.msgSendPointer +final _objc_msgSend_135 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6459,7 +6451,7 @@ final _objc_msgSend_136 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateRangesInRange_options_usingBlock_ = objc.registerName("enumerateRangesInRange:options:usingBlock:"); -final _objc_msgSend_137 = objc.msgSendPointer +final _objc_msgSend_136 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6476,7 +6468,7 @@ final _objc_msgSend_137 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_objectsAtIndexes_ = objc.registerName("objectsAtIndexes:"); -final _objc_msgSend_138 = objc.msgSendPointer +final _objc_msgSend_137 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6622,7 +6614,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool late final _sel_enumerateObjectsUsingBlock_ = objc.registerName("enumerateObjectsUsingBlock:"); -final _objc_msgSend_139 = objc.msgSendPointer +final _objc_msgSend_138 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6632,7 +6624,7 @@ final _objc_msgSend_139 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateObjectsWithOptions_usingBlock_ = objc.registerName("enumerateObjectsWithOptions:usingBlock:"); -final _objc_msgSend_140 = objc.msgSendPointer +final _objc_msgSend_139 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6648,7 +6640,7 @@ final _objc_msgSend_140 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateObjectsAtIndexes_options_usingBlock_ = objc.registerName("enumerateObjectsAtIndexes:options:usingBlock:"); -final _objc_msgSend_141 = objc.msgSendPointer +final _objc_msgSend_140 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6767,7 +6759,7 @@ class ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool late final _sel_indexOfObjectPassingTest_ = objc.registerName("indexOfObjectPassingTest:"); -final _objc_msgSend_142 = objc.msgSendPointer +final _objc_msgSend_141 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6777,7 +6769,7 @@ final _objc_msgSend_142 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexOfObjectWithOptions_passingTest_ = objc.registerName("indexOfObjectWithOptions:passingTest:"); -final _objc_msgSend_143 = objc.msgSendPointer +final _objc_msgSend_142 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6793,7 +6785,7 @@ final _objc_msgSend_143 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexOfObjectAtIndexes_options_passingTest_ = objc.registerName("indexOfObjectAtIndexes:options:passingTest:"); -final _objc_msgSend_144 = objc.msgSendPointer +final _objc_msgSend_143 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6811,7 +6803,7 @@ final _objc_msgSend_144 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsPassingTest_ = objc.registerName("indexesOfObjectsPassingTest:"); -final _objc_msgSend_145 = objc.msgSendPointer +final _objc_msgSend_144 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6821,7 +6813,7 @@ final _objc_msgSend_145 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesOfObjectsWithOptions_passingTest_ = objc.registerName("indexesOfObjectsWithOptions:passingTest:"); -final _objc_msgSend_146 = objc.msgSendPointer +final _objc_msgSend_145 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6837,7 +6829,7 @@ final _objc_msgSend_146 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsAtIndexes_options_passingTest_ = objc.registerName("indexesOfObjectsAtIndexes:options:passingTest:"); -final _objc_msgSend_147 = objc.msgSendPointer +final _objc_msgSend_146 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6949,7 +6941,7 @@ class ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject late final _sel_sortedArrayUsingComparator_ = objc.registerName("sortedArrayUsingComparator:"); -final _objc_msgSend_148 = objc.msgSendPointer +final _objc_msgSend_147 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6965,7 +6957,7 @@ abstract class NSSortOptions { late final _sel_sortedArrayWithOptions_usingComparator_ = objc.registerName("sortedArrayWithOptions:usingComparator:"); -final _objc_msgSend_149 = objc.msgSendPointer +final _objc_msgSend_148 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6988,7 +6980,7 @@ abstract class NSBinarySearchingOptions { late final _sel_indexOfObject_inSortedRange_options_usingComparator_ = objc.registerName("indexOfObject:inSortedRange:options:usingComparator:"); -final _objc_msgSend_150 = objc.msgSendPointer +final _objc_msgSend_149 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -7008,7 +7000,7 @@ final _objc_msgSend_150 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_array = objc.registerName("array"); late final _sel_arrayWithObject_ = objc.registerName("arrayWithObject:"); -final _objc_msgSend_151 = objc.msgSendPointer +final _objc_msgSend_150 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7022,7 +7014,7 @@ late final _sel_arrayWithObjects_count_ = objc.registerName("arrayWithObjects:count:"); late final _sel_arrayWithObjects_ = objc.registerName("arrayWithObjects:"); late final _sel_arrayWithArray_ = objc.registerName("arrayWithArray:"); -final _objc_msgSend_152 = objc.msgSendPointer +final _objc_msgSend_151 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7036,7 +7028,7 @@ late final _sel_initWithObjects_ = objc.registerName("initWithObjects:"); late final _sel_initWithArray_ = objc.registerName("initWithArray:"); late final _sel_initWithArray_copyItems_ = objc.registerName("initWithArray:copyItems:"); -final _objc_msgSend_153 = objc.msgSendPointer +final _objc_msgSend_152 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7052,7 +7044,7 @@ final _objc_msgSend_153 = objc.msgSendPointer bool)>(); late final _sel_initWithContentsOfURL_error_ = objc.registerName("initWithContentsOfURL:error:"); -final _objc_msgSend_154 = objc.msgSendPointer +final _objc_msgSend_153 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7173,7 +7165,7 @@ class ObjCBlock_bool_objcObjCObject_objcObjCObject extends objc.ObjCBlockBase { late final _sel_differenceFromArray_withOptions_usingEquivalenceTest_ = objc.registerName("differenceFromArray:withOptions:usingEquivalenceTest:"); -final _objc_msgSend_155 = objc.msgSendPointer +final _objc_msgSend_154 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7191,7 +7183,7 @@ final _objc_msgSend_155 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_differenceFromArray_withOptions_ = objc.registerName("differenceFromArray:withOptions:"); -final _objc_msgSend_156 = objc.msgSendPointer +final _objc_msgSend_155 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7209,7 +7201,7 @@ late final _sel_differenceFromArray_ = objc.registerName("differenceFromArray:"); late final _sel_arrayByApplyingDifference_ = objc.registerName("arrayByApplyingDifference:"); -final _objc_msgSend_157 = objc.msgSendPointer +final _objc_msgSend_156 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7220,7 +7212,7 @@ final _objc_msgSend_157 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_ = objc.registerName("getObjects:"); -final _objc_msgSend_158 = objc.msgSendPointer +final _objc_msgSend_157 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7234,7 +7226,7 @@ final _objc_msgSend_158 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_arrayWithContentsOfFile_ = objc.registerName("arrayWithContentsOfFile:"); -final _objc_msgSend_159 = objc.msgSendPointer +final _objc_msgSend_158 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7246,7 +7238,7 @@ final _objc_msgSend_159 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayWithContentsOfURL_ = objc.registerName("arrayWithContentsOfURL:"); -final _objc_msgSend_160 = objc.msgSendPointer +final _objc_msgSend_159 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7262,7 +7254,7 @@ late final _sel_initWithContentsOfURL_ = objc.registerName("initWithContentsOfURL:"); late final _sel_writeToURL_atomically_ = objc.registerName("writeToURL:atomically:"); -final _objc_msgSend_161 = objc.msgSendPointer +final _objc_msgSend_160 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7278,7 +7270,7 @@ final _objc_msgSend_161 = objc.msgSendPointer bool)>(); late final _sel_resourceValuesForKeys_error_ = objc.registerName("resourceValuesForKeys:error:"); -final _objc_msgSend_162 = objc.msgSendPointer +final _objc_msgSend_161 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7294,7 +7286,7 @@ final _objc_msgSend_162 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValue_forKey_error_ = objc.registerName("setResourceValue:forKey:error:"); -final _objc_msgSend_163 = objc.msgSendPointer +final _objc_msgSend_162 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7312,7 +7304,7 @@ final _objc_msgSend_163 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValues_error_ = objc.registerName("setResourceValues:error:"); -final _objc_msgSend_164 = objc.msgSendPointer +final _objc_msgSend_163 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7328,7 +7320,7 @@ final _objc_msgSend_164 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_removeCachedResourceValueForKey_ = objc.registerName("removeCachedResourceValueForKey:"); -final _objc_msgSend_165 = objc.msgSendPointer +final _objc_msgSend_164 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7342,7 +7334,7 @@ late final _sel_removeAllCachedResourceValues = objc.registerName("removeAllCachedResourceValues"); late final _sel_setTemporaryResourceValue_forKey_ = objc.registerName("setTemporaryResourceValue:forKey:"); -final _objc_msgSend_166 = objc.msgSendPointer +final _objc_msgSend_165 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7370,7 +7362,7 @@ abstract class NSURLBookmarkCreationOptions { late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_ = objc.registerName( "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); -final _objc_msgSend_167 = objc.msgSendPointer +final _objc_msgSend_166 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7399,7 +7391,7 @@ abstract class NSURLBookmarkResolutionOptions { late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_ = objc.registerName( "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); -final _objc_msgSend_168 = objc.msgSendPointer +final _objc_msgSend_167 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7424,7 +7416,7 @@ late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsS "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); late final _sel_resourceValuesForKeys_fromBookmarkData_ = objc.registerName("resourceValuesForKeys:fromBookmarkData:"); -final _objc_msgSend_169 = objc.msgSendPointer +final _objc_msgSend_168 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7440,7 +7432,7 @@ final _objc_msgSend_169 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_writeBookmarkData_toURL_options_error_ = objc.registerName("writeBookmarkData:toURL:options:error:"); -final _objc_msgSend_170 = objc.msgSendPointer +final _objc_msgSend_169 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7460,7 +7452,7 @@ final _objc_msgSend_170 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_bookmarkDataWithContentsOfURL_error_ = objc.registerName("bookmarkDataWithContentsOfURL:error:"); -final _objc_msgSend_171 = objc.msgSendPointer +final _objc_msgSend_170 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7476,7 +7468,7 @@ final _objc_msgSend_171 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_URLByResolvingAliasFileAtURL_options_error_ = objc.registerName("URLByResolvingAliasFileAtURL:options:error:"); -final _objc_msgSend_172 = objc.msgSendPointer +final _objc_msgSend_171 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7525,14 +7517,14 @@ class NSDictionary extends NSObject { objc.ObjCObjectBase? objectForKey_(objc.ObjCObjectBase aKey) { final _ret = - _objc_msgSend_173(this.pointer, _sel_objectForKey_, aKey.pointer); + _objc_msgSend_172(this.pointer, _sel_objectForKey_, aKey.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } NSEnumerator keyEnumerator() { - final _ret = _objc_msgSend_111(this.pointer, _sel_keyEnumerator); + final _ret = _objc_msgSend_110(this.pointer, _sel_keyEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -7546,7 +7538,7 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_174( + final _ret = _objc_msgSend_173( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7560,7 +7552,7 @@ class NSDictionary extends NSObject { } NSArray get allKeys { - final _ret = _objc_msgSend_110(this.pointer, _sel_allKeys); + final _ret = _objc_msgSend_174(this.pointer, _sel_allKeys); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7571,7 +7563,7 @@ class NSDictionary extends NSObject { } NSArray get allValues { - final _ret = _objc_msgSend_110(this.pointer, _sel_allValues); + final _ret = _objc_msgSend_174(this.pointer, _sel_allValues); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7608,7 +7600,7 @@ class NSDictionary extends NSObject { } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -7621,13 +7613,13 @@ class NSDictionary extends NSObject { bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_116( + return _objc_msgSend_115( this.pointer, _sel_writeToURL_error_, url.pointer, error); } NSArray keysSortedByValueUsingSelector_( ffi.Pointer comparator) { - final _ret = _objc_msgSend_114( + final _ret = _objc_msgSend_113( this.pointer, _sel_keysSortedByValueUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7641,7 +7633,7 @@ class NSDictionary extends NSObject { } objc.ObjCObjectBase? objectForKeyedSubscript_(objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_173( + final _ret = _objc_msgSend_172( this.pointer, _sel_objectForKeyedSubscript_, key.pointer); return _ret.address == 0 ? null @@ -7665,14 +7657,14 @@ class NSDictionary extends NSObject { NSArray keysSortedByValueUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_147( this.pointer, _sel_keysSortedByValueUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray keysSortedByValueWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_149( + final _ret = _objc_msgSend_148( this.pointer, _sel_keysSortedByValueWithOptions_usingComparator_, opts, @@ -7680,27 +7672,27 @@ class NSDictionary extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } - NSSet keysOfEntriesPassingTest_( + objc.ObjCObjectBase keysOfEntriesPassingTest_( ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_190( + final _ret = _objc_msgSend_180( this.pointer, _sel_keysOfEntriesPassingTest_, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + return objc.ObjCObjectBase(_ret, retain: true, release: true); } - NSSet keysOfEntriesWithOptions_passingTest_( + objc.ObjCObjectBase keysOfEntriesWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_191(this.pointer, + final _ret = _objc_msgSend_181(this.pointer, _sel_keysOfEntriesWithOptions_passingTest_, opts, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + return objc.ObjCObjectBase(_ret, retain: true, release: true); } void getObjects_andKeys_(ffi.Pointer> objects, ffi.Pointer> keys) { - _objc_msgSend_192(this.pointer, _sel_getObjects_andKeys_, objects, keys); + _objc_msgSend_182(this.pointer, _sel_getObjects_andKeys_, objects, keys); } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_193( + final _ret = _objc_msgSend_183( _class_NSDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7708,7 +7700,7 @@ class NSDictionary extends NSObject { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_194( + final _ret = _objc_msgSend_184( _class_NSDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7716,7 +7708,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_193( + final _ret = _objc_msgSend_183( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7724,7 +7716,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_194( + final _ret = _objc_msgSend_184( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7737,7 +7729,7 @@ class NSDictionary extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_161( + return _objc_msgSend_160( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -7748,7 +7740,7 @@ class NSDictionary extends NSObject { static NSDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_195(_class_NSDictionary, + final _ret = _objc_msgSend_185(_class_NSDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7757,59 +7749,59 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_174(_class_NSDictionary, + final _ret = _objc_msgSend_173(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_151(_class_NSDictionary, + final _ret = _objc_msgSend_150(_class_NSDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_196( + final _ret = _objc_msgSend_186( _class_NSDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_197(_class_NSDictionary, + final _ret = _objc_msgSend_187(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_196( + final _ret = _objc_msgSend_186( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_198(this.pointer, + final _ret = _objc_msgSend_188(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } NSDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_197(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_187(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_199( + final _ret = _objc_msgSend_189( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7818,7 +7810,7 @@ class NSDictionary extends NSObject { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_199(_class_NSDictionary, + final _ret = _objc_msgSend_189(_class_NSDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7826,7 +7818,7 @@ class NSDictionary extends NSObject { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_151( _class_NSDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -7835,7 +7827,7 @@ class NSDictionary extends NSObject { ffi.Pointer state, ffi.Pointer> buffer, int len) { - return _objc_msgSend_200(this.pointer, + return _objc_msgSend_190(this.pointer, _sel_countByEnumeratingWithState_objects_count_, state, buffer, len); } @@ -7858,7 +7850,7 @@ class NSDictionary extends NSObject { late final _class_NSDictionary = objc.getClass("NSDictionary"); late final _sel_objectForKey_ = objc.registerName("objectForKey:"); -final _objc_msgSend_173 = objc.msgSendPointer +final _objc_msgSend_172 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7871,7 +7863,7 @@ final _objc_msgSend_173 = objc.msgSendPointer late final _sel_keyEnumerator = objc.registerName("keyEnumerator"); late final _sel_initWithObjects_forKeys_count_ = objc.registerName("initWithObjects:forKeys:count:"); -final _objc_msgSend_174 = objc.msgSendPointer +final _objc_msgSend_173 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7888,6 +7880,14 @@ final _objc_msgSend_174 = objc.msgSendPointer ffi.Pointer>, int)>(); late final _sel_allKeys = objc.registerName("allKeys"); +final _objc_msgSend_174 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, ffi.Pointer)>(); late final _sel_allKeysForObject_ = objc.registerName("allKeysForObject:"); late final _sel_allValues = objc.registerName("allValues"); late final _sel_descriptionInStringsFileFormat = @@ -8115,252 +8115,159 @@ late final _sel_keysSortedByValueUsingComparator_ = objc.registerName("keysSortedByValueUsingComparator:"); late final _sel_keysSortedByValueWithOptions_usingComparator_ = objc.registerName("keysSortedByValueWithOptions:usingComparator:"); +bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(arg0, arg1, arg2); +bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2) => + (objc.getBlockClosure(block) as bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); -class NSSet extends NSObject { - NSSet._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super.castFromPointer(pointer, retain: retain, release: release); - - /// Constructs a [NSSet] that points to the same underlying object as [other]. - NSSet.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); - - /// Constructs a [NSSet] that wraps the given raw object pointer. - NSSet.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); - - /// Returns whether [obj] is an instance of [NSSet]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSSet); - } - - int get count { - return _objc_msgSend_11(this.pointer, _sel_count); - } - - objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_173(this.pointer, _sel_member_, object.pointer); - return _ret.address == 0 - ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); - return NSEnumerator.castFromPointer(_ret, retain: true, release: true); - } - - @override - NSSet init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet initWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( - this.pointer, _sel_initWithObjects_count_, objects, cnt); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet? initWithCoder_(NSCoder coder) { - final _ret = - _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); - return _ret.address == 0 - ? null - : NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSArray get allObjects { - final _ret = _objc_msgSend_110(this.pointer, _sel_allObjects); - return NSArray.castFromPointer(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase? anyObject() { - final _ret = _objc_msgSend_90(this.pointer, _sel_anyObject); - return _ret.address == 0 - ? null - : objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - bool containsObject_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_0( - this.pointer, _sel_containsObject_, anObject.pointer); - } - - NSString get description { - final _ret = _objc_msgSend_35(this.pointer, _sel_description); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, - locale?.pointer ?? ffi.nullptr); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - - bool intersectsSet_(NSSet otherSet) { - return _objc_msgSend_180( - this.pointer, _sel_intersectsSet_, otherSet.pointer); - } - - bool isEqualToSet_(NSSet otherSet) { - return _objc_msgSend_180( - this.pointer, _sel_isEqualToSet_, otherSet.pointer); - } - - bool isSubsetOfSet_(NSSet otherSet) { - return _objc_msgSend_180( - this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); - } - - void makeObjectsPerformSelector_(ffi.Pointer aSelector) { - _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); - } - - void makeObjectsPerformSelector_withObject_( - ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, - aSelector, argument?.pointer ?? ffi.nullptr); - } - - NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_181( - this.pointer, _sel_setByAddingObject_, anObject.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } +class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool + extends objc.ObjCBlockBase { + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._( + ffi.Pointer pointer, + {bool retain = false, + bool release = true}) + : super(pointer, retain: retain, release: release); - NSSet setByAddingObjectsFromSet_(NSSet other) { - final _ret = _objc_msgSend_182( - this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_bool_objcObjCObject_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._(pointer, + retain: retain, release: release); } - NSSet setByAddingObjectsFromArray_(NSArray other) { - final _ret = _objc_msgSend_183( - this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>> + ptr) + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline, + false) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; - void enumerateObjectsUsingBlock_( - ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_184( - this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); - } + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunction( + bool Function( + objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) + fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline, false) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1, ffi.Pointer arg2) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); + static ffi.Pointer? _dartFuncTrampoline; - void enumerateObjectsWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_185(this.pointer, - _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); - } + bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, + ffi.Pointer arg2) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1, + ffi.Pointer arg2)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()( + pointer, arg0.pointer, arg1.pointer, arg2); +} - NSSet objectsPassingTest_(ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_186( - this.pointer, _sel_objectsPassingTest_, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet objectsWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_187(this.pointer, - _sel_objectsWithOptions_passingTest_, opts, predicate.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet set1() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_set); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = - _objc_msgSend_151(_class_NSSet, _sel_setWithObject_, object.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet setWithObjects_count_( - ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( - _class_NSSet, _sel_setWithObjects_count_, objects, cnt); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = - _objc_msgSend_151(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet setWithSet_(NSSet set) { - final _ret = _objc_msgSend_188(_class_NSSet, _sel_setWithSet_, set.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet setWithArray_(NSArray array) { - final _ret = - _objc_msgSend_152(_class_NSSet, _sel_setWithArray_, array.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( - this.pointer, _sel_initWithObjects_, firstObj.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet initWithSet_(NSSet set) { - final _ret = - _objc_msgSend_188(this.pointer, _sel_initWithSet_, set.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_189( - this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); - return NSSet.castFromPointer(_ret, retain: false, release: true); - } - - NSSet initWithArray_(NSArray array) { - final _ret = - _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - static NSSet new1() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_new); - return NSSet.castFromPointer(_ret, retain: false, release: true); - } - - static NSSet allocWithZone_(ffi.Pointer<_NSZone> zone) { - final _ret = _objc_msgSend_3(_class_NSSet, _sel_allocWithZone_, zone); - return NSSet.castFromPointer(_ret, retain: false, release: true); - } - - static NSSet alloc() { - final _ret = _objc_msgSend_2(_class_NSSet, _sel_alloc); - return NSSet.castFromPointer(_ret, retain: false, release: true); - } -} - -late final _class_NSSet = objc.getClass("NSSet"); -late final _sel_member_ = objc.registerName("member:"); -late final _sel_anyObject = objc.registerName("anyObject"); -late final _sel_intersectsSet_ = objc.registerName("intersectsSet:"); +late final _sel_keysOfEntriesPassingTest_ = + objc.registerName("keysOfEntriesPassingTest:"); final _objc_msgSend_180 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_keysOfEntriesWithOptions_passingTest_ = + objc.registerName("keysOfEntriesWithOptions:passingTest:"); +final _objc_msgSend_181 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_isEqualToSet_ = objc.registerName("isEqualToSet:"); -late final _sel_isSubsetOfSet_ = objc.registerName("isSubsetOfSet:"); -late final _sel_setByAddingObject_ = objc.registerName("setByAddingObject:"); -final _objc_msgSend_181 = objc.msgSendPointer + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); +final _objc_msgSend_182 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>, + ffi.Pointer>)>(); +late final _sel_dictionaryWithContentsOfFile_ = + objc.registerName("dictionaryWithContentsOfFile:"); +final _objc_msgSend_183 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8370,9 +8277,9 @@ final _objc_msgSend_181 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_setByAddingObjectsFromSet_ = - objc.registerName("setByAddingObjectsFromSet:"); -final _objc_msgSend_182 = objc.msgSendPointer +late final _sel_dictionaryWithContentsOfURL_ = + objc.registerName("dictionaryWithContentsOfURL:"); +final _objc_msgSend_184 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8382,463 +8289,181 @@ final _objc_msgSend_182 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_setByAddingObjectsFromArray_ = - objc.registerName("setByAddingObjectsFromArray:"); -final _objc_msgSend_183 = objc.msgSendPointer +late final _sel_dictionary = objc.registerName("dictionary"); +late final _sel_dictionaryWithObject_forKey_ = + objc.registerName("dictionaryWithObject:forKey:"); +final _objc_msgSend_185 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + instancetype Function( ffi.Pointer, ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_dictionaryWithObjects_forKeys_count_ = + objc.registerName("dictionaryWithObjects:forKeys:count:"); +late final _sel_dictionaryWithObjectsAndKeys_ = + objc.registerName("dictionaryWithObjectsAndKeys:"); +late final _sel_dictionaryWithDictionary_ = + objc.registerName("dictionaryWithDictionary:"); +final _objc_msgSend_186 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); +late final _sel_dictionaryWithObjects_forKeys_ = + objc.registerName("dictionaryWithObjects:forKeys:"); +final _objc_msgSend_187 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_initWithObjectsAndKeys_ = + objc.registerName("initWithObjectsAndKeys:"); +late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); +late final _sel_initWithDictionary_copyItems_ = + objc.registerName("initWithDictionary:copyItems:"); +final _objc_msgSend_188 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Bool)>>() + .asFunction< + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool)>(); +late final _sel_initWithObjects_forKeys_ = + objc.registerName("initWithObjects:forKeys:"); +final _objc_msgSend_189 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() + .asFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_dictionaryWithContentsOfURL_error_ = + objc.registerName("dictionaryWithContentsOfURL:error:"); +late final _sel_sharedKeySetForKeys_ = + objc.registerName("sharedKeySetForKeys:"); -class ObjCBlock_ffiVoid_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); +final class NSFastEnumerationState extends ffi.Struct { + @ffi.UnsignedLong() + external int state; - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunction( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; + external ffi.Pointer> itemsPtr; - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_bool.listener( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; + external ffi.Pointer mutationsPtr; - void call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); + @ffi.Array.multi([5]) + external ffi.Array extra; } -final _objc_msgSend_184 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_185 = objc.msgSendPointer +late final _sel_countByEnumeratingWithState_objects_count_ = + objc.registerName("countByEnumeratingWithState:objects:count:"); +final _objc_msgSend_190 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + ffi.UnsignedLong Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Pointer>, + ffi.UnsignedLong)>>() .asFunction< - void Function( + int Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); -bool _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -bool _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as bool Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_bool_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline, false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunction( - bool Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); -} - -late final _sel_objectsPassingTest_ = objc.registerName("objectsPassingTest:"); -final _objc_msgSend_186 = objc.msgSendPointer + ffi.Pointer, + ffi.Pointer>, + int)>(); +late final _sel_promisedItemResourceValuesForKeys_error_ = + objc.registerName("promisedItemResourceValuesForKeys:error:"); +final _objc_msgSend_191 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_objectsWithOptions_passingTest_ = - objc.registerName("objectsWithOptions:passingTest:"); -final _objc_msgSend_187 = objc.msgSendPointer + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_checkPromisedItemIsReachableAndReturnError_ = + objc.registerName("checkPromisedItemIsReachableAndReturnError:"); +final _objc_msgSend_192 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer>)>>() .asFunction< - ffi.Pointer Function( + bool Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_set = objc.registerName("set"); -late final _sel_setWithObject_ = objc.registerName("setWithObject:"); -late final _sel_setWithObjects_count_ = - objc.registerName("setWithObjects:count:"); -late final _sel_setWithObjects_ = objc.registerName("setWithObjects:"); -late final _sel_setWithSet_ = objc.registerName("setWithSet:"); -final _objc_msgSend_188 = objc.msgSendPointer + ffi.Pointer>)>(); +late final _sel_fileURLWithPathComponents_ = + objc.registerName("fileURLWithPathComponents:"); +final _objc_msgSend_193 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - instancetype Function(ffi.Pointer, + ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_setWithArray_ = objc.registerName("setWithArray:"); -late final _sel_initWithSet_ = objc.registerName("initWithSet:"); -late final _sel_initWithSet_copyItems_ = - objc.registerName("initWithSet:copyItems:"); -final _objc_msgSend_189 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1, arg2); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool - extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline, - false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunction( - bool Function( - objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) - fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1, ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer, arg2); -} - -late final _sel_keysOfEntriesPassingTest_ = - objc.registerName("keysOfEntriesPassingTest:"); -final _objc_msgSend_190 = objc.msgSendPointer +late final _sel_pathComponents = objc.registerName("pathComponents"); +final _objc_msgSend_194 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_keysOfEntriesWithOptions_passingTest_ = - objc.registerName("keysOfEntriesWithOptions:passingTest:"); -final _objc_msgSend_191 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer)>>() .asFunction< ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); -final _objc_msgSend_192 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>)>(); -late final _sel_dictionaryWithContentsOfFile_ = - objc.registerName("dictionaryWithContentsOfFile:"); -final _objc_msgSend_193 = objc.msgSendPointer + ffi.Pointer, ffi.Pointer)>(); +late final _sel_lastPathComponent = objc.registerName("lastPathComponent"); +late final _sel_pathExtension = objc.registerName("pathExtension"); +late final _sel_URLByAppendingPathComponent_ = + objc.registerName("URLByAppendingPathComponent:"); +final _objc_msgSend_195 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8848,263 +8473,67 @@ final _objc_msgSend_193 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithContentsOfURL_ = - objc.registerName("dictionaryWithContentsOfURL:"); -final _objc_msgSend_194 = objc.msgSendPointer +late final _sel_URLByAppendingPathComponent_isDirectory_ = + objc.registerName("URLByAppendingPathComponent:isDirectory:"); +final _objc_msgSend_196 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionary = objc.registerName("dictionary"); -late final _sel_dictionaryWithObject_forKey_ = - objc.registerName("dictionaryWithObject:forKey:"); -final _objc_msgSend_195 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Bool)>>() .asFunction< - instancetype Function( + ffi.Pointer Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); -late final _sel_dictionaryWithObjects_forKeys_count_ = - objc.registerName("dictionaryWithObjects:forKeys:count:"); -late final _sel_dictionaryWithObjectsAndKeys_ = - objc.registerName("dictionaryWithObjectsAndKeys:"); -late final _sel_dictionaryWithDictionary_ = - objc.registerName("dictionaryWithDictionary:"); -final _objc_msgSend_196 = objc.msgSendPointer + bool)>(); +late final _sel_URLByDeletingLastPathComponent = + objc.registerName("URLByDeletingLastPathComponent"); +late final _sel_URLByAppendingPathExtension_ = + objc.registerName("URLByAppendingPathExtension:"); +late final _sel_URLByDeletingPathExtension = + objc.registerName("URLByDeletingPathExtension"); +late final _sel_checkResourceIsReachableAndReturnError_ = + objc.registerName("checkResourceIsReachableAndReturnError:"); +late final _sel_URLByStandardizingPath = + objc.registerName("URLByStandardizingPath"); +late final _sel_URLByResolvingSymlinksInPath = + objc.registerName("URLByResolvingSymlinksInPath"); +late final _sel_resourceDataUsingCache_ = + objc.registerName("resourceDataUsingCache:"); +final _objc_msgSend_197 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Bool)>>() .asFunction< - instancetype Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithObjects_forKeys_ = - objc.registerName("dictionaryWithObjects:forKeys:"); -final _objc_msgSend_197 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, bool)>(); +late final _sel_loadResourceDataNotifyingClient_usingCache_ = + objc.registerName("loadResourceDataNotifyingClient:usingCache:"); +final _objc_msgSend_198 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Bool)>>() .asFunction< - instancetype Function( + void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); -late final _sel_initWithObjectsAndKeys_ = - objc.registerName("initWithObjectsAndKeys:"); -late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); -late final _sel_initWithDictionary_copyItems_ = - objc.registerName("initWithDictionary:copyItems:"); -final _objc_msgSend_198 = objc.msgSendPointer + bool)>(); +late final _sel_propertyForKey_ = objc.registerName("propertyForKey:"); +late final _sel_setResourceData_ = objc.registerName("setResourceData:"); +late final _sel_setProperty_forKey_ = objc.registerName("setProperty:forKey:"); +final _objc_msgSend_199 = objc.msgSendPointer .cast< ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_initWithObjects_forKeys_ = - objc.registerName("initWithObjects:forKeys:"); -final _objc_msgSend_199 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_dictionaryWithContentsOfURL_error_ = - objc.registerName("dictionaryWithContentsOfURL:error:"); -late final _sel_sharedKeySetForKeys_ = - objc.registerName("sharedKeySetForKeys:"); - -final class NSFastEnumerationState extends ffi.Struct { - @ffi.UnsignedLong() - external int state; - - external ffi.Pointer> itemsPtr; - - external ffi.Pointer mutationsPtr; - - @ffi.Array.multi([5]) - external ffi.Array extra; -} - -late final _sel_countByEnumeratingWithState_objects_count_ = - objc.registerName("countByEnumeratingWithState:objects:count:"); -final _objc_msgSend_200 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.UnsignedLong)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - int)>(); -late final _sel_promisedItemResourceValuesForKeys_error_ = - objc.registerName("promisedItemResourceValuesForKeys:error:"); -final _objc_msgSend_201 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_checkPromisedItemIsReachableAndReturnError_ = - objc.registerName("checkPromisedItemIsReachableAndReturnError:"); -final _objc_msgSend_202 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_fileURLWithPathComponents_ = - objc.registerName("fileURLWithPathComponents:"); -final _objc_msgSend_203 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_pathComponents = objc.registerName("pathComponents"); -final _objc_msgSend_204 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_lastPathComponent = objc.registerName("lastPathComponent"); -late final _sel_pathExtension = objc.registerName("pathExtension"); -late final _sel_URLByAppendingPathComponent_ = - objc.registerName("URLByAppendingPathComponent:"); -final _objc_msgSend_205 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_URLByAppendingPathComponent_isDirectory_ = - objc.registerName("URLByAppendingPathComponent:isDirectory:"); -final _objc_msgSend_206 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_URLByDeletingLastPathComponent = - objc.registerName("URLByDeletingLastPathComponent"); -late final _sel_URLByAppendingPathExtension_ = - objc.registerName("URLByAppendingPathExtension:"); -late final _sel_URLByDeletingPathExtension = - objc.registerName("URLByDeletingPathExtension"); -late final _sel_checkResourceIsReachableAndReturnError_ = - objc.registerName("checkResourceIsReachableAndReturnError:"); -late final _sel_URLByStandardizingPath = - objc.registerName("URLByStandardizingPath"); -late final _sel_URLByResolvingSymlinksInPath = - objc.registerName("URLByResolvingSymlinksInPath"); -late final _sel_resourceDataUsingCache_ = - objc.registerName("resourceDataUsingCache:"); -final _objc_msgSend_207 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Bool)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, bool)>(); -late final _sel_loadResourceDataNotifyingClient_usingCache_ = - objc.registerName("loadResourceDataNotifyingClient:usingCache:"); -final _objc_msgSend_208 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Bool)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - bool)>(); -late final _sel_propertyForKey_ = objc.registerName("propertyForKey:"); -late final _sel_setResourceData_ = objc.registerName("setResourceData:"); -late final _sel_setProperty_forKey_ = objc.registerName("setProperty:forKey:"); -final _objc_msgSend_209 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, @@ -9137,18 +8566,18 @@ class NSURLHandle extends NSObject { } static void registerURLHandleClass_(objc.ObjCObjectBase anURLHandleSubclass) { - _objc_msgSend_210(_class_NSURLHandle, _sel_registerURLHandleClass_, + _objc_msgSend_200(_class_NSURLHandle, _sel_registerURLHandleClass_, anURLHandleSubclass.pointer); } static objc.ObjCObjectBase URLHandleClassForURL_(NSURL anURL) { - final _ret = _objc_msgSend_211( + final _ret = _objc_msgSend_201( _class_NSURLHandle, _sel_URLHandleClassForURL_, anURL.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } int status() { - return _objc_msgSend_212(this.pointer, _sel_status); + return _objc_msgSend_202(this.pointer, _sel_status); } NSString failureReason() { @@ -9157,11 +8586,11 @@ class NSURLHandle extends NSObject { } void addClient_(objc.ObjCObjectBase client) { - _objc_msgSend_210(this.pointer, _sel_addClient_, client.pointer); + _objc_msgSend_200(this.pointer, _sel_addClient_, client.pointer); } void removeClient_(objc.ObjCObjectBase client) { - _objc_msgSend_210(this.pointer, _sel_removeClient_, client.pointer); + _objc_msgSend_200(this.pointer, _sel_removeClient_, client.pointer); } void loadInBackground() { @@ -9191,28 +8620,28 @@ class NSURLHandle extends NSObject { } void backgroundLoadDidFailWithReason_(NSString reason) { - _objc_msgSend_165( + _objc_msgSend_164( this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); } void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { - _objc_msgSend_213( + _objc_msgSend_203( this.pointer, _sel_didLoadBytes_loadComplete_, newBytes.pointer, yorn); } static bool canInitWithURL_(NSURL anURL) { - return _objc_msgSend_214( + return _objc_msgSend_204( _class_NSURLHandle, _sel_canInitWithURL_, anURL.pointer); } static NSURLHandle cachedHandleForURL_(NSURL anURL) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_205( _class_NSURLHandle, _sel_cachedHandleForURL_, anURL.pointer); return NSURLHandle.castFromPointer(_ret, retain: true, release: true); } objc.ObjCObjectBase initWithURL_cached_(NSURL anURL, bool willCache) { - final _ret = _objc_msgSend_216( + final _ret = _objc_msgSend_206( this.pointer, _sel_initWithURL_cached_, anURL.pointer, willCache); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -9231,7 +8660,7 @@ class NSURLHandle extends NSObject { bool writeProperty_forKey_( objc.ObjCObjectBase propertyValue, NSString propertyKey) { - return _objc_msgSend_209(this.pointer, _sel_writeProperty_forKey_, + return _objc_msgSend_199(this.pointer, _sel_writeProperty_forKey_, propertyValue.pointer, propertyKey.pointer); } @@ -9277,7 +8706,7 @@ class NSURLHandle extends NSObject { late final _class_NSURLHandle = objc.getClass("NSURLHandle"); late final _sel_registerURLHandleClass_ = objc.registerName("registerURLHandleClass:"); -final _objc_msgSend_210 = objc.msgSendPointer +final _objc_msgSend_200 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9289,7 +8718,7 @@ final _objc_msgSend_210 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_URLHandleClassForURL_ = objc.registerName("URLHandleClassForURL:"); -final _objc_msgSend_211 = objc.msgSendPointer +final _objc_msgSend_201 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9308,7 +8737,7 @@ abstract class NSURLHandleStatus { } late final _sel_status = objc.registerName("status"); -final _objc_msgSend_212 = objc.msgSendPointer +final _objc_msgSend_202 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function(ffi.Pointer, @@ -9332,7 +8761,7 @@ late final _sel_backgroundLoadDidFailWithReason_ = objc.registerName("backgroundLoadDidFailWithReason:"); late final _sel_didLoadBytes_loadComplete_ = objc.registerName("didLoadBytes:loadComplete:"); -final _objc_msgSend_213 = objc.msgSendPointer +final _objc_msgSend_203 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9347,7 +8776,7 @@ final _objc_msgSend_213 = objc.msgSendPointer ffi.Pointer, bool)>(); late final _sel_canInitWithURL_ = objc.registerName("canInitWithURL:"); -final _objc_msgSend_214 = objc.msgSendPointer +final _objc_msgSend_204 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9358,7 +8787,7 @@ final _objc_msgSend_214 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_cachedHandleForURL_ = objc.registerName("cachedHandleForURL:"); -final _objc_msgSend_215 = objc.msgSendPointer +final _objc_msgSend_205 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9369,7 +8798,7 @@ final _objc_msgSend_215 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithURL_cached_ = objc.registerName("initWithURL:cached:"); -final _objc_msgSend_216 = objc.msgSendPointer +final _objc_msgSend_206 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9394,7 +8823,7 @@ late final _sel_beginLoadInBackground = late final _sel_endLoadInBackground = objc.registerName("endLoadInBackground"); late final _sel_URLHandleUsingCache_ = objc.registerName("URLHandleUsingCache:"); -final _objc_msgSend_217 = objc.msgSendPointer +final _objc_msgSend_207 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9420,7 +8849,7 @@ abstract class NSDataWritingOptions { late final _sel_writeToFile_options_error_ = objc.registerName("writeToFile:options:error:"); -final _objc_msgSend_218 = objc.msgSendPointer +final _objc_msgSend_208 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9438,7 +8867,7 @@ final _objc_msgSend_218 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_writeToURL_options_error_ = objc.registerName("writeToURL:options:error:"); -final _objc_msgSend_219 = objc.msgSendPointer +final _objc_msgSend_209 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9462,7 +8891,7 @@ abstract class NSDataSearchOptions { late final _sel_rangeOfData_options_range_ = objc.registerName("rangeOfData:options:range:"); -final _objc_msgSend_220 = objc.msgSendPointer +final _objc_msgSend_210 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -9478,7 +8907,7 @@ final _objc_msgSend_220 = objc.msgSendPointer ffi.Pointer, int, _NSRange)>(); -final _objc_msgSend_220Stret = objc.msgSendStretPointer +final _objc_msgSend_210Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9624,7 +9053,7 @@ class ObjCBlock_ffiVoid_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { late final _sel_enumerateByteRangesUsingBlock_ = objc.registerName("enumerateByteRangesUsingBlock:"); -final _objc_msgSend_221 = objc.msgSendPointer +final _objc_msgSend_211 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -9635,7 +9064,7 @@ final _objc_msgSend_221 = objc.msgSendPointer late final _sel_data = objc.registerName("data"); late final _sel_dataWithBytes_length_ = objc.registerName("dataWithBytes:length:"); -final _objc_msgSend_222 = objc.msgSendPointer +final _objc_msgSend_212 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9650,7 +9079,7 @@ late final _sel_dataWithBytesNoCopy_length_ = objc.registerName("dataWithBytesNoCopy:length:"); late final _sel_dataWithBytesNoCopy_length_freeWhenDone_ = objc.registerName("dataWithBytesNoCopy:length:freeWhenDone:"); -final _objc_msgSend_223 = objc.msgSendPointer +final _objc_msgSend_213 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9678,7 +9107,7 @@ abstract class NSDataReadingOptions { late final _sel_dataWithContentsOfFile_options_error_ = objc.registerName("dataWithContentsOfFile:options:error:"); -final _objc_msgSend_224 = objc.msgSendPointer +final _objc_msgSend_214 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9696,7 +9125,7 @@ final _objc_msgSend_224 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_dataWithContentsOfURL_options_error_ = objc.registerName("dataWithContentsOfURL:options:error:"); -final _objc_msgSend_225 = objc.msgSendPointer +final _objc_msgSend_215 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9716,7 +9145,7 @@ late final _sel_dataWithContentsOfFile_ = objc.registerName("dataWithContentsOfFile:"); late final _sel_dataWithContentsOfURL_ = objc.registerName("dataWithContentsOfURL:"); -final _objc_msgSend_226 = objc.msgSendPointer +final _objc_msgSend_216 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9837,7 +9266,7 @@ class ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong extends objc.ObjCBlockBase { late final _sel_initWithBytesNoCopy_length_deallocator_ = objc.registerName("initWithBytesNoCopy:length:deallocator:"); -final _objc_msgSend_227 = objc.msgSendPointer +final _objc_msgSend_217 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9858,7 +9287,7 @@ late final _sel_initWithContentsOfFile_options_error_ = late final _sel_initWithContentsOfURL_options_error_ = objc.registerName("initWithContentsOfURL:options:error:"); late final _sel_initWithData_ = objc.registerName("initWithData:"); -final _objc_msgSend_228 = objc.msgSendPointer +final _objc_msgSend_218 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9876,7 +9305,7 @@ abstract class NSDataBase64DecodingOptions { late final _sel_initWithBase64EncodedString_options_ = objc.registerName("initWithBase64EncodedString:options:"); -final _objc_msgSend_229 = objc.msgSendPointer +final _objc_msgSend_219 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9900,7 +9329,7 @@ abstract class NSDataBase64EncodingOptions { late final _sel_base64EncodedStringWithOptions_ = objc.registerName("base64EncodedStringWithOptions:"); -final _objc_msgSend_230 = objc.msgSendPointer +final _objc_msgSend_220 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9910,7 +9339,7 @@ final _objc_msgSend_230 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithBase64EncodedData_options_ = objc.registerName("initWithBase64EncodedData:options:"); -final _objc_msgSend_231 = objc.msgSendPointer +final _objc_msgSend_221 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9926,7 +9355,7 @@ final _objc_msgSend_231 = objc.msgSendPointer int)>(); late final _sel_base64EncodedDataWithOptions_ = objc.registerName("base64EncodedDataWithOptions:"); -final _objc_msgSend_232 = objc.msgSendPointer +final _objc_msgSend_222 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9944,7 +9373,7 @@ abstract class NSDataCompressionAlgorithm { late final _sel_decompressedDataUsingAlgorithm_error_ = objc.registerName("decompressedDataUsingAlgorithm:error:"); -final _objc_msgSend_233 = objc.msgSendPointer +final _objc_msgSend_223 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9970,7 +9399,7 @@ late final _sel_initWithBase64Encoding_ = late final _sel_base64Encoding = objc.registerName("base64Encoding"); late final _sel_characterSetWithBitmapRepresentation_ = objc.registerName("characterSetWithBitmapRepresentation:"); -final _objc_msgSend_234 = objc.msgSendPointer +final _objc_msgSend_224 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9982,7 +9411,7 @@ final _objc_msgSend_234 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_characterSetWithContentsOfFile_ = objc.registerName("characterSetWithContentsOfFile:"); -final _objc_msgSend_235 = objc.msgSendPointer +final _objc_msgSend_225 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9992,7 +9421,7 @@ final _objc_msgSend_235 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_236 = objc.msgSendPointer +final _objc_msgSend_226 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10003,7 +9432,7 @@ final _objc_msgSend_236 = objc.msgSendPointer instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_characterIsMember_ = objc.registerName("characterIsMember:"); -final _objc_msgSend_237 = objc.msgSendPointer +final _objc_msgSend_227 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -10016,7 +9445,7 @@ late final _sel_bitmapRepresentation = late final _sel_invertedSet = objc.registerName("invertedSet"); late final _sel_longCharacterIsMember_ = objc.registerName("longCharacterIsMember:"); -final _objc_msgSend_238 = objc.msgSendPointer +final _objc_msgSend_228 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -10025,7 +9454,7 @@ final _objc_msgSend_238 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_isSupersetOfSet_ = objc.registerName("isSupersetOfSet:"); -final _objc_msgSend_239 = objc.msgSendPointer +final _objc_msgSend_229 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10036,7 +9465,7 @@ final _objc_msgSend_239 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_hasMemberInPlane_ = objc.registerName("hasMemberInPlane:"); -final _objc_msgSend_240 = objc.msgSendPointer +final _objc_msgSend_230 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -10058,7 +9487,7 @@ late final _sel_URLFragmentAllowedCharacterSet = objc.registerName("URLFragmentAllowedCharacterSet"); late final _sel_rangeOfCharacterFromSet_ = objc.registerName("rangeOfCharacterFromSet:"); -final _objc_msgSend_241 = objc.msgSendPointer +final _objc_msgSend_231 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -10068,7 +9497,7 @@ final _objc_msgSend_241 = objc.msgSendPointer .asFunction< _NSRange Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_241Stret = objc.msgSendStretPointer +final _objc_msgSend_231Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10081,7 +9510,7 @@ final _objc_msgSend_241Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_rangeOfCharacterFromSet_options_ = objc.registerName("rangeOfCharacterFromSet:options:"); -final _objc_msgSend_242 = objc.msgSendPointer +final _objc_msgSend_232 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -10095,7 +9524,7 @@ final _objc_msgSend_242 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int)>(); -final _objc_msgSend_242Stret = objc.msgSendStretPointer +final _objc_msgSend_232Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10113,7 +9542,7 @@ final _objc_msgSend_242Stret = objc.msgSendStretPointer int)>(); late final _sel_rangeOfCharacterFromSet_options_range_ = objc.registerName("rangeOfCharacterFromSet:options:range:"); -final _objc_msgSend_243 = objc.msgSendPointer +final _objc_msgSend_233 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function( @@ -10129,7 +9558,7 @@ final _objc_msgSend_243 = objc.msgSendPointer ffi.Pointer, int, _NSRange)>(); -final _objc_msgSend_243Stret = objc.msgSendStretPointer +final _objc_msgSend_233Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10149,7 +9578,7 @@ final _objc_msgSend_243Stret = objc.msgSendStretPointer _NSRange)>(); late final _sel_rangeOfComposedCharacterSequenceAtIndex_ = objc.registerName("rangeOfComposedCharacterSequenceAtIndex:"); -final _objc_msgSend_244 = objc.msgSendPointer +final _objc_msgSend_234 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function(ffi.Pointer, @@ -10157,7 +9586,7 @@ final _objc_msgSend_244 = objc.msgSendPointer .asFunction< _NSRange Function(ffi.Pointer, ffi.Pointer, int)>(); -final _objc_msgSend_244Stret = objc.msgSendStretPointer +final _objc_msgSend_234Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10170,7 +9599,7 @@ final _objc_msgSend_244Stret = objc.msgSendStretPointer ffi.Pointer, int)>(); late final _sel_rangeOfComposedCharacterSequencesForRange_ = objc.registerName("rangeOfComposedCharacterSequencesForRange:"); -final _objc_msgSend_245 = objc.msgSendPointer +final _objc_msgSend_235 = objc.msgSendPointer .cast< ffi.NativeFunction< _NSRange Function(ffi.Pointer, @@ -10178,7 +9607,7 @@ final _objc_msgSend_245 = objc.msgSendPointer .asFunction< _NSRange Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); -final _objc_msgSend_245Stret = objc.msgSendStretPointer +final _objc_msgSend_235Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10204,7 +9633,7 @@ late final _sel_localizedCapitalizedString = objc.registerName("localizedCapitalizedString"); late final _sel_uppercaseStringWithLocale_ = objc.registerName("uppercaseStringWithLocale:"); -final _objc_msgSend_246 = objc.msgSendPointer +final _objc_msgSend_236 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10220,7 +9649,7 @@ late final _sel_capitalizedStringWithLocale_ = objc.registerName("capitalizedStringWithLocale:"); late final _sel_getLineStart_end_contentsEnd_forRange_ = objc.registerName("getLineStart:end:contentsEnd:forRange:"); -final _objc_msgSend_247 = objc.msgSendPointer +final _objc_msgSend_237 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10406,7 +9835,7 @@ class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool late final _sel_enumerateSubstringsInRange_options_usingBlock_ = objc.registerName("enumerateSubstringsInRange:options:usingBlock:"); -final _objc_msgSend_248 = objc.msgSendPointer +final _objc_msgSend_238 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -10545,7 +9974,7 @@ class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { late final _sel_enumerateLinesUsingBlock_ = objc.registerName("enumerateLinesUsingBlock:"); -final _objc_msgSend_249 = objc.msgSendPointer +final _objc_msgSend_239 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -10558,7 +9987,7 @@ late final _sel_fastestEncoding = objc.registerName("fastestEncoding"); late final _sel_smallestEncoding = objc.registerName("smallestEncoding"); late final _sel_dataUsingEncoding_allowLossyConversion_ = objc.registerName("dataUsingEncoding:allowLossyConversion:"); -final _objc_msgSend_250 = objc.msgSendPointer +final _objc_msgSend_240 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10567,7 +9996,7 @@ final _objc_msgSend_250 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int, bool)>(); late final _sel_dataUsingEncoding_ = objc.registerName("dataUsingEncoding:"); -final _objc_msgSend_251 = objc.msgSendPointer +final _objc_msgSend_241 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10581,7 +10010,7 @@ late final _sel_cStringUsingEncoding_ = objc.registerName("cStringUsingEncoding:"); late final _sel_getCString_maxLength_encoding_ = objc.registerName("getCString:maxLength:encoding:"); -final _objc_msgSend_252 = objc.msgSendPointer +final _objc_msgSend_242 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10602,7 +10031,7 @@ abstract class NSStringEncodingConversionOptions { late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_ = objc.registerName( "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:"); -final _objc_msgSend_253 = objc.msgSendPointer +final _objc_msgSend_243 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10632,7 +10061,7 @@ late final _sel_lengthOfBytesUsingEncoding_ = objc.registerName("lengthOfBytesUsingEncoding:"); late final _sel_availableStringEncodings = objc.registerName("availableStringEncodings"); -final _objc_msgSend_254 = objc.msgSendPointer +final _objc_msgSend_244 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10654,7 +10083,7 @@ late final _sel_precomposedStringWithCompatibilityMapping = objc.registerName("precomposedStringWithCompatibilityMapping"); late final _sel_componentsSeparatedByString_ = objc.registerName("componentsSeparatedByString:"); -final _objc_msgSend_255 = objc.msgSendPointer +final _objc_msgSend_245 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10666,7 +10095,7 @@ final _objc_msgSend_255 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_componentsSeparatedByCharactersInSet_ = objc.registerName("componentsSeparatedByCharactersInSet:"); -final _objc_msgSend_256 = objc.msgSendPointer +final _objc_msgSend_246 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10678,7 +10107,7 @@ final _objc_msgSend_256 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByTrimmingCharactersInSet_ = objc.registerName("stringByTrimmingCharactersInSet:"); -final _objc_msgSend_257 = objc.msgSendPointer +final _objc_msgSend_247 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10690,7 +10119,7 @@ final _objc_msgSend_257 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByPaddingToLength_withString_startingAtIndex_ = objc.registerName("stringByPaddingToLength:withString:startingAtIndex:"); -final _objc_msgSend_258 = objc.msgSendPointer +final _objc_msgSend_248 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10708,7 +10137,7 @@ final _objc_msgSend_258 = objc.msgSendPointer int)>(); late final _sel_stringByFoldingWithOptions_locale_ = objc.registerName("stringByFoldingWithOptions:locale:"); -final _objc_msgSend_259 = objc.msgSendPointer +final _objc_msgSend_249 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10725,7 +10154,7 @@ final _objc_msgSend_259 = objc.msgSendPointer late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_ = objc.registerName( "stringByReplacingOccurrencesOfString:withString:options:range:"); -final _objc_msgSend_260 = objc.msgSendPointer +final _objc_msgSend_250 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10745,7 +10174,7 @@ final _objc_msgSend_260 = objc.msgSendPointer _NSRange)>(); late final _sel_stringByReplacingOccurrencesOfString_withString_ = objc.registerName("stringByReplacingOccurrencesOfString:withString:"); -final _objc_msgSend_261 = objc.msgSendPointer +final _objc_msgSend_251 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10761,7 +10190,7 @@ final _objc_msgSend_261 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_stringByReplacingCharactersInRange_withString_ = objc.registerName("stringByReplacingCharactersInRange:withString:"); -final _objc_msgSend_262 = objc.msgSendPointer +final _objc_msgSend_252 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10777,7 +10206,7 @@ final _objc_msgSend_262 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_stringByApplyingTransform_reverse_ = objc.registerName("stringByApplyingTransform:reverse:"); -final _objc_msgSend_263 = objc.msgSendPointer +final _objc_msgSend_253 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10793,7 +10222,7 @@ final _objc_msgSend_263 = objc.msgSendPointer bool)>(); late final _sel_writeToURL_atomically_encoding_error_ = objc.registerName("writeToURL:atomically:encoding:error:"); -final _objc_msgSend_264 = objc.msgSendPointer +final _objc_msgSend_254 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10813,7 +10242,7 @@ final _objc_msgSend_264 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_writeToFile_atomically_encoding_error_ = objc.registerName("writeToFile:atomically:encoding:error:"); -final _objc_msgSend_265 = objc.msgSendPointer +final _objc_msgSend_255 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10833,7 +10262,7 @@ final _objc_msgSend_265 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithCharactersNoCopy_length_freeWhenDone_ = objc.registerName("initWithCharactersNoCopy:length:freeWhenDone:"); -final _objc_msgSend_266 = objc.msgSendPointer +final _objc_msgSend_256 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10964,7 +10393,7 @@ class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong late final _sel_initWithCharactersNoCopy_length_deallocator_ = objc.registerName("initWithCharactersNoCopy:length:deallocator:"); -final _objc_msgSend_267 = objc.msgSendPointer +final _objc_msgSend_257 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10982,7 +10411,7 @@ final _objc_msgSend_267 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initWithCharacters_length_ = objc.registerName("initWithCharacters:length:"); -final _objc_msgSend_268 = objc.msgSendPointer +final _objc_msgSend_258 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10997,7 +10426,7 @@ final _objc_msgSend_268 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUTF8String_ = objc.registerName("initWithUTF8String:"); -final _objc_msgSend_269 = objc.msgSendPointer +final _objc_msgSend_259 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -11021,7 +10450,7 @@ final class __va_list_tag extends ffi.Struct { late final _sel_initWithFormat_arguments_ = objc.registerName("initWithFormat:arguments:"); -final _objc_msgSend_270 = objc.msgSendPointer +final _objc_msgSend_260 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11037,7 +10466,7 @@ final _objc_msgSend_270 = objc.msgSendPointer ffi.Pointer<__va_list_tag>)>(); late final _sel_initWithFormat_locale_ = objc.registerName("initWithFormat:locale:"); -final _objc_msgSend_271 = objc.msgSendPointer +final _objc_msgSend_261 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11053,7 +10482,7 @@ final _objc_msgSend_271 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_initWithFormat_locale_arguments_ = objc.registerName("initWithFormat:locale:arguments:"); -final _objc_msgSend_272 = objc.msgSendPointer +final _objc_msgSend_262 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11071,7 +10500,7 @@ final _objc_msgSend_272 = objc.msgSendPointer ffi.Pointer<__va_list_tag>)>(); late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_ = objc.registerName("initWithValidatedFormat:validFormatSpecifiers:error:"); -final _objc_msgSend_273 = objc.msgSendPointer +final _objc_msgSend_263 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11090,7 +10519,7 @@ final _objc_msgSend_273 = objc.msgSendPointer late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_ = objc.registerName( "initWithValidatedFormat:validFormatSpecifiers:locale:error:"); -final _objc_msgSend_274 = objc.msgSendPointer +final _objc_msgSend_264 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11111,7 +10540,7 @@ final _objc_msgSend_274 = objc.msgSendPointer late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_ = objc.registerName( "initWithValidatedFormat:validFormatSpecifiers:arguments:error:"); -final _objc_msgSend_275 = objc.msgSendPointer +final _objc_msgSend_265 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11132,7 +10561,7 @@ final _objc_msgSend_275 = objc.msgSendPointer late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_ = objc.registerName( "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:"); -final _objc_msgSend_276 = objc.msgSendPointer +final _objc_msgSend_266 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11154,7 +10583,7 @@ final _objc_msgSend_276 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithData_encoding_ = objc.registerName("initWithData:encoding:"); -final _objc_msgSend_277 = objc.msgSendPointer +final _objc_msgSend_267 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11170,7 +10599,7 @@ final _objc_msgSend_277 = objc.msgSendPointer int)>(); late final _sel_initWithBytes_length_encoding_ = objc.registerName("initWithBytes:length:encoding:"); -final _objc_msgSend_278 = objc.msgSendPointer +final _objc_msgSend_268 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11184,7 +10613,7 @@ final _objc_msgSend_278 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, int)>(); late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_ = objc.registerName("initWithBytesNoCopy:length:encoding:freeWhenDone:"); -final _objc_msgSend_279 = objc.msgSendPointer +final _objc_msgSend_269 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11204,7 +10633,7 @@ final _objc_msgSend_279 = objc.msgSendPointer bool)>(); late final _sel_initWithBytesNoCopy_length_encoding_deallocator_ = objc.registerName("initWithBytesNoCopy:length:encoding:deallocator:"); -final _objc_msgSend_280 = objc.msgSendPointer +final _objc_msgSend_270 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11238,7 +10667,7 @@ late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_ "localizedStringWithValidatedFormat:validFormatSpecifiers:error:"); late final _sel_initWithCString_encoding_ = objc.registerName("initWithCString:encoding:"); -final _objc_msgSend_281 = objc.msgSendPointer +final _objc_msgSend_271 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11253,7 +10682,7 @@ late final _sel_stringWithCString_encoding_ = objc.registerName("stringWithCString:encoding:"); late final _sel_initWithContentsOfURL_encoding_error_ = objc.registerName("initWithContentsOfURL:encoding:error:"); -final _objc_msgSend_282 = objc.msgSendPointer +final _objc_msgSend_272 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11271,7 +10700,7 @@ final _objc_msgSend_282 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithContentsOfFile_encoding_error_ = objc.registerName("initWithContentsOfFile:encoding:error:"); -final _objc_msgSend_283 = objc.msgSendPointer +final _objc_msgSend_273 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11293,7 +10722,7 @@ late final _sel_stringWithContentsOfFile_encoding_error_ = objc.registerName("stringWithContentsOfFile:encoding:error:"); late final _sel_initWithContentsOfURL_usedEncoding_error_ = objc.registerName("initWithContentsOfURL:usedEncoding:error:"); -final _objc_msgSend_284 = objc.msgSendPointer +final _objc_msgSend_274 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11311,7 +10740,7 @@ final _objc_msgSend_284 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithContentsOfFile_usedEncoding_error_ = objc.registerName("initWithContentsOfFile:usedEncoding:error:"); -final _objc_msgSend_285 = objc.msgSendPointer +final _objc_msgSend_275 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11334,7 +10763,7 @@ late final _sel_stringWithContentsOfFile_usedEncoding_error_ = late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_ = objc.registerName( "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:"); -final _objc_msgSend_286 = objc.msgSendPointer +final _objc_msgSend_276 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -11355,7 +10784,7 @@ final _objc_msgSend_286 = objc.msgSendPointer late final _sel_propertyList = objc.registerName("propertyList"); late final _sel_propertyListFromStringsFileFormat = objc.registerName("propertyListFromStringsFileFormat"); -final _objc_msgSend_287 = objc.msgSendPointer +final _objc_msgSend_277 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -11367,7 +10796,7 @@ late final _sel_cString = objc.registerName("cString"); late final _sel_lossyCString = objc.registerName("lossyCString"); late final _sel_cStringLength = objc.registerName("cStringLength"); late final _sel_getCString_ = objc.registerName("getCString:"); -final _objc_msgSend_288 = objc.msgSendPointer +final _objc_msgSend_278 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11377,7 +10806,7 @@ final _objc_msgSend_288 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_getCString_maxLength_ = objc.registerName("getCString:maxLength:"); -final _objc_msgSend_289 = objc.msgSendPointer +final _objc_msgSend_279 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11390,7 +10819,7 @@ final _objc_msgSend_289 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int)>(); late final _sel_getCString_maxLength_range_remainingRange_ = objc.registerName("getCString:maxLength:range:remainingRange:"); -final _objc_msgSend_290 = objc.msgSendPointer +final _objc_msgSend_280 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11414,7 +10843,7 @@ late final _sel_stringWithContentsOfURL_ = objc.registerName("stringWithContentsOfURL:"); late final _sel_initWithCStringNoCopy_length_freeWhenDone_ = objc.registerName("initWithCStringNoCopy:length:freeWhenDone:"); -final _objc_msgSend_291 = objc.msgSendPointer +final _objc_msgSend_281 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11437,7 +10866,7 @@ late final _sel_stringWithCString_length_ = objc.registerName("stringWithCString:length:"); late final _sel_stringWithCString_ = objc.registerName("stringWithCString:"); late final _sel_getCharacters_ = objc.registerName("getCharacters:"); -final _objc_msgSend_292 = objc.msgSendPointer +final _objc_msgSend_282 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11449,7 +10878,7 @@ final _objc_msgSend_292 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_ = objc.registerName("stringByAddingPercentEncodingWithAllowedCharacters:"); -final _objc_msgSend_293 = objc.msgSendPointer +final _objc_msgSend_283 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11463,7 +10892,7 @@ late final _sel_stringByRemovingPercentEncoding = objc.registerName("stringByRemovingPercentEncoding"); late final _sel_stringByAddingPercentEscapesUsingEncoding_ = objc.registerName("stringByAddingPercentEscapesUsingEncoding:"); -final _objc_msgSend_294 = objc.msgSendPointer +final _objc_msgSend_284 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -11476,7 +10905,7 @@ late final _sel_stringByReplacingPercentEscapesUsingEncoding_ = late final _sel_debugDescription = objc.registerName("debugDescription"); late final _sel_version = objc.registerName("version"); late final _sel_setVersion_ = objc.registerName("setVersion:"); -final _objc_msgSend_295 = objc.msgSendPointer +final _objc_msgSend_285 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11494,7 +10923,7 @@ late final _sel_autoContentAccessingProxy = objc.registerName("autoContentAccessingProxy"); late final _sel_URL_resourceDataDidBecomeAvailable_ = objc.registerName("URL:resourceDataDidBecomeAvailable:"); -final _objc_msgSend_296 = objc.msgSendPointer +final _objc_msgSend_286 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11510,7 +10939,7 @@ final _objc_msgSend_296 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_URLResourceDidFinishLoading_ = objc.registerName("URLResourceDidFinishLoading:"); -final _objc_msgSend_297 = objc.msgSendPointer +final _objc_msgSend_287 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11524,7 +10953,7 @@ late final _sel_URLResourceDidCancelLoading_ = objc.registerName("URLResourceDidCancelLoading:"); late final _sel_URL_resourceDidFailLoadingWithReason_ = objc.registerName("URL:resourceDidFailLoadingWithReason:"); -final _objc_msgSend_298 = objc.msgSendPointer +final _objc_msgSend_288 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11560,11 +10989,11 @@ class NSMutableArray extends NSArray { } void addObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_210(this.pointer, _sel_addObject_, anObject.pointer); + _objc_msgSend_200(this.pointer, _sel_addObject_, anObject.pointer); } void insertObject_atIndex_(objc.ObjCObjectBase anObject, int index) { - _objc_msgSend_299( + _objc_msgSend_289( this.pointer, _sel_insertObject_atIndex_, anObject.pointer, index); } @@ -11573,12 +11002,12 @@ class NSMutableArray extends NSArray { } void removeObjectAtIndex_(int index) { - _objc_msgSend_300(this.pointer, _sel_removeObjectAtIndex_, index); + _objc_msgSend_290(this.pointer, _sel_removeObjectAtIndex_, index); } void replaceObjectAtIndex_withObject_( int index, objc.ObjCObjectBase anObject) { - _objc_msgSend_301(this.pointer, _sel_replaceObjectAtIndex_withObject_, + _objc_msgSend_291(this.pointer, _sel_replaceObjectAtIndex_withObject_, index, anObject.pointer); } @@ -11604,12 +11033,12 @@ class NSMutableArray extends NSArray { } void addObjectsFromArray_(NSArray otherArray) { - _objc_msgSend_302( + _objc_msgSend_292( this.pointer, _sel_addObjectsFromArray_, otherArray.pointer); } void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) { - _objc_msgSend_303(this.pointer, + _objc_msgSend_293(this.pointer, _sel_exchangeObjectAtIndex_withObjectAtIndex_, idx1, idx2); } @@ -11618,43 +11047,43 @@ class NSMutableArray extends NSArray { } void removeObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_304( + _objc_msgSend_294( this.pointer, _sel_removeObject_inRange_, anObject.pointer, range); } void removeObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_210(this.pointer, _sel_removeObject_, anObject.pointer); + _objc_msgSend_200(this.pointer, _sel_removeObject_, anObject.pointer); } void removeObjectIdenticalTo_inRange_( objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_304(this.pointer, _sel_removeObjectIdenticalTo_inRange_, + _objc_msgSend_294(this.pointer, _sel_removeObjectIdenticalTo_inRange_, anObject.pointer, range); } void removeObjectIdenticalTo_(objc.ObjCObjectBase anObject) { - _objc_msgSend_210( + _objc_msgSend_200( this.pointer, _sel_removeObjectIdenticalTo_, anObject.pointer); } void removeObjectsFromIndices_numIndices_( ffi.Pointer indices, int cnt) { - _objc_msgSend_305( + _objc_msgSend_295( this.pointer, _sel_removeObjectsFromIndices_numIndices_, indices, cnt); } void removeObjectsInArray_(NSArray otherArray) { - _objc_msgSend_302( + _objc_msgSend_292( this.pointer, _sel_removeObjectsInArray_, otherArray.pointer); } void removeObjectsInRange_(_NSRange range) { - _objc_msgSend_306(this.pointer, _sel_removeObjectsInRange_, range); + _objc_msgSend_296(this.pointer, _sel_removeObjectsInRange_, range); } void replaceObjectsInRange_withObjectsFromArray_range_( _NSRange range, NSArray otherArray, _NSRange otherRange) { - _objc_msgSend_307( + _objc_msgSend_297( this.pointer, _sel_replaceObjectsInRange_withObjectsFromArray_range_, range, @@ -11664,7 +11093,7 @@ class NSMutableArray extends NSArray { void replaceObjectsInRange_withObjectsFromArray_( _NSRange range, NSArray otherArray) { - _objc_msgSend_308( + _objc_msgSend_298( this.pointer, _sel_replaceObjectsInRange_withObjectsFromArray_, range, @@ -11672,7 +11101,7 @@ class NSMutableArray extends NSArray { } void setArray_(NSArray otherArray) { - _objc_msgSend_302(this.pointer, _sel_setArray_, otherArray.pointer); + _objc_msgSend_292(this.pointer, _sel_setArray_, otherArray.pointer); } void sortUsingFunction_context_( @@ -11682,7 +11111,7 @@ class NSMutableArray extends NSArray { ffi.Pointer, ffi.Pointer)>> compare, ffi.Pointer context) { - _objc_msgSend_309( + _objc_msgSend_299( this.pointer, _sel_sortUsingFunction_context_, compare, context); } @@ -11691,34 +11120,34 @@ class NSMutableArray extends NSArray { } void insertObjects_atIndexes_(NSArray objects, NSIndexSet indexes) { - _objc_msgSend_310(this.pointer, _sel_insertObjects_atIndexes_, + _objc_msgSend_300(this.pointer, _sel_insertObjects_atIndexes_, objects.pointer, indexes.pointer); } void removeObjectsAtIndexes_(NSIndexSet indexes) { - _objc_msgSend_311( + _objc_msgSend_301( this.pointer, _sel_removeObjectsAtIndexes_, indexes.pointer); } void replaceObjectsAtIndexes_withObjects_( NSIndexSet indexes, NSArray objects) { - _objc_msgSend_312(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, + _objc_msgSend_302(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, indexes.pointer, objects.pointer); } void setObject_atIndexedSubscript_(objc.ObjCObjectBase obj, int idx) { - _objc_msgSend_299( + _objc_msgSend_289( this.pointer, _sel_setObject_atIndexedSubscript_, obj.pointer, idx); } void sortUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_313(this.pointer, _sel_sortUsingComparator_, cmptr.pointer); + _objc_msgSend_303(this.pointer, _sel_sortUsingComparator_, cmptr.pointer); } void sortWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_314(this.pointer, _sel_sortWithOptions_usingComparator_, opts, + _objc_msgSend_304(this.pointer, _sel_sortWithOptions_usingComparator_, opts, cmptr.pointer); } @@ -11729,7 +11158,7 @@ class NSMutableArray extends NSArray { } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_158( _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -11737,7 +11166,7 @@ class NSMutableArray extends NSArray { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_160( + final _ret = _objc_msgSend_159( _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -11745,7 +11174,7 @@ class NSMutableArray extends NSArray { } NSMutableArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_315( + final _ret = _objc_msgSend_305( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -11753,7 +11182,7 @@ class NSMutableArray extends NSArray { } NSMutableArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_316( + final _ret = _objc_msgSend_306( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -11761,7 +11190,7 @@ class NSMutableArray extends NSArray { } void applyDifference_(objc.ObjCObjectBase difference) { - _objc_msgSend_210(this.pointer, _sel_applyDifference_, difference.pointer); + _objc_msgSend_200(this.pointer, _sel_applyDifference_, difference.pointer); } @override @@ -11778,7 +11207,7 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11791,20 +11220,20 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSMutableArray arrayWithArray_(NSArray array) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_151( _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11812,20 +11241,20 @@ class NSMutableArray extends NSArray { @override NSMutableArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_152( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_154(_class_NSMutableArray, + final _ret = _objc_msgSend_153(_class_NSMutableArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -11853,7 +11282,7 @@ late final _class_NSMutableArray = objc.getClass("NSMutableArray"); late final _sel_addObject_ = objc.registerName("addObject:"); late final _sel_insertObject_atIndex_ = objc.registerName("insertObject:atIndex:"); -final _objc_msgSend_299 = objc.msgSendPointer +final _objc_msgSend_289 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11870,7 +11299,7 @@ final _objc_msgSend_299 = objc.msgSendPointer late final _sel_removeLastObject = objc.registerName("removeLastObject"); late final _sel_removeObjectAtIndex_ = objc.registerName("removeObjectAtIndex:"); -final _objc_msgSend_300 = objc.msgSendPointer +final _objc_msgSend_290 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11880,7 +11309,7 @@ final _objc_msgSend_300 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_replaceObjectAtIndex_withObject_ = objc.registerName("replaceObjectAtIndex:withObject:"); -final _objc_msgSend_301 = objc.msgSendPointer +final _objc_msgSend_291 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11897,7 +11326,7 @@ final _objc_msgSend_301 = objc.msgSendPointer late final _sel_initWithCapacity_ = objc.registerName("initWithCapacity:"); late final _sel_addObjectsFromArray_ = objc.registerName("addObjectsFromArray:"); -final _objc_msgSend_302 = objc.msgSendPointer +final _objc_msgSend_292 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11909,7 +11338,7 @@ final _objc_msgSend_302 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_exchangeObjectAtIndex_withObjectAtIndex_ = objc.registerName("exchangeObjectAtIndex:withObjectAtIndex:"); -final _objc_msgSend_303 = objc.msgSendPointer +final _objc_msgSend_293 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11923,7 +11352,7 @@ final _objc_msgSend_303 = objc.msgSendPointer late final _sel_removeAllObjects = objc.registerName("removeAllObjects"); late final _sel_removeObject_inRange_ = objc.registerName("removeObject:inRange:"); -final _objc_msgSend_304 = objc.msgSendPointer +final _objc_msgSend_294 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11944,7 +11373,7 @@ late final _sel_removeObjectIdenticalTo_ = objc.registerName("removeObjectIdenticalTo:"); late final _sel_removeObjectsFromIndices_numIndices_ = objc.registerName("removeObjectsFromIndices:numIndices:"); -final _objc_msgSend_305 = objc.msgSendPointer +final _objc_msgSend_295 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11962,7 +11391,7 @@ late final _sel_removeObjectsInArray_ = objc.registerName("removeObjectsInArray:"); late final _sel_removeObjectsInRange_ = objc.registerName("removeObjectsInRange:"); -final _objc_msgSend_306 = objc.msgSendPointer +final _objc_msgSend_296 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11972,7 +11401,7 @@ final _objc_msgSend_306 = objc.msgSendPointer ffi.Pointer, _NSRange)>(); late final _sel_replaceObjectsInRange_withObjectsFromArray_range_ = objc.registerName("replaceObjectsInRange:withObjectsFromArray:range:"); -final _objc_msgSend_307 = objc.msgSendPointer +final _objc_msgSend_297 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11990,7 +11419,7 @@ final _objc_msgSend_307 = objc.msgSendPointer _NSRange)>(); late final _sel_replaceObjectsInRange_withObjectsFromArray_ = objc.registerName("replaceObjectsInRange:withObjectsFromArray:"); -final _objc_msgSend_308 = objc.msgSendPointer +final _objc_msgSend_298 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12007,7 +11436,7 @@ final _objc_msgSend_308 = objc.msgSendPointer late final _sel_setArray_ = objc.registerName("setArray:"); late final _sel_sortUsingFunction_context_ = objc.registerName("sortUsingFunction:context:"); -final _objc_msgSend_309 = objc.msgSendPointer +final _objc_msgSend_299 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12032,7 +11461,7 @@ final _objc_msgSend_309 = objc.msgSendPointer late final _sel_sortUsingSelector_ = objc.registerName("sortUsingSelector:"); late final _sel_insertObjects_atIndexes_ = objc.registerName("insertObjects:atIndexes:"); -final _objc_msgSend_310 = objc.msgSendPointer +final _objc_msgSend_300 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12048,7 +11477,7 @@ final _objc_msgSend_310 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_removeObjectsAtIndexes_ = objc.registerName("removeObjectsAtIndexes:"); -final _objc_msgSend_311 = objc.msgSendPointer +final _objc_msgSend_301 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12060,7 +11489,7 @@ final _objc_msgSend_311 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_replaceObjectsAtIndexes_withObjects_ = objc.registerName("replaceObjectsAtIndexes:withObjects:"); -final _objc_msgSend_312 = objc.msgSendPointer +final _objc_msgSend_302 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12078,7 +11507,7 @@ late final _sel_setObject_atIndexedSubscript_ = objc.registerName("setObject:atIndexedSubscript:"); late final _sel_sortUsingComparator_ = objc.registerName("sortUsingComparator:"); -final _objc_msgSend_313 = objc.msgSendPointer +final _objc_msgSend_303 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -12088,7 +11517,7 @@ final _objc_msgSend_313 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_sortWithOptions_usingComparator_ = objc.registerName("sortWithOptions:usingComparator:"); -final _objc_msgSend_314 = objc.msgSendPointer +final _objc_msgSend_304 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12103,7 +11532,7 @@ final _objc_msgSend_314 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_arrayWithCapacity_ = objc.registerName("arrayWithCapacity:"); -final _objc_msgSend_315 = objc.msgSendPointer +final _objc_msgSend_305 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -12113,7 +11542,7 @@ final _objc_msgSend_315 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_316 = objc.msgSendPointer +final _objc_msgSend_306 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -12155,7 +11584,7 @@ class NSMutableData extends NSData { } set length(int value) { - return _objc_msgSend_317(this.pointer, _sel_setLength_, value); + return _objc_msgSend_307(this.pointer, _sel_setLength_, value); } void appendBytes_length_(ffi.Pointer bytes, int length) { @@ -12163,35 +11592,35 @@ class NSMutableData extends NSData { } void appendData_(NSData other) { - _objc_msgSend_318(this.pointer, _sel_appendData_, other.pointer); + _objc_msgSend_308(this.pointer, _sel_appendData_, other.pointer); } void increaseLengthBy_(int extraLength) { - _objc_msgSend_300(this.pointer, _sel_increaseLengthBy_, extraLength); + _objc_msgSend_290(this.pointer, _sel_increaseLengthBy_, extraLength); } void replaceBytesInRange_withBytes_( _NSRange range, ffi.Pointer bytes) { - _objc_msgSend_319( + _objc_msgSend_309( this.pointer, _sel_replaceBytesInRange_withBytes_, range, bytes); } void resetBytesInRange_(_NSRange range) { - _objc_msgSend_306(this.pointer, _sel_resetBytesInRange_, range); + _objc_msgSend_296(this.pointer, _sel_resetBytesInRange_, range); } void setData_(NSData data) { - _objc_msgSend_318(this.pointer, _sel_setData_, data.pointer); + _objc_msgSend_308(this.pointer, _sel_setData_, data.pointer); } void replaceBytesInRange_withBytes_length_(_NSRange range, ffi.Pointer replacementBytes, int replacementLength) { - _objc_msgSend_320(this.pointer, _sel_replaceBytesInRange_withBytes_length_, + _objc_msgSend_310(this.pointer, _sel_replaceBytesInRange_withBytes_length_, range, replacementBytes, replacementLength); } static NSMutableData? dataWithCapacity_(int aNumItems) { - final _ret = _objc_msgSend_321( + final _ret = _objc_msgSend_311( _class_NSMutableData, _sel_dataWithCapacity_, aNumItems); return _ret.address == 0 ? null @@ -12200,7 +11629,7 @@ class NSMutableData extends NSData { static NSMutableData? dataWithLength_(int length) { final _ret = - _objc_msgSend_321(_class_NSMutableData, _sel_dataWithLength_, length); + _objc_msgSend_311(_class_NSMutableData, _sel_dataWithLength_, length); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); @@ -12208,14 +11637,14 @@ class NSMutableData extends NSData { NSMutableData? initWithCapacity_(int capacity) { final _ret = - _objc_msgSend_321(this.pointer, _sel_initWithCapacity_, capacity); + _objc_msgSend_311(this.pointer, _sel_initWithCapacity_, capacity); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } NSMutableData? initWithLength_(int length) { - final _ret = _objc_msgSend_321(this.pointer, _sel_initWithLength_, length); + final _ret = _objc_msgSend_311(this.pointer, _sel_initWithLength_, length); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); @@ -12223,13 +11652,13 @@ class NSMutableData extends NSData { bool decompressUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - return _objc_msgSend_322( + return _objc_msgSend_312( this.pointer, _sel_decompressUsingAlgorithm_error_, algorithm, error); } bool compressUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - return _objc_msgSend_322( + return _objc_msgSend_312( this.pointer, _sel_compressUsingAlgorithm_error_, algorithm, error); } @@ -12240,28 +11669,28 @@ class NSMutableData extends NSData { static NSMutableData dataWithBytes_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( _class_NSMutableData, _sel_dataWithBytes_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } static NSMutableData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( _class_NSMutableData, _sel_dataWithBytesNoCopy_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_223(_class_NSMutableData, + final _ret = _objc_msgSend_213(_class_NSMutableData, _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } static NSMutableData? dataWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_224( + final _ret = _objc_msgSend_214( _class_NSMutableData, _sel_dataWithContentsOfFile_options_error_, path.pointer, @@ -12274,7 +11703,7 @@ class NSMutableData extends NSData { static NSMutableData? dataWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_225( + final _ret = _objc_msgSend_215( _class_NSMutableData, _sel_dataWithContentsOfURL_options_error_, url.pointer, @@ -12294,7 +11723,7 @@ class NSMutableData extends NSData { } static NSMutableData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( _class_NSMutableData, _sel_dataWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -12303,7 +11732,7 @@ class NSMutableData extends NSData { @override NSMutableData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } @@ -12311,7 +11740,7 @@ class NSMutableData extends NSData { @override NSMutableData initWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_212( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } @@ -12319,7 +11748,7 @@ class NSMutableData extends NSData { @override NSMutableData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_223(this.pointer, + final _ret = _objc_msgSend_213(this.pointer, _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } @@ -12329,7 +11758,7 @@ class NSMutableData extends NSData { ffi.Pointer bytes, int length, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_227( + final _ret = _objc_msgSend_217( this.pointer, _sel_initWithBytesNoCopy_length_deallocator_, bytes, @@ -12341,7 +11770,7 @@ class NSMutableData extends NSData { @override NSMutableData? initWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_224( + final _ret = _objc_msgSend_214( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, @@ -12355,7 +11784,7 @@ class NSMutableData extends NSData { @override NSMutableData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_225( + final _ret = _objc_msgSend_215( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, @@ -12377,7 +11806,7 @@ class NSMutableData extends NSData { @override NSMutableData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -12387,12 +11816,12 @@ class NSMutableData extends NSData { @override NSMutableData initWithData_(NSData data) { final _ret = - _objc_msgSend_228(this.pointer, _sel_initWithData_, data.pointer); + _objc_msgSend_218(this.pointer, _sel_initWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } static NSMutableData dataWithData_(NSData data) { - final _ret = _objc_msgSend_228( + final _ret = _objc_msgSend_218( _class_NSMutableData, _sel_dataWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } @@ -12400,7 +11829,7 @@ class NSMutableData extends NSData { @override NSMutableData? initWithBase64EncodedString_options_( NSString base64String, int options) { - final _ret = _objc_msgSend_229( + final _ret = _objc_msgSend_219( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, @@ -12413,7 +11842,7 @@ class NSMutableData extends NSData { @override NSMutableData? initWithBase64EncodedData_options_( NSData base64Data, int options) { - final _ret = _objc_msgSend_231(this.pointer, + final _ret = _objc_msgSend_221(this.pointer, _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); return _ret.address == 0 ? null @@ -12423,7 +11852,7 @@ class NSMutableData extends NSData { @override NSMutableData? decompressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_233(this.pointer, + final _ret = _objc_msgSend_223(this.pointer, _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -12433,7 +11862,7 @@ class NSMutableData extends NSData { @override NSMutableData? compressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_233(this.pointer, + final _ret = _objc_msgSend_223(this.pointer, _sel_compressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -12474,7 +11903,7 @@ class NSMutableData extends NSData { late final _class_NSMutableData = objc.getClass("NSMutableData"); late final _sel_mutableBytes = objc.registerName("mutableBytes"); late final _sel_setLength_ = objc.registerName("setLength:"); -final _objc_msgSend_317 = objc.msgSendPointer +final _objc_msgSend_307 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -12484,7 +11913,7 @@ final _objc_msgSend_317 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_appendBytes_length_ = objc.registerName("appendBytes:length:"); late final _sel_appendData_ = objc.registerName("appendData:"); -final _objc_msgSend_318 = objc.msgSendPointer +final _objc_msgSend_308 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12497,7 +11926,7 @@ final _objc_msgSend_318 = objc.msgSendPointer late final _sel_increaseLengthBy_ = objc.registerName("increaseLengthBy:"); late final _sel_replaceBytesInRange_withBytes_ = objc.registerName("replaceBytesInRange:withBytes:"); -final _objc_msgSend_319 = objc.msgSendPointer +final _objc_msgSend_309 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12512,7 +11941,7 @@ late final _sel_resetBytesInRange_ = objc.registerName("resetBytesInRange:"); late final _sel_setData_ = objc.registerName("setData:"); late final _sel_replaceBytesInRange_withBytes_length_ = objc.registerName("replaceBytesInRange:withBytes:length:"); -final _objc_msgSend_320 = objc.msgSendPointer +final _objc_msgSend_310 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12529,7 +11958,7 @@ final _objc_msgSend_320 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_dataWithCapacity_ = objc.registerName("dataWithCapacity:"); -final _objc_msgSend_321 = objc.msgSendPointer +final _objc_msgSend_311 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -12541,7 +11970,7 @@ late final _sel_dataWithLength_ = objc.registerName("dataWithLength:"); late final _sel_initWithLength_ = objc.registerName("initWithLength:"); late final _sel_decompressUsingAlgorithm_error_ = objc.registerName("decompressUsingAlgorithm:error:"); -final _objc_msgSend_322 = objc.msgSendPointer +final _objc_msgSend_312 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -12591,7 +12020,7 @@ class NSNotification extends NSObject { } NSDictionary? get userInfo { - final _ret = _objc_msgSend_287(this.pointer, _sel_userInfo); + final _ret = _objc_msgSend_277(this.pointer, _sel_userInfo); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12599,7 +12028,7 @@ class NSNotification extends NSObject { NSNotification initWithName_object_userInfo_( NSString name, objc.ObjCObjectBase? object, NSDictionary? userInfo) { - final _ret = _objc_msgSend_323( + final _ret = _objc_msgSend_313( this.pointer, _sel_initWithName_object_userInfo_, name.pointer, @@ -12618,7 +12047,7 @@ class NSNotification extends NSObject { static NSNotification notificationWithName_object_( NSString aName, objc.ObjCObjectBase? anObject) { - final _ret = _objc_msgSend_271( + final _ret = _objc_msgSend_261( _class_NSNotification, _sel_notificationWithName_object_, aName.pointer, @@ -12628,7 +12057,7 @@ class NSNotification extends NSObject { static NSNotification notificationWithName_object_userInfo_( NSString aName, objc.ObjCObjectBase? anObject, NSDictionary? aUserInfo) { - final _ret = _objc_msgSend_323( + final _ret = _objc_msgSend_313( _class_NSNotification, _sel_notificationWithName_object_userInfo_, aName.pointer, @@ -12666,7 +12095,7 @@ late final _sel_object = objc.registerName("object"); late final _sel_userInfo = objc.registerName("userInfo"); late final _sel_initWithName_object_userInfo_ = objc.registerName("initWithName:object:userInfo:"); -final _objc_msgSend_323 = objc.msgSendPointer +final _objc_msgSend_313 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -12720,7 +12149,7 @@ class NSDate extends NSObject { } NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( this.pointer, _sel_initWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } @@ -12735,9 +12164,9 @@ class NSDate extends NSObject { double timeIntervalSinceDate_(NSDate anotherDate) { return objc.useMsgSendVariants - ? _objc_msgSend_325Fpret( + ? _objc_msgSend_315Fpret( this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer) - : _objc_msgSend_325( + : _objc_msgSend_315( this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer); } @@ -12755,34 +12184,34 @@ class NSDate extends NSObject { objc.ObjCObjectBase addTimeInterval_(double seconds) { final _ret = - _objc_msgSend_324(this.pointer, _sel_addTimeInterval_, seconds); + _objc_msgSend_314(this.pointer, _sel_addTimeInterval_, seconds); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSDate dateByAddingTimeInterval_(double ti) { final _ret = - _objc_msgSend_324(this.pointer, _sel_dateByAddingTimeInterval_, ti); + _objc_msgSend_314(this.pointer, _sel_dateByAddingTimeInterval_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate earlierDate_(NSDate anotherDate) { final _ret = - _objc_msgSend_326(this.pointer, _sel_earlierDate_, anotherDate.pointer); + _objc_msgSend_316(this.pointer, _sel_earlierDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate laterDate_(NSDate anotherDate) { final _ret = - _objc_msgSend_326(this.pointer, _sel_laterDate_, anotherDate.pointer); + _objc_msgSend_316(this.pointer, _sel_laterDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } int compare_(NSDate other) { - return _objc_msgSend_327(this.pointer, _sel_compare_, other.pointer); + return _objc_msgSend_317(this.pointer, _sel_compare_, other.pointer); } bool isEqualToDate_(NSDate otherDate) { - return _objc_msgSend_328( + return _objc_msgSend_318( this.pointer, _sel_isEqualToDate_, otherDate.pointer); } @@ -12803,59 +12232,59 @@ class NSDate extends NSObject { } static NSDate dateWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( _class_NSDate, _sel_dateWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( _class_NSDate, _sel_dateWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( _class_NSDate, _sel_dateWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeInterval_sinceDate_( double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_329(_class_NSDate, + final _ret = _objc_msgSend_319(_class_NSDate, _sel_dateWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getDistantFuture() { - final _ret = _objc_msgSend_330(_class_NSDate, _sel_distantFuture); + final _ret = _objc_msgSend_320(_class_NSDate, _sel_distantFuture); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getDistantPast() { - final _ret = _objc_msgSend_330(_class_NSDate, _sel_distantPast); + final _ret = _objc_msgSend_320(_class_NSDate, _sel_distantPast); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getNow() { - final _ret = _objc_msgSend_330(_class_NSDate, _sel_now); + final _ret = _objc_msgSend_320(_class_NSDate, _sel_now); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( this.pointer, _sel_initWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_324( + final _ret = _objc_msgSend_314( this.pointer, _sel_initWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_329(this.pointer, + final _ret = _objc_msgSend_319(this.pointer, _sel_initWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } @@ -12881,7 +12310,7 @@ late final _sel_timeIntervalSinceReferenceDate = objc.registerName("timeIntervalSinceReferenceDate"); late final _sel_initWithTimeIntervalSinceReferenceDate_ = objc.registerName("initWithTimeIntervalSinceReferenceDate:"); -final _objc_msgSend_324 = objc.msgSendPointer +final _objc_msgSend_314 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -12891,7 +12320,7 @@ final _objc_msgSend_324 = objc.msgSendPointer ffi.Pointer, double)>(); late final _sel_timeIntervalSinceDate_ = objc.registerName("timeIntervalSinceDate:"); -final _objc_msgSend_325 = objc.msgSendPointer +final _objc_msgSend_315 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Double Function( @@ -12901,7 +12330,7 @@ final _objc_msgSend_325 = objc.msgSendPointer .asFunction< double Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_325Fpret = objc.msgSendFpretPointer +final _objc_msgSend_315Fpret = objc.msgSendFpretPointer .cast< ffi.NativeFunction< ffi.Double Function( @@ -12919,7 +12348,7 @@ late final _sel_addTimeInterval_ = objc.registerName("addTimeInterval:"); late final _sel_dateByAddingTimeInterval_ = objc.registerName("dateByAddingTimeInterval:"); late final _sel_earlierDate_ = objc.registerName("earlierDate:"); -final _objc_msgSend_326 = objc.msgSendPointer +final _objc_msgSend_316 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -12930,7 +12359,7 @@ final _objc_msgSend_326 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_laterDate_ = objc.registerName("laterDate:"); -final _objc_msgSend_327 = objc.msgSendPointer +final _objc_msgSend_317 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -12941,7 +12370,7 @@ final _objc_msgSend_327 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_isEqualToDate_ = objc.registerName("isEqualToDate:"); -final _objc_msgSend_328 = objc.msgSendPointer +final _objc_msgSend_318 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -12960,7 +12389,7 @@ late final _sel_dateWithTimeIntervalSince1970_ = objc.registerName("dateWithTimeIntervalSince1970:"); late final _sel_dateWithTimeInterval_sinceDate_ = objc.registerName("dateWithTimeInterval:sinceDate:"); -final _objc_msgSend_329 = objc.msgSendPointer +final _objc_msgSend_319 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -12975,7 +12404,7 @@ final _objc_msgSend_329 = objc.msgSendPointer double, ffi.Pointer)>(); late final _sel_distantFuture = objc.registerName("distantFuture"); -final _objc_msgSend_330 = objc.msgSendPointer +final _objc_msgSend_320 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -13013,12 +12442,12 @@ class NSMutableDictionary extends NSDictionary { } void removeObjectForKey_(objc.ObjCObjectBase aKey) { - _objc_msgSend_210(this.pointer, _sel_removeObjectForKey_, aKey.pointer); + _objc_msgSend_200(this.pointer, _sel_removeObjectForKey_, aKey.pointer); } void setObject_forKey_( objc.ObjCObjectBase anObject, objc.ObjCObjectBase aKey) { - _objc_msgSend_331( + _objc_msgSend_321( this.pointer, _sel_setObject_forKey_, anObject.pointer, aKey.pointer); } @@ -13047,7 +12476,7 @@ class NSMutableDictionary extends NSDictionary { } void addEntriesFromDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_332( + _objc_msgSend_322( this.pointer, _sel_addEntriesFromDictionary_, otherDictionary.pointer); } @@ -13056,18 +12485,18 @@ class NSMutableDictionary extends NSDictionary { } void removeObjectsForKeys_(NSArray keyArray) { - _objc_msgSend_302( + _objc_msgSend_292( this.pointer, _sel_removeObjectsForKeys_, keyArray.pointer); } void setDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_332( + _objc_msgSend_322( this.pointer, _sel_setDictionary_, otherDictionary.pointer); } void setObject_forKeyedSubscript_( objc.ObjCObjectBase? obj, objc.ObjCObjectBase key) { - _objc_msgSend_333(this.pointer, _sel_setObject_forKeyedSubscript_, + _objc_msgSend_323(this.pointer, _sel_setObject_forKeyedSubscript_, obj?.pointer ?? ffi.nullptr, key.pointer); } @@ -13079,7 +12508,7 @@ class NSMutableDictionary extends NSDictionary { } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_193(_class_NSMutableDictionary, + final _ret = _objc_msgSend_183(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -13087,7 +12516,7 @@ class NSMutableDictionary extends NSDictionary { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_194(_class_NSMutableDictionary, + final _ret = _objc_msgSend_184(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -13095,7 +12524,7 @@ class NSMutableDictionary extends NSDictionary { } NSMutableDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_334( + final _ret = _objc_msgSend_324( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -13104,7 +12533,7 @@ class NSMutableDictionary extends NSDictionary { } NSMutableDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_335( + final _ret = _objc_msgSend_325( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -13114,7 +12543,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithSharedKeySet_( objc.ObjCObjectBase keyset) { - final _ret = _objc_msgSend_336(_class_NSMutableDictionary, + final _ret = _objc_msgSend_326(_class_NSMutableDictionary, _sel_dictionaryWithSharedKeySet_, keyset.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13125,7 +12554,7 @@ class NSMutableDictionary extends NSDictionary { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_174( + final _ret = _objc_msgSend_173( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13139,7 +12568,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_195(_class_NSMutableDictionary, + final _ret = _objc_msgSend_185(_class_NSMutableDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13149,7 +12578,7 @@ class NSMutableDictionary extends NSDictionary { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_174(_class_NSMutableDictionary, + final _ret = _objc_msgSend_173(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13157,14 +12586,14 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_151(_class_NSMutableDictionary, + final _ret = _objc_msgSend_150(_class_NSMutableDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_196(_class_NSMutableDictionary, + final _ret = _objc_msgSend_186(_class_NSMutableDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13172,7 +12601,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_197(_class_NSMutableDictionary, + final _ret = _objc_msgSend_187(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13180,7 +12609,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13188,7 +12617,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_196( + final _ret = _objc_msgSend_186( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13197,7 +12626,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_198(this.pointer, + final _ret = _objc_msgSend_188(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSMutableDictionary.castFromPointer(_ret, retain: false, release: true); @@ -13205,7 +12634,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_197(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_187(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13213,7 +12642,7 @@ class NSMutableDictionary extends NSDictionary { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_199(_class_NSMutableDictionary, + final _ret = _objc_msgSend_189(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -13221,7 +12650,7 @@ class NSMutableDictionary extends NSDictionary { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_151( _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -13239,95 +12668,666 @@ class NSMutableDictionary extends NSDictionary { retain: false, release: true); } - static NSMutableDictionary alloc() { - final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_alloc); - return NSMutableDictionary.castFromPointer(_ret, - retain: false, release: true); - } + static NSMutableDictionary alloc() { + final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_alloc); + return NSMutableDictionary.castFromPointer(_ret, + retain: false, release: true); + } +} + +late final _class_NSMutableDictionary = objc.getClass("NSMutableDictionary"); +late final _sel_removeObjectForKey_ = objc.registerName("removeObjectForKey:"); +late final _sel_setObject_forKey_ = objc.registerName("setObject:forKey:"); +final _objc_msgSend_321 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_addEntriesFromDictionary_ = + objc.registerName("addEntriesFromDictionary:"); +final _objc_msgSend_322 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_removeObjectsForKeys_ = + objc.registerName("removeObjectsForKeys:"); +late final _sel_setDictionary_ = objc.registerName("setDictionary:"); +late final _sel_setObject_forKeyedSubscript_ = + objc.registerName("setObject:forKeyedSubscript:"); +final _objc_msgSend_323 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_dictionaryWithCapacity_ = + objc.registerName("dictionaryWithCapacity:"); +final _objc_msgSend_324 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +final _objc_msgSend_325 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_dictionaryWithSharedKeySet_ = + objc.registerName("dictionaryWithSharedKeySet:"); +final _objc_msgSend_326 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); + +class NSSet extends NSObject { + NSSet._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); + + /// Constructs a [NSSet] that points to the same underlying object as [other]. + NSSet.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [NSSet] that wraps the given raw object pointer. + NSSet.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [NSSet]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSSet); + } + + int get count { + return _objc_msgSend_11(this.pointer, _sel_count); + } + + objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { + final _ret = _objc_msgSend_172(this.pointer, _sel_member_, object.pointer); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + NSEnumerator objectEnumerator() { + final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); + return NSEnumerator.castFromPointer(_ret, retain: true, release: true); + } + + @override + NSSet init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + this.pointer, _sel_initWithObjects_count_, objects, cnt); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet? initWithCoder_(NSCoder coder) { + final _ret = + _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); + return _ret.address == 0 + ? null + : NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSArray get allObjects { + final _ret = _objc_msgSend_174(this.pointer, _sel_allObjects); + return NSArray.castFromPointer(_ret, retain: true, release: true); + } + + objc.ObjCObjectBase? anyObject() { + final _ret = _objc_msgSend_90(this.pointer, _sel_anyObject); + return _ret.address == 0 + ? null + : objc.ObjCObjectBase(_ret, retain: true, release: true); + } + + bool containsObject_(objc.ObjCObjectBase anObject) { + return _objc_msgSend_0( + this.pointer, _sel_containsObject_, anObject.pointer); + } + + NSString get description { + final _ret = _objc_msgSend_35(this.pointer, _sel_description); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { + final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, + locale?.pointer ?? ffi.nullptr); + return NSString.castFromPointer(_ret, retain: true, release: true); + } + + bool intersectsSet_(NSSet otherSet) { + return _objc_msgSend_327( + this.pointer, _sel_intersectsSet_, otherSet.pointer); + } + + bool isEqualToSet_(NSSet otherSet) { + return _objc_msgSend_327( + this.pointer, _sel_isEqualToSet_, otherSet.pointer); + } + + bool isSubsetOfSet_(NSSet otherSet) { + return _objc_msgSend_327( + this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); + } + + void makeObjectsPerformSelector_(ffi.Pointer aSelector) { + _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); + } + + void makeObjectsPerformSelector_withObject_( + ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { + _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + aSelector, argument?.pointer ?? ffi.nullptr); + } + + NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { + final _ret = _objc_msgSend_328( + this.pointer, _sel_setByAddingObject_, anObject.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet setByAddingObjectsFromSet_(NSSet other) { + final _ret = _objc_msgSend_329( + this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet setByAddingObjectsFromArray_(NSArray other) { + final _ret = _objc_msgSend_330( + this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + void enumerateObjectsUsingBlock_( + ObjCBlock_ffiVoid_objcObjCObject_bool block) { + _objc_msgSend_331( + this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); + } + + void enumerateObjectsWithOptions_usingBlock_( + int opts, ObjCBlock_ffiVoid_objcObjCObject_bool block) { + _objc_msgSend_332(this.pointer, + _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); + } + + NSSet objectsPassingTest_(ObjCBlock_bool_objcObjCObject_bool predicate) { + final _ret = _objc_msgSend_333( + this.pointer, _sel_objectsPassingTest_, predicate.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet objectsWithOptions_passingTest_( + int opts, ObjCBlock_bool_objcObjCObject_bool predicate) { + final _ret = _objc_msgSend_334(this.pointer, + _sel_objectsWithOptions_passingTest_, opts, predicate.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet set1() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_set); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObject_(objc.ObjCObjectBase object) { + final _ret = + _objc_msgSend_150(_class_NSSet, _sel_setWithObject_, object.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObjects_count_( + ffi.Pointer> objects, int cnt) { + final _ret = _objc_msgSend_100( + _class_NSSet, _sel_setWithObjects_count_, objects, cnt); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = + _objc_msgSend_150(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithSet_(NSSet set) { + final _ret = _objc_msgSend_335(_class_NSSet, _sel_setWithSet_, set.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet setWithArray_(NSArray array) { + final _ret = + _objc_msgSend_151(_class_NSSet, _sel_setWithArray_, array.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { + final _ret = _objc_msgSend_150( + this.pointer, _sel_initWithObjects_, firstObj.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithSet_(NSSet set) { + final _ret = + _objc_msgSend_335(this.pointer, _sel_initWithSet_, set.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + NSSet initWithSet_copyItems_(NSSet set, bool flag) { + final _ret = _objc_msgSend_336( + this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + NSSet initWithArray_(NSArray array) { + final _ret = + _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSSet new1() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_new); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + static NSSet allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = _objc_msgSend_3(_class_NSSet, _sel_allocWithZone_, zone); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } + + static NSSet alloc() { + final _ret = _objc_msgSend_2(_class_NSSet, _sel_alloc); + return NSSet.castFromPointer(_ret, retain: false, release: true); + } +} + +late final _class_NSSet = objc.getClass("NSSet"); +late final _sel_member_ = objc.registerName("member:"); +late final _sel_anyObject = objc.registerName("anyObject"); +late final _sel_intersectsSet_ = objc.registerName("intersectsSet:"); +final _objc_msgSend_327 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_isEqualToSet_ = objc.registerName("isEqualToSet:"); +late final _sel_isSubsetOfSet_ = objc.registerName("isSubsetOfSet:"); +late final _sel_setByAddingObject_ = objc.registerName("setByAddingObject:"); +final _objc_msgSend_328 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_setByAddingObjectsFromSet_ = + objc.registerName("setByAddingObjectsFromSet:"); +final _objc_msgSend_329 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_setByAddingObjectsFromArray_ = + objc.registerName("setByAddingObjectsFromArray:"); +final _objc_msgSend_330 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +void _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +void _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + (objc.getBlockClosure(block) as void Function( + ffi.Pointer, ffi.Pointer))(arg0, arg1); + +class ObjCBlock_ffiVoid_objcObjCObject_bool extends objc.ObjCBlockBase { + ObjCBlock_ffiVoid_objcObjCObject_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) + : super(pointer, retain: retain, release: release); + + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_ffiVoid_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_ffiVoid_objcObjCObject_bool._(pointer, + retain: retain, release: release); + } + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._( + objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunction( + void Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.Pointer? _dartFuncTrampoline; + + /// Creates a listener block from a Dart function. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This block can be invoked from any thread, + /// but only supports void functions, and is not run synchronously. See + /// NativeCallable.listener for more details. + /// + /// Note that unlike the default behavior of NativeCallable.listener, listener + /// blocks do not keep the isolate alive. + ObjCBlock_ffiVoid_objcObjCObject_bool.listener( + void Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + (_dartFuncListenerTrampoline ??= ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>.listener( + _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) + ..keepIsolateAlive = false) + .nativeFunction + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.NativeCallable< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>? _dartFuncListenerTrampoline; + + void call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(pointer, arg0.pointer, arg1); +} + +final _objc_msgSend_331 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +final _objc_msgSend_332 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Int32, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +bool _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + block.ref.target + .cast< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + bool Function(ffi.Pointer, + ffi.Pointer)>()(arg0, arg1); +bool _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1) => + (objc.getBlockClosure(block) as bool Function( + ffi.Pointer, ffi.Pointer))(arg0, arg1); + +class ObjCBlock_bool_objcObjCObject_bool extends objc.ObjCBlockBase { + ObjCBlock_bool_objcObjCObject_bool._(ffi.Pointer pointer, + {bool retain = false, bool release = true}) + : super(pointer, retain: retain, release: release); + + /// Returns a block that wraps the given raw block pointer. + static ObjCBlock_bool_objcObjCObject_bool castFromPointer( + ffi.Pointer pointer, + {bool retain = false, + bool release = false}) { + return ObjCBlock_bool_objcObjCObject_bool._(pointer, + retain: retain, release: release); + } + + /// Creates a block from a C function pointer. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_bool.fromFunctionPointer( + ffi.Pointer< + ffi.NativeFunction< + ffi.Bool Function(ffi.Pointer arg0, + ffi.Pointer arg1)>> + ptr) + : this._(objc.newPointerBlock( + _cFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline, false) + .cast(), + ptr.cast())); + static ffi.Pointer? _cFuncTrampoline; + + /// Creates a block from a Dart function. + /// + /// This block must be invoked by native code running on the same thread as + /// the isolate that registered it. Invoking the block on the wrong thread + /// will result in a crash. + ObjCBlock_bool_objcObjCObject_bool.fromFunction( + bool Function(objc.ObjCObjectBase, ffi.Pointer) fn) + : this._(objc.newClosureBlock( + _dartFuncTrampoline ??= ffi.Pointer.fromFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>( + _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline, false) + .cast(), + (ffi.Pointer arg0, ffi.Pointer arg1) => + fn(objc.ObjCObjectBase(arg0, retain: true, release: true), + arg1))); + static ffi.Pointer? _dartFuncTrampoline; + + bool call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => + pointer.ref.invoke + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer block, + ffi.Pointer arg0, + ffi.Pointer arg1)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>()(pointer, arg0.pointer, arg1); } -late final _class_NSMutableDictionary = objc.getClass("NSMutableDictionary"); -late final _sel_removeObjectForKey_ = objc.registerName("removeObjectForKey:"); -late final _sel_setObject_forKey_ = objc.registerName("setObject:forKey:"); -final _objc_msgSend_331 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_addEntriesFromDictionary_ = - objc.registerName("addEntriesFromDictionary:"); -final _objc_msgSend_332 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_removeObjectsForKeys_ = - objc.registerName("removeObjectsForKeys:"); -late final _sel_setDictionary_ = objc.registerName("setDictionary:"); -late final _sel_setObject_forKeyedSubscript_ = - objc.registerName("setObject:forKeyedSubscript:"); +late final _sel_objectsPassingTest_ = objc.registerName("objectsPassingTest:"); final _objc_msgSend_333 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_dictionaryWithCapacity_ = - objc.registerName("dictionaryWithCapacity:"); + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_objectsWithOptions_passingTest_ = + objc.registerName("objectsWithOptions:passingTest:"); final _objc_msgSend_334 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32, + ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + int, + ffi.Pointer)>(); +late final _sel_set = objc.registerName("set"); +late final _sel_setWithObject_ = objc.registerName("setWithObject:"); +late final _sel_setWithObjects_count_ = + objc.registerName("setWithObjects:count:"); +late final _sel_setWithObjects_ = objc.registerName("setWithObjects:"); +late final _sel_setWithSet_ = objc.registerName("setWithSet:"); final _objc_msgSend_335 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, + instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_dictionaryWithSharedKeySet_ = - objc.registerName("dictionaryWithSharedKeySet:"); +late final _sel_setWithArray_ = objc.registerName("setWithArray:"); +late final _sel_initWithSet_ = objc.registerName("initWithSet:"); +late final _sel_initWithSet_copyItems_ = + objc.registerName("initWithSet:copyItems:"); final _objc_msgSend_336 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer, + ffi.Bool)>>() .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); + instancetype Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + bool)>(); class NSMutableSet extends NSSet { NSMutableSet._(ffi.Pointer pointer, @@ -13350,11 +13350,11 @@ class NSMutableSet extends NSSet { } void addObject_(objc.ObjCObjectBase object) { - _objc_msgSend_210(this.pointer, _sel_addObject_, object.pointer); + _objc_msgSend_200(this.pointer, _sel_addObject_, object.pointer); } void removeObject_(objc.ObjCObjectBase object) { - _objc_msgSend_210(this.pointer, _sel_removeObject_, object.pointer); + _objc_msgSend_200(this.pointer, _sel_removeObject_, object.pointer); } @override @@ -13379,7 +13379,7 @@ class NSMutableSet extends NSSet { } void addObjectsFromArray_(NSArray array) { - _objc_msgSend_302(this.pointer, _sel_addObjectsFromArray_, array.pointer); + _objc_msgSend_292(this.pointer, _sel_addObjectsFromArray_, array.pointer); } void intersectSet_(NSSet otherSet) { @@ -13422,7 +13422,7 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSMutableSet, _sel_setWithObject_, object.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13435,26 +13435,26 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( _class_NSMutableSet, _sel_setWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithSet_(NSSet set) { final _ret = - _objc_msgSend_188(_class_NSMutableSet, _sel_setWithSet_, set.pointer); + _objc_msgSend_335(_class_NSMutableSet, _sel_setWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithArray_(NSArray array) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_151( _class_NSMutableSet, _sel_setWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_150( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13462,13 +13462,13 @@ class NSMutableSet extends NSSet { @override NSMutableSet initWithSet_(NSSet set) { final _ret = - _objc_msgSend_188(this.pointer, _sel_initWithSet_, set.pointer); + _objc_msgSend_335(this.pointer, _sel_initWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_189( + final _ret = _objc_msgSend_336( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } @@ -13476,7 +13476,7 @@ class NSMutableSet extends NSSet { @override NSMutableSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13569,7 +13569,7 @@ class NSItemProvider extends NSObject { NSArray get registeredTypeIdentifiers { final _ret = - _objc_msgSend_110(this.pointer, _sel_registeredTypeIdentifiers); + _objc_msgSend_174(this.pointer, _sel_registeredTypeIdentifiers); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -13640,7 +13640,7 @@ class NSItemProvider extends NSObject { NSItemProvider initWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithObject_, object.pointer); + _objc_msgSend_150(this.pointer, _sel_initWithObject_, object.pointer); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } @@ -13687,7 +13687,7 @@ class NSItemProvider extends NSObject { } NSItemProvider? initWithContentsOfURL_(NSURL fileURL) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( this.pointer, _sel_initWithContentsOfURL_, fileURL.pointer); return _ret.address == 0 ? null @@ -15166,19 +15166,19 @@ class NSMutableString extends NSString { } void deleteCharactersInRange_(_NSRange range) { - _objc_msgSend_306(this.pointer, _sel_deleteCharactersInRange_, range); + _objc_msgSend_296(this.pointer, _sel_deleteCharactersInRange_, range); } void appendString_(NSString aString) { - _objc_msgSend_165(this.pointer, _sel_appendString_, aString.pointer); + _objc_msgSend_164(this.pointer, _sel_appendString_, aString.pointer); } void appendFormat_(NSString format) { - _objc_msgSend_165(this.pointer, _sel_appendFormat_, format.pointer); + _objc_msgSend_164(this.pointer, _sel_appendFormat_, format.pointer); } void setString_(NSString aString) { - _objc_msgSend_165(this.pointer, _sel_setString_, aString.pointer); + _objc_msgSend_164(this.pointer, _sel_setString_, aString.pointer); } int replaceOccurrencesOfString_withString_options_range_(NSString target, @@ -15231,7 +15231,7 @@ class NSMutableString extends NSString { } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_254( + return _objc_msgSend_244( _class_NSMutableString, _sel_availableStringEncodings); } @@ -15249,7 +15249,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_256( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -15263,7 +15263,7 @@ class NSMutableString extends NSString { ffi.Pointer chars, int len, ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_267( + final _ret = _objc_msgSend_257( this.pointer, _sel_initWithCharactersNoCopy_length_deallocator_, chars, @@ -15275,7 +15275,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_268( + final _ret = _objc_msgSend_258( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15283,7 +15283,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_259( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -15307,7 +15307,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithFormat_arguments_( NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_260( this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15315,7 +15315,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_271(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_261(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } @@ -15323,7 +15323,7 @@ class NSMutableString extends NSString { @override NSMutableString initWithFormat_locale_arguments_(NSString format, objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_262( this.pointer, _sel_initWithFormat_locale_arguments_, format.pointer, @@ -15337,7 +15337,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15354,7 +15354,7 @@ class NSMutableString extends NSString { NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_264( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -15373,7 +15373,7 @@ class NSMutableString extends NSString { NSString validFormatSpecifiers, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_275( + final _ret = _objc_msgSend_265( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, format.pointer, @@ -15393,7 +15393,7 @@ class NSMutableString extends NSString { objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList, ffi.Pointer> error) { - final _ret = _objc_msgSend_276( + final _ret = _objc_msgSend_266( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, format.pointer, @@ -15408,7 +15408,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_267( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null @@ -15418,7 +15418,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_278(this.pointer, + final _ret = _objc_msgSend_268(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null @@ -15428,7 +15428,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_279( + final _ret = _objc_msgSend_269( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -15446,7 +15446,7 @@ class NSMutableString extends NSString { int len, int encoding, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_280( + final _ret = _objc_msgSend_270( this.pointer, _sel_initWithBytesNoCopy_length_encoding_deallocator_, bytes, @@ -15471,14 +15471,14 @@ class NSMutableString extends NSString { static NSMutableString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_268(_class_NSMutableString, + final _ret = _objc_msgSend_258(_class_NSMutableString, _sel_stringWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_269(_class_NSMutableString, + final _ret = _objc_msgSend_259(_class_NSMutableString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -15502,7 +15502,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( _class_NSMutableString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15518,7 +15518,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_273( + final _ret = _objc_msgSend_263( _class_NSMutableString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15532,7 +15532,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_281(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_271(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -15541,7 +15541,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_281( + final _ret = _objc_msgSend_271( _class_NSMutableString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null @@ -15551,7 +15551,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_282(this.pointer, + final _ret = _objc_msgSend_272(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -15561,7 +15561,7 @@ class NSMutableString extends NSString { @override NSMutableString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_283(this.pointer, + final _ret = _objc_msgSend_273(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -15570,7 +15570,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_282(_class_NSMutableString, + final _ret = _objc_msgSend_272(_class_NSMutableString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -15579,7 +15579,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_283( + final _ret = _objc_msgSend_273( _class_NSMutableString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -15595,7 +15595,7 @@ class NSMutableString extends NSString { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_284( + final _ret = _objc_msgSend_274( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -15611,7 +15611,7 @@ class NSMutableString extends NSString { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_285( + final _ret = _objc_msgSend_275( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -15626,7 +15626,7 @@ class NSMutableString extends NSString { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_284( + final _ret = _objc_msgSend_274( _class_NSMutableString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -15641,7 +15641,7 @@ class NSMutableString extends NSString { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_285( + final _ret = _objc_msgSend_275( _class_NSMutableString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -15658,7 +15658,7 @@ class NSMutableString extends NSString { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_286( + return _objc_msgSend_276( _class_NSMutableString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -15676,7 +15676,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_226( + final _ret = _objc_msgSend_216( _class_NSMutableString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -15685,7 +15685,7 @@ class NSMutableString extends NSString { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_281( + final _ret = _objc_msgSend_271( _class_NSMutableString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -15693,7 +15693,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_269( + final _ret = _objc_msgSend_259( _class_NSMutableString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null @@ -15896,50 +15896,47 @@ final _objc_msgSend_360 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_respondsToSelector_ = objc.registerName("respondsToSelector:"); -class DartProxy extends NSProxy { - DartProxy._(ffi.Pointer pointer, +class DartProxyBuilder extends NSObject { + DartProxyBuilder._(ffi.Pointer pointer, {bool retain = false, bool release = false}) : super.castFromPointer(pointer, retain: retain, release: release); - /// Constructs a [DartProxy] that points to the same underlying object as [other]. - DartProxy.castFrom(objc.ObjCObjectBase other) + /// Constructs a [DartProxyBuilder] that points to the same underlying object as [other]. + DartProxyBuilder.castFrom(objc.ObjCObjectBase other) : this._(other.pointer, retain: true, release: true); - /// Constructs a [DartProxy] that wraps the given raw object pointer. - DartProxy.castFromPointer(ffi.Pointer other, + /// Constructs a [DartProxyBuilder] that wraps the given raw object pointer. + DartProxyBuilder.castFromPointer(ffi.Pointer other, {bool retain = false, bool release = false}) : this._(other, retain: retain, release: release); - /// Returns whether [obj] is an instance of [DartProxy]. + /// Returns whether [obj] is an instance of [DartProxyBuilder]. static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_DartProxy); - } - - NSMutableDictionary get methods { - final _ret = _objc_msgSend_361(this.pointer, _sel_methods); - return NSMutableDictionary.castFromPointer(_ret, - retain: true, release: true); + return _objc_msgSend_0( + obj.pointer, _sel_isKindOfClass_, _class_DartProxyBuilder); } - set methods(NSMutableDictionary value) { - return _objc_msgSend_362(this.pointer, _sel_setMethods_, value.pointer); + static DartProxyBuilder new1() { + final _ret = _objc_msgSend_2(_class_DartProxyBuilder, _sel_new); + return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); } - static DartProxy new1() { - final _ret = _objc_msgSend_2(_class_DartProxy, _sel_new); - return DartProxy.castFromPointer(_ret, retain: false, release: true); + @override + DartProxyBuilder init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return DartProxyBuilder.castFromPointer(_ret, retain: true, release: true); } - DartProxy init() { - final _ret = _objc_msgSend_2(this.pointer, _sel_init); - return DartProxy.castFromPointer(_ret, retain: true, release: true); + @override + void dealloc() { + _objc_msgSend_1(this.pointer, _sel_dealloc); } void implementMethod_withSignature_andBlock_( ffi.Pointer sel, NSMethodSignature signature, ffi.Pointer block) { - _objc_msgSend_363( + _objc_msgSend_361( this.pointer, _sel_implementMethod_withSignature_andBlock_, sel, @@ -15947,6 +15944,74 @@ class DartProxy extends NSProxy { block); } + static DartProxyBuilder allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_DartProxyBuilder, _sel_allocWithZone_, zone); + return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); + } + + static DartProxyBuilder alloc() { + final _ret = _objc_msgSend_2(_class_DartProxyBuilder, _sel_alloc); + return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); + } +} + +late final _class_DartProxyBuilder = objc.getClass("DartProxyBuilder"); +late final _sel_implementMethod_withSignature_andBlock_ = + objc.registerName("implementMethod:withSignature:andBlock:"); +final _objc_msgSend_361 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + +class DartProxy extends NSProxy { + DartProxy._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); + + /// Constructs a [DartProxy] that points to the same underlying object as [other]. + DartProxy.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [DartProxy] that wraps the given raw object pointer. + DartProxy.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [DartProxy]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_DartProxy); + } + + static DartProxy newFromBuilder_(DartProxyBuilder builder) { + final _ret = _objc_msgSend_362( + _class_DartProxy, _sel_newFromBuilder_, builder.pointer); + return DartProxy.castFromPointer(_ret, retain: false, release: true); + } + + DartProxy initFromBuilder_(DartProxyBuilder builder) { + final _ret = + _objc_msgSend_362(this.pointer, _sel_initFromBuilder_, builder.pointer); + return DartProxy.castFromPointer(_ret, retain: true, release: true); + } + + @override + void dealloc() { + _objc_msgSend_1(this.pointer, _sel_dealloc); + } + static bool respondsToSelector_(ffi.Pointer aSelector) { return _objc_msgSend_4( _class_DartProxy, _sel_respondsToSelector_, aSelector); @@ -15971,41 +16036,15 @@ class DartProxy extends NSProxy { } late final _class_DartProxy = objc.getClass("DartProxy"); -late final _sel_methods = objc.registerName("methods"); -final _objc_msgSend_361 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_setMethods_ = objc.registerName("setMethods:"); +late final _sel_newFromBuilder_ = objc.registerName("newFromBuilder:"); final _objc_msgSend_362 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, + instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_implementMethod_withSignature_andBlock_ = - objc.registerName("implementMethod:withSignature:andBlock:"); -final _objc_msgSend_363 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); +late final _sel_initFromBuilder_ = objc.registerName("initFromBuilder:"); diff --git a/pkgs/objective_c/src/proxy.h b/pkgs/objective_c/src/proxy.h index 8a1a20f15a..af80036d25 100644 --- a/pkgs/objective_c/src/proxy.h +++ b/pkgs/objective_c/src/proxy.h @@ -5,16 +5,21 @@ #ifndef OBJECTIVE_C_SRC_PROXY_H_ #define OBJECTIVE_C_SRC_PROXY_H_ -#import #import -@interface DartProxy : NSProxy +@interface DartProxyBuilder : NSObject + (instancetype)new; - (instancetype)init; - (void)dealloc; - (void)implementMethod:(SEL) sel withSignature:(NSMethodSignature *)signature andBlock:(void *)block; +@end + +@interface DartProxy : NSProxy ++ (instancetype)newFromBuilder:(DartProxyBuilder*)builder; +- (instancetype)initFromBuilder:(DartProxyBuilder*)builder; +- (void)dealloc; - (BOOL)respondsToSelector:(SEL)sel; - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel; - (void)forwardInvocation:(NSInvocation *)invocation; diff --git a/pkgs/objective_c/src/proxy.m b/pkgs/objective_c/src/proxy.m index 8da8f07be5..4c0a934b68 100644 --- a/pkgs/objective_c/src/proxy.m +++ b/pkgs/objective_c/src/proxy.m @@ -4,6 +4,7 @@ #include "proxy.h" +#import #import #import #import @@ -22,7 +23,7 @@ - (void)dealloc { } @end -@implementation DartProxy { +@implementation DartProxyBuilder { NSMutableDictionary *methods; } @@ -42,29 +43,63 @@ - (void)dealloc { [super dealloc]; } -- (void)implementMethod:(SEL) sel +- (void)implement:(SEL)sel withMethod:(ProxyMethod*)m { + @synchronized(methods) { + [methods setObject:m forKey:[NSValue valueWithPointer:sel]]; + } +} + +- (void)implementMethod:(SEL)sel withSignature:(NSMethodSignature *)signature andBlock:(void *)block { ProxyMethod *m = [ProxyMethod new]; m.signature = signature; m.block = block; - [methods setObject:m forKey:[NSValue valueWithPointer:sel]]; + [self implement:sel withMethod:m]; [m release]; } +- (NSDictionary*)copyMethods { + return [methods copy]; +} +@end + +@implementation DartProxy { + NSDictionary *methods; +} + +- (ProxyMethod*)getMethod:(SEL)sel { + return [methods objectForKey:[NSValue valueWithPointer:sel]]; +} + ++ (instancetype)newFromBuilder:(DartProxyBuilder*)builder { + return [[self alloc] initFromBuilder:builder]; +} + +- (instancetype)initFromBuilder:(DartProxyBuilder*)builder { + if (self) { + methods = [builder copyMethods]; + } + return self; +} + +- (void)dealloc { + [methods release]; + [super dealloc]; +} + - (BOOL)respondsToSelector:(SEL)sel { - return [methods objectForKey:[NSValue valueWithPointer:sel]] != nil; + return [self getMethod:sel] != nil; } - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel { - ProxyMethod *m = [methods objectForKey:[NSValue valueWithPointer:sel]]; + ProxyMethod *m = [self getMethod:sel]; return m != nil ? m.signature : nil; } - (void)forwardInvocation:(NSInvocation *)invocation { [invocation retainArguments]; - SEL sel = invocation.selector; - ProxyMethod *m = [methods objectForKey:[NSValue valueWithPointer:sel]]; + ProxyMethod *m = [self getMethod:invocation.selector]; if (m != nil) { [invocation invokeWithTarget:m.block]; } From d5a4825d46cd0d865a8151838a491bbd3480eff6 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Fri, 17 May 2024 12:31:19 +1200 Subject: [PATCH 10/30] Fix analysis --- pkgs/ffigen/test/native_objc_test/protocol_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 4a4c944756..d235cf8b17 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -122,7 +122,7 @@ void main() { final proxyBuilder = DartProxyBuilder.new1(); final consumer = ProtocolConsumer.new1(); final proto = getProtocol('MyProtocol'); - final completer = Completer(); + final completer = Completer(); int count = 0; final sel = registerName('voidMethod:'); From 303c3bdee1d2d784d7b4519e344b999316d8c309 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 21 May 2024 12:49:10 +1200 Subject: [PATCH 11/30] WIP protocol codegen --- .../lib/src/config_provider/config.dart | 40 +++++++++++--- .../sub_parsers/objcinterfacedecl_parser.dart | 21 ++++---- .../sub_parsers/objcprotocoldecl_parser.dart | 31 +++++++++++ .../translation_unit_parser.dart | 4 ++ pkgs/ffigen/lib/src/header_parser/utils.dart | 52 ++++++++++--------- pkgs/ffigen/lib/src/strings.dart | 5 +- .../native_objc_test/protocol_config.yaml | 4 ++ 7 files changed, 115 insertions(+), 42 deletions(-) create mode 100644 pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart diff --git a/pkgs/ffigen/lib/src/config_provider/config.dart b/pkgs/ffigen/lib/src/config_provider/config.dart index 1e6e36684c..4cd115a699 100644 --- a/pkgs/ffigen/lib/src/config_provider/config.dart +++ b/pkgs/ffigen/lib/src/config_provider/config.dart @@ -93,6 +93,10 @@ class Config { Declaration get objcInterfaces => _objcInterfaces; late Declaration _objcInterfaces; + /// Declaration config for Objective C protocols. + Declaration get objcProtocols => _objcProtocols; + late Declaration _objcProtocols; + /// If enabled, the default behavior of all declaration filters is to exclude /// everything, rather than include everything. bool get excludeAllByDefault => _excludeAllByDefault; @@ -156,8 +160,12 @@ class Config { late StructPackingOverride _structPackingOverride; /// Module prefixes for ObjC interfaces. - ObjCModulePrefixer get objcModulePrefixer => _objcModulePrefixer; - late ObjCModulePrefixer _objcModulePrefixer; + ObjCModulePrefixer get objcInterfaceModulePrefixer => _objcInterfaceModulePrefixer; + late ObjCModulePrefixer _objcInterfaceModulePrefixer; + + /// Module prefixes for ObjC protocols. + ObjCModulePrefixer get objcProtocolModulePrefixer => _objcProtocolModulePrefixer; + late ObjCModulePrefixer _objcProtocolModulePrefixer; /// Name of the wrapper class. String get wrapperName => _wrapperName; @@ -526,14 +534,34 @@ class Config { ..._memberRenameProperties(), HeterogeneousMapEntry( key: strings.objcModule, - valueConfigSpec: _objcInterfaceModuleObject(), + valueConfigSpec: _objcModuleObject(), defaultValue: (node) => ObjCModulePrefixer({}), ) ], result: (node) { _objcInterfaces = declarationConfigExtractor( node.value as Map); - _objcModulePrefixer = (node.value as Map)[strings.objcModule] + _objcInterfaceModulePrefixer = (node.value as Map)[strings.objcModule] + as ObjCModulePrefixer; + }, + )), + HeterogeneousMapEntry( + key: strings.objcProtocols, + valueConfigSpec: HeterogeneousMapConfigSpec( + entries: [ + ..._includeExcludeProperties(), + ..._renameProperties(), + ..._memberRenameProperties(), + HeterogeneousMapEntry( + key: strings.objcModule, + valueConfigSpec: _objcModuleObject(), + defaultValue: (node) => ObjCModulePrefixer({}), + ) + ], + result: (node) { + _objcProtocols = declarationConfigExtractor( + node.value as Map); + _objcProtocolModulePrefixer = (node.value as Map)[strings.objcModule] as ObjCModulePrefixer; }, )), @@ -931,9 +959,9 @@ class Config { ); } - MapConfigSpec _objcInterfaceModuleObject() { + MapConfigSpec _objcModuleObject() { return MapConfigSpec( - schemaDefName: "objcInterfaceModule", + schemaDefName: "objcModule", keyValueConfigSpecs: [ (keyRegexp: ".*", valueConfigSpec: StringConfigSpec()), ], diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart index 4fa57c3a34..3290383b12 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart @@ -71,7 +71,7 @@ Type? parseObjCInterfaceDeclaration( usr: itfUsr, originalName: name, name: config.objcInterfaces.renameUsingConfig(name), - lookupName: config.objcModulePrefixer.applyPrefix(name), + lookupName: config.objcInterfaceModulePrefixer.applyPrefix(name), dartDoc: getCursorDocComment(cursor), builtInFunctions: objCBuiltInFunctions, ); @@ -135,7 +135,7 @@ int _parseInterfaceVisitor(clang_types.CXCursor cursor, break; case clang_types.CXCursorKind.CXCursor_ObjCInstanceMethodDecl: case clang_types.CXCursorKind.CXCursor_ObjCClassMethodDecl: - _parseMethod(cursor); + _parseInterfaceMethod(cursor); break; } return clang_types.CXChildVisitResult.CXChildVisit_Continue; @@ -209,7 +209,14 @@ void _parseProperty(clang_types.CXCursor cursor) { } } -void _parseMethod(clang_types.CXCursor cursor) { +void _parseInterfaceMethod(clang_types.CXCursor cursor) { + final method = parseMethod(cursor); + if (method != null) { + _interfaceStack.top.interface.addMethod(method); + } +} + +ObjCMethod? parseMethod(clang_types.CXCursor cursor) { final methodName = cursor.spelling(); final isClassMethod = cursor.kind == clang_types.CXCursorKind.CXCursor_ObjCClassMethodDecl; @@ -218,7 +225,7 @@ void _parseMethod(clang_types.CXCursor cursor) { _logger.warning('Method "$methodName" in instance ' '"${_interfaceStack.top.interface.originalName}" has incomplete ' 'return type: $returnType.'); - return; + return null; } final method = ObjCMethod( originalName: methodName, @@ -237,11 +244,7 @@ void _parseMethod(clang_types.CXCursor cursor) { Pointer.fromFunction(_parseMethodVisitor, exceptional_visitor_return), nullptr); _methodStack.pop(); - if (parsed.hasError) { - // Discard it. - return; - } - _interfaceStack.top.interface.addMethod(method); + return parsed.hasError ? null : method; } int _parseMethodVisitor(clang_types.CXCursor cursor, diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart new file mode 100644 index 0000000000..8de277f80c --- /dev/null +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart @@ -0,0 +1,31 @@ +// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'dart:ffi'; + +import 'package:ffigen/src/code_generator.dart'; +import 'package:ffigen/src/header_parser/data.dart'; +import 'package:logging/logging.dart'; + +import 'objcinterfacedecl_parser.dart'; +import '../clang_bindings/clang_bindings.dart' as clang_types; +import '../includer.dart'; +import '../utils.dart'; + +final _logger = Logger('ffigen.header_parser.objcprotocoldecl_parser'); + +BindingType? parseObjCProtocolDeclaration(clang_types.CXCursor cursor) { + // ObjCProtocolDecl + // ObjCProtocolRef + // ObjCInstanceMethodDecl + final name = cursor.spelling(); + + cursor.visitChildren((child) { + if (name == "MyProtocol") { + print(""); + child.printAst(5); + } + }); + return null; +} diff --git a/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart b/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart index 31f50b865d..1917f081b4 100644 --- a/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/translation_unit_parser.dart @@ -7,6 +7,7 @@ import 'dart:ffi'; import 'package:ffigen/src/code_generator.dart'; import 'package:ffigen/src/header_parser/sub_parsers/macro_parser.dart'; import 'package:ffigen/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart'; +import 'package:ffigen/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart'; import 'package:ffigen/src/header_parser/sub_parsers/var_parser.dart'; import 'package:logging/logging.dart'; @@ -67,6 +68,9 @@ int _rootCursorVisitor(clang_types.CXCursor cursor, clang_types.CXCursor parent, case clang_types.CXCursorKind.CXCursor_ObjCCategoryDecl: addToBindings(parseObjCCategoryDeclaration(cursor)); break; + case clang_types.CXCursorKind.CXCursor_ObjCProtocolDecl: + addToBindings(parseObjCProtocolDeclaration(cursor)); + break; case clang_types.CXCursorKind.CXCursor_MacroDefinition: saveMacroDefinition(cursor); break; diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index 9e80414dfa..c1f247f09e 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -18,6 +18,9 @@ final _logger = Logger('ffigen.header_parser.utils'); const exceptional_visitor_return = clang_types.CXChildVisitResult.CXChildVisit_Break; +typedef CursorVisitorCallback = Int32 Function( + clang_types.CXCursor, clang_types.CXCursor, Pointer); + /// Check [resultCode] of [clang.clang_visitChildren_wrap]. /// /// Throws exception if resultCode is not [exceptional_visitor_return]. @@ -149,32 +152,33 @@ extension CXCursorExt on clang_types.CXCursor { return clang.clang_Location_isInSystemHeader(location) != 0; } - /// Recursively print the AST, for debugging. - void printAst([int maxDepth = 3]) { - _printAstVisitorMaxDepth = maxDepth; - _printAstVisitor(this, this, Pointer.fromAddress(0)); + /// Visits all the direct children of this cursor. + /// + /// [callback] is called with the child cursor. If [callback] returns true or + /// null, the iteration will continue. Otherwise, if [callback] returns false, + /// the iteration will stop. + void visitChildren(bool? Function(clang_types.CXCursor) callback) { + final protocolVisitor = NativeCallable.isolateLocal( + (clang_types.CXCursor child, clang_types.CXCursor parent, + Pointer clientData) => + callback(child) ?? true + ? clang_types.CXChildVisitResult.CXChildVisit_Continue + : clang_types.CXChildVisitResult.CXChildVisit_Break, + exceptionalReturn: exceptional_visitor_return); + clang.clang_visitChildren(this, protocolVisitor.nativeFunction, nullptr); + protocolVisitor.close(); } -} -Pointer< - NativeFunction< - Int32 Function( - clang_types.CXCursor, clang_types.CXCursor, Pointer)>>? - _printAstVisitorPtr; -int _printAstVisitorMaxDepth = 0; -int _printAstVisitor(clang_types.CXCursor cursor, clang_types.CXCursor parent, - Pointer clientData) { - final depth = clientData.address; - if (depth > _printAstVisitorMaxDepth) { - return clang_types.CXChildVisitResult.CXChildVisit_Break; - } - print((' ' * depth) + cursor.completeStringRepr()); - clang.clang_visitChildren( - cursor, - _printAstVisitorPtr ??= - Pointer.fromFunction(_printAstVisitor, exceptional_visitor_return), - Pointer.fromAddress(depth + 1)); - return clang_types.CXChildVisitResult.CXChildVisit_Continue; + /// Recursively print the AST, for debugging. + void printAst([int maxDepth = 3]) => _printAst(maxDepth, 0); + bool _printAst(int maxDepth, int depth) { + if (depth > maxDepth) { + return false; + } + print((' ' * depth) + completeStringRepr()); + visitChildren((child) => child._printAst(maxDepth, depth + 1)); + return true; + } } const commentPrefix = '/// '; diff --git a/pkgs/ffigen/lib/src/strings.dart b/pkgs/ffigen/lib/src/strings.dart index cc1397a7f4..a8c21da61a 100644 --- a/pkgs/ffigen/lib/src/strings.dart +++ b/pkgs/ffigen/lib/src/strings.dart @@ -72,6 +72,8 @@ const globals = 'globals'; const macros = 'macros'; const typedefs = 'typedefs'; const objcInterfaces = 'objc-interfaces'; +const objcProtocols = 'objc-protocols'; +const objcModule = 'objc-module'; const excludeAllByDefault = 'exclude-all-by-default'; const generateForPackageObjectiveC = 'generate-for-package-objective-c'; @@ -92,9 +94,6 @@ const varArgFunctions = 'variadic-arguments'; const postfix = "postfix"; const types = "types"; -// Sub-fields of ObjC interfaces. -const objcModule = 'module'; - const dependencyOnly = 'dependency-only'; // Values for `compoundDependencies`. const fullCompoundDependencies = 'full'; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index 121a293b2d..37778f3fd4 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -20,6 +20,10 @@ functions: - forceCodeGenOfOptMethodBlock - forceCodeGenOfVoidMethodBlock - forceCodeGenOfOtherMethodBlock +objc-protocols: + include: + - MyProtocol + - SecondaryProtocol headers: entry-points: - 'protocol_test.m' From 03d046901783595023b5df48ccb8a6ac011f6256 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 23 May 2024 13:03:02 +1200 Subject: [PATCH 12/30] Protocol parsing done --- pkgs/ffigen/lib/src/code_generator.dart | 2 + .../src/code_generator/binding_string.dart | 1 + .../objc_built_in_functions.dart | 12 ++ .../src/code_generator/objc_interface.dart | 172 ++-------------- .../lib/src/code_generator/objc_methods.dart | 186 ++++++++++++++++++ .../lib/src/code_generator/objc_protocol.dart | 86 ++++++++ .../clang_bindings/clang_bindings.dart | 17 ++ .../lib/src/header_parser/includer.dart | 5 + .../sub_parsers/objcinterfacedecl_parser.dart | 12 +- .../sub_parsers/objcprotocoldecl_parser.dart | 56 +++++- pkgs/ffigen/lib/src/header_parser/utils.dart | 4 + pkgs/ffigen/lib/src/strings.dart | 4 +- .../test/native_objc_test/protocol_test.m | 6 +- pkgs/ffigen/tool/libclang_config.yaml | 1 + pkgs/objective_c/lib/src/internal.dart | 9 + .../objective_c/lib/src/protocol_builder.dart | 20 ++ 16 files changed, 419 insertions(+), 174 deletions(-) create mode 100644 pkgs/ffigen/lib/src/code_generator/objc_methods.dart create mode 100644 pkgs/ffigen/lib/src/code_generator/objc_protocol.dart create mode 100644 pkgs/objective_c/lib/src/protocol_builder.dart diff --git a/pkgs/ffigen/lib/src/code_generator.dart b/pkgs/ffigen/lib/src/code_generator.dart index 5977439a03..d706b2d3f2 100644 --- a/pkgs/ffigen/lib/src/code_generator.dart +++ b/pkgs/ffigen/lib/src/code_generator.dart @@ -19,7 +19,9 @@ export 'code_generator/native_type.dart'; export 'code_generator/objc_block.dart'; export 'code_generator/objc_built_in_functions.dart'; export 'code_generator/objc_interface.dart'; +export 'code_generator/objc_methods.dart'; export 'code_generator/objc_nullable.dart'; +export 'code_generator/objc_protocol.dart'; export 'code_generator/pointer.dart'; export 'code_generator/struct.dart'; export 'code_generator/type.dart'; diff --git a/pkgs/ffigen/lib/src/code_generator/binding_string.dart b/pkgs/ffigen/lib/src/code_generator/binding_string.dart index decfd6fc90..986e8cedeb 100644 --- a/pkgs/ffigen/lib/src/code_generator/binding_string.dart +++ b/pkgs/ffigen/lib/src/code_generator/binding_string.dart @@ -24,5 +24,6 @@ enum BindingStringType { enumClass, typeDef, objcInterface, + objcProtocol, objcBlock, } diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index b0876797de..d4b34924e2 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -24,6 +24,9 @@ class ObjCBuiltInFunctions { static const getBlockClosure = ObjCImport('getBlockClosure'); static const objectBase = ObjCImport('ObjCObjectBase'); static const blockBase = ObjCImport('ObjCBlockBase'); + static const protoMethod = ObjCImport('ObjCProtoMethod'); + static const protoBuilder = ObjCImport('ObjCProtocolBuilder'); + static const dartProxy = ObjCImport('DartProxy'); // Keep in sync with pkgs/objective_c/ffigen_objc.yaml. static const builtInInterfaces = { @@ -60,8 +63,11 @@ class ObjCBuiltInFunctions { 'Protocol', }; + // TODO(https://github.com/dart-lang/native/issues/1173): Ideally this check + // would be based on more than just the name. bool isBuiltInInterface(String name) => !generateForPackageObjectiveC && builtInInterfaces.contains(name); + bool isNSObject(String name) => name == 'NSObject'; // We need to load a separate instance of objc_msgSend for each signature. If // the return type is a struct, we need to use objc_msgSend_stret instead, and @@ -96,6 +102,12 @@ class ObjCBuiltInFunctions { sel.addDependencies(dependencies); } } + + static bool isInstanceType(Type type) { + if (type is ObjCInstanceType) return true; + final baseType = type.typealiasType; + return baseType is ObjCNullable && baseType.child is ObjCInstanceType; + } } /// A function, global variable, or helper type defined in package:objective_c. diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 8474a33345..74640bd905 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -36,9 +36,8 @@ const _excludedNSObjectClassMethods = { final _logger = Logger('ffigen.code_generator.objc_interface'); -class ObjCInterface extends BindingType { +class ObjCInterface extends BindingType with ObjCMethods { ObjCInterface? superType; - final methods = {}; bool filled = false; final String lookupName; @@ -116,8 +115,8 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { '''); // Methods. - for (final m in methods.values) { - final methodName = m._getDartMethodName(uniqueNamer); + for (final m in methods) { + final methodName = m.getDartMethodName(uniqueNamer); final isStatic = m.isClass; final isStret = m.msgSend!.isStret; @@ -156,7 +155,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { } s.write(paramsToString(params, isStatic: true)); } else { - if (superType?.methods[m.originalName]?.sameAs(m) ?? false) { + if (superType?.getMethod(m.originalName)?.sameAs(m) ?? false) { s.write('@override\n '); } switch (m.kind) { @@ -234,18 +233,15 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { _isKindOfClassMsgSend = builtInFunctions.getMsgSendFunc( BooleanType(), [ObjCMethodParam(PointerType(objCObjectType), 'clazz')]); - for (final m in methods.values) { - m.addDependencies(dependencies, builtInFunctions); - } + addMethodDependencies(dependencies, builtInFunctions, needMsgSend: true); if (superType != null) { superType!.addDependencies(dependencies); _copyMethodsFromSuperType(); _fixNullabilityOfOverriddenMethods(); - } - for (final m in methods.values) { - m.addDependencies(dependencies, builtInFunctions); + // Add dependencies for any methods that were added. + addMethodDependencies(dependencies, builtInFunctions, needMsgSend: true); } builtInFunctions.addDependencies(dependencies); @@ -257,11 +253,11 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { // - Methods that return instancetype, because the subclass's copy of the // method needs to return the subclass, not the super class. // Note: instancetype is only allowed as a return type, not an arg type. - for (final m in superType!.methods.values) { + for (final m in superType!.methods) { if (m.isClass && !_excludedNSObjectClassMethods.contains(m.originalName)) { addMethod(m); - } else if (_isInstanceType(m.returnType)) { + } else if (ObjCBuiltInFunctions.isInstanceType(m.returnType)) { addMethod(m); } } @@ -275,8 +271,8 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { // nullable, to avoid Dart compile errors. var superType_ = superType; while (superType_ != null) { - for (final method in methods.values) { - final superMethod = superType_.methods[method.originalName]; + for (final method in methods) { + final superMethod = superType_.getMethod(method.originalName); if (superMethod != null && !superMethod.isClass && !method.isClass) { if (superMethod.returnType.typealiasType is! ObjCNullable && method.returnType.typealiasType is ObjCNullable) { @@ -299,55 +295,6 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { } } - static bool _isInstanceType(Type type) { - if (type is ObjCInstanceType) return true; - final baseType = type.typealiasType; - return baseType is ObjCNullable && baseType.child is ObjCInstanceType; - } - - ObjCMethod _maybeReplaceMethod(ObjCMethod? oldMethod, ObjCMethod newMethod) { - if (oldMethod == null) return newMethod; - - // Typically we ignore duplicate methods. However, property setters and - // getters are duplicated in the AST. One copy is marked with - // ObjCMethodKind.propertyGetter/Setter. The other copy is missing - // important information, and is a plain old instanceMethod. So if the - // existing method is an instanceMethod, and the new one is a property, - // override it. - if (newMethod.isProperty && !oldMethod.isProperty) { - return newMethod; - } else if (!newMethod.isProperty && oldMethod.isProperty) { - // Don't override, but also skip the same method check below. - return oldMethod; - } - - // Check the duplicate is the same method. - if (!newMethod.sameAs(oldMethod)) { - _logger.severe('Duplicate methods with different signatures: ' - '$originalName.${newMethod.originalName}'); - return newMethod; - } - - // There's a bug in some Apple APIs where an init method that should return - // instancetype has a duplicate definition that instead returns id. In that - // case, use the one that returns instancetype. Note that since instancetype - // is an alias of id, the sameAs check above passes. - if (_isInstanceType(newMethod.returnType) && - !_isInstanceType(oldMethod.returnType)) { - return newMethod; - } else if (!_isInstanceType(newMethod.returnType) && - _isInstanceType(oldMethod.returnType)) { - return oldMethod; - } - - return newMethod; - } - - void addMethod(ObjCMethod method) { - methods[method.originalName] = - _maybeReplaceMethod(methods[method.originalName], method); - } - @override String getCType(Writer w) => PointerType(objCObjectType).getCType(w); @@ -413,100 +360,3 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { return type.getDartType(w); } } - -enum ObjCMethodKind { - method, - propertyGetter, - propertySetter, -} - -class ObjCProperty { - final String originalName; - String? dartName; - - ObjCProperty(this.originalName); -} - -class ObjCMethod { - final String? dartDoc; - final String originalName; - final ObjCProperty? property; - Type returnType; - final List params; - final ObjCMethodKind kind; - final bool isClass; - bool returnsRetained = false; - ObjCInternalGlobal? selObject; - ObjCMsgSendFunc? msgSend; - - ObjCMethod({ - required this.originalName, - this.property, - this.dartDoc, - required this.kind, - required this.isClass, - required this.returnType, - List? params_, - }) : params = params_ ?? []; - - bool get isProperty => - kind == ObjCMethodKind.propertyGetter || - kind == ObjCMethodKind.propertySetter; - - void addDependencies( - Set dependencies, ObjCBuiltInFunctions builtInFunctions) { - returnType.addDependencies(dependencies); - for (final p in params) { - p.type.addDependencies(dependencies); - } - selObject ??= builtInFunctions.getSelObject(originalName) - ..addDependencies(dependencies); - msgSend ??= builtInFunctions.getMsgSendFunc(returnType, params) - ..addDependencies(dependencies); - } - - String _getDartMethodName(UniqueNamer uniqueNamer) { - if (property != null) { - // A getter and a setter are allowed to have the same name, so we can't - // just run the name through uniqueNamer. Instead they need to share - // the dartName, which is run through uniqueNamer. - if (property!.dartName == null) { - property!.dartName = uniqueNamer.makeUnique(property!.originalName); - } - return property!.dartName!; - } - // Objective C methods can look like: - // foo - // foo: - // foo:someArgName: - // So replace all ':' with '_'. - return uniqueNamer.makeUnique(originalName.replaceAll(":", "_")); - } - - bool sameAs(ObjCMethod other) { - if (originalName != other.originalName) return false; - if (kind != other.kind) return false; - if (isClass != other.isClass) return false; - // msgSend is deduped by signature, so this check covers the signature. - return msgSend == other.msgSend; - } - - static final _copyRegExp = RegExp('[cC]opy'); - bool get isOwnedReturn => - returnsRetained || - originalName.startsWith('new') || - originalName.startsWith('alloc') || - originalName.contains(_copyRegExp); - - @override - String toString() => '$returnType $originalName(${params.join(', ')})'; -} - -class ObjCMethodParam { - Type type; - final String name; - ObjCMethodParam(this.type, this.name); - - @override - String toString() => '$type $name'; -} diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart new file mode 100644 index 0000000000..9d607ab75f --- /dev/null +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -0,0 +1,186 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:ffigen/src/code_generator.dart'; +import 'package:logging/logging.dart'; + +import 'binding_string.dart'; +import 'utils.dart'; +import 'writer.dart'; + +final _logger = Logger('ffigen.code_generator.objc_methods'); + +mixin ObjCMethods { + final _methods = {}; + + Iterable get methods => _methods.values; + ObjCMethod? getMethod(String name) => _methods[name]; + + void addMethod(ObjCMethod method) { + _methods[method.originalName] = + _maybeReplaceMethod(getMethod(method.originalName), method); + } + + void addMethodDependencies( + Set dependencies, + ObjCBuiltInFunctions builtInFunctions, { + bool needMsgSend = false, + bool needBlock = false, + }) { + for (final m in methods) { + m.addDependencies(dependencies, builtInFunctions, + needMsgSend: needMsgSend, needBlock: needBlock); + } + } + + static ObjCMethod _maybeReplaceMethod( + ObjCMethod? oldMethod, ObjCMethod newMethod) { + if (oldMethod == null) return newMethod; + + // Typically we ignore duplicate methods. However, property setters and + // getters are duplicated in the AST. One copy is marked with + // ObjCMethodKind.propertyGetter/Setter. The other copy is missing + // important information, and is a plain old instanceMethod. So if the + // existing method is an instanceMethod, and the new one is a property, + // override it. + if (newMethod.isProperty && !oldMethod.isProperty) { + return newMethod; + } else if (!newMethod.isProperty && oldMethod.isProperty) { + // Don't override, but also skip the same method check below. + return oldMethod; + } + + // Check the duplicate is the same method. + if (!newMethod.sameAs(oldMethod)) { + _logger.severe('Duplicate methods with different signatures: ' + '${newMethod.originalName}'); // $originalName. + return newMethod; + } + + // There's a bug in some Apple APIs where an init method that should return + // instancetype has a duplicate definition that instead returns id. In that + // case, use the one that returns instancetype. Note that since instancetype + // is an alias of id, the sameAs check above passes. + if (ObjCBuiltInFunctions.isInstanceType(newMethod.returnType) && + !ObjCBuiltInFunctions.isInstanceType(oldMethod.returnType)) { + return newMethod; + } else if (!ObjCBuiltInFunctions.isInstanceType(newMethod.returnType) && + ObjCBuiltInFunctions.isInstanceType(oldMethod.returnType)) { + return oldMethod; + } + + return newMethod; + } +} + +enum ObjCMethodKind { + method, + propertyGetter, + propertySetter, +} + +class ObjCProperty { + final String originalName; + String? dartName; + + ObjCProperty(this.originalName); +} + +class ObjCMethod { + final String? dartDoc; + final String originalName; + final ObjCProperty? property; + Type returnType; + final List params; + final ObjCMethodKind kind; + final bool isClass; + final bool isOptional; + bool returnsRetained = false; + ObjCInternalGlobal? selObject; + ObjCMsgSendFunc? msgSend; + + ObjCMethod({ + required this.originalName, + this.property, + this.dartDoc, + required this.kind, + required this.isClass, + required this.isOptional, + required this.returnType, + List? params_, + }) : params = params_ ?? []; + + bool get isProperty => + kind == ObjCMethodKind.propertyGetter || + kind == ObjCMethodKind.propertySetter; + + void addDependencies( + Set dependencies, + ObjCBuiltInFunctions builtInFunctions, { + bool needMsgSend = false, + bool needBlock = false, + }) { + returnType.addDependencies(dependencies); + for (final p in params) { + p.type.addDependencies(dependencies); + } + selObject ??= builtInFunctions.getSelObject(originalName) + ..addDependencies(dependencies); + if (needMsgSend) { + msgSend ??= builtInFunctions.getMsgSendFunc(returnType, params) + ..addDependencies(dependencies); + } + if (needBlock) { + // TODO: Generate a block with the same signature. Make sure to dedupe + // (probably need to refactor _getOrCreateBlockType). + } + } + + String getDartMethodName(UniqueNamer uniqueNamer) { + if (property != null) { + // A getter and a setter are allowed to have the same name, so we can't + // just run the name through uniqueNamer. Instead they need to share + // the dartName, which is run through uniqueNamer. + if (property!.dartName == null) { + property!.dartName = uniqueNamer.makeUnique(property!.originalName); + } + return property!.dartName!; + } + // Objective C methods can look like: + // foo + // foo: + // foo:someArgName: + // So replace all ':' with '_'. + return uniqueNamer.makeUnique(originalName.replaceAll(":", "_")); + } + + bool sameAs(ObjCMethod other) { + if (originalName != other.originalName) return false; + if (kind != other.kind) return false; + if (isClass != other.isClass) return false; + if (isOptional != other.isOptional) return false; + // msgSend is deduped by signature, so this check covers the signature. + return msgSend == other.msgSend; + } + + static final _copyRegExp = RegExp('[cC]opy'); + bool get isOwnedReturn => + returnsRetained || + originalName.startsWith('new') || + originalName.startsWith('alloc') || + originalName.contains(_copyRegExp); + + @override + String toString() => + '${isOptional ? "@optional " : ""}$returnType $originalName(${params.join(', ')})'; +} + +class ObjCMethodParam { + Type type; + final String name; + ObjCMethodParam(this.type, this.name); + + @override + String toString() => '$type $name'; +} diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart new file mode 100644 index 0000000000..9327d34963 --- /dev/null +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -0,0 +1,86 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:ffigen/src/code_generator.dart'; +import 'package:logging/logging.dart'; + +import 'binding_string.dart'; +import 'utils.dart'; +import 'writer.dart'; + +class ObjCProtocol extends NoLookUpBinding with ObjCMethods { + final superProtos = []; + + final String lookupName; + final ObjCBuiltInFunctions builtInFunctions; + + ObjCProtocol({ + super.usr, + required String super.originalName, + String? name, + String? lookupName, + super.dartDoc, + required this.builtInFunctions, + }) : lookupName = lookupName ?? originalName, + super(name: name ?? originalName); + + @override + BindingString toBindingString(Writer w) { + final protoMethod = ObjCBuiltInFunctions.protoMethod.gen(w); + final protoBuilder = ObjCBuiltInFunctions.protoBuilder.gen(w); + final dartProxy = ObjCBuiltInFunctions.dartProxy.gen(w); + + final methodArgs = 'args'; + final methodImplementations = 'impl'; + + final mainString = ''' +abstract final class $name { + static $dartProxy build($methodArgs) { + $methodImplementations; + } + + static final someMethod = $protoMethod(); +} +'''; + + return BindingString( + type: BindingStringType.objcProtocol, string: mainString); + } + + @override + void addDependencies(Set dependencies) { + if (dependencies.contains(this)) return; + dependencies.add(this); + print("Adding deps for $originalName : $superProtos"); + + for (final superProto in superProtos) { + superProto.addDependencies(dependencies); + } + + addMethodDependencies(dependencies, builtInFunctions, needBlock: true); + + for (final superProto in superProtos) { + _copyMethodsFromSuperType(superProto); + } + } + + void _copyMethodsFromSuperType(ObjCProtocol superProto) { + if (builtInFunctions.isNSObject(superProto.originalName)) { + // When writing a protocol that doesn't inherit from any other protocols, + // it's typical to have it inherit from NSObject instead. But NSObject has + // heaps of methods that users are very unlikely to want to implement. + return; + } + + // Protocols have very different inheritance semantics than Dart classes. + // So copy across all the methods explicitly, rather than trying to use Dart + // inheritance to get them implicitly. + for (ObjCMethod method in superProto.methods) { + addMethod(method); + } + } + + @override + String toString() => originalName; +} diff --git a/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart b/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart index bbe226e5ce..4658fa5f7a 100644 --- a/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart +++ b/pkgs/ffigen/lib/src/header_parser/clang_bindings/clang_bindings.dart @@ -1187,6 +1187,23 @@ class Clang { _clang_Cursor_getObjCPropertySetterNamePtr .asFunction(); + /// Given a cursor that represents an Objective-C method or property + /// declaration, return non-zero if the declaration was affected by "\@optional". + /// Returns zero if the cursor is not such a declaration or it is "\@required". + int clang_Cursor_isObjCOptional( + CXCursor C, + ) { + return _clang_Cursor_isObjCOptional( + C, + ); + } + + late final _clang_Cursor_isObjCOptionalPtr = + _lookup>( + 'clang_Cursor_isObjCOptional'); + late final _clang_Cursor_isObjCOptional = + _clang_Cursor_isObjCOptionalPtr.asFunction(); + /// Given a cursor that represents a declaration, return the associated /// comment's source range. The range may include multiple consecutive comments /// with whitespace in between. diff --git a/pkgs/ffigen/lib/src/header_parser/includer.dart b/pkgs/ffigen/lib/src/header_parser/includer.dart index ebb7d3d598..009c4e7aca 100644 --- a/pkgs/ffigen/lib/src/header_parser/includer.dart +++ b/pkgs/ffigen/lib/src/header_parser/includer.dart @@ -75,6 +75,11 @@ bool shouldIncludeObjCInterface(String usr, String name) { usr, name, bindingsIndex.isSeenType, config.objcInterfaces.shouldInclude); } +bool shouldIncludeObjCProtocol(String usr, String name) { + return _shouldIncludeDecl(usr, name, bindingsIndex.isSeenObjCProto, + config.objcProtocols.shouldInclude); +} + /// True if a cursor should be included based on headers config, used on root /// declarations. bool shouldIncludeRootCursor(String sourceFile) { diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart index 34cc2ca48e..a909500390 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart @@ -122,6 +122,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { final isReadOnly = propertyAttributes & clang_types.CXObjCPropertyAttrKind.CXObjCPropertyAttr_readonly > 0; + final isOptionalMethod = clang.clang_Cursor_isObjCOptional(cursor) != 0; final property = ObjCProperty(fieldName); @@ -136,6 +137,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { dartDoc: dartDoc, kind: ObjCMethodKind.propertyGetter, isClass: isClass, + isOptional: isOptionalMethod, returnType: fieldType, ); itf.addMethod(getter); @@ -150,6 +152,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { dartDoc: dartDoc, kind: ObjCMethodKind.propertySetter, isClass: isClass, + isOptional: isOptionalMethod, returnType: NativeType(SupportedNativeType.Void)); setter.params.add(ObjCMethodParam(fieldType, 'value')); itf.addMethod(setter); @@ -157,16 +160,17 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { } void _parseInterfaceMethod(clang_types.CXCursor cursor, ObjCInterface itf) { - final method = _parseMethod(cursor, itf.originalName); + final method = parseObjCMethod(cursor, itf.originalName); if (method != null) { itf.addMethod(method); } } -ObjCMethod? _parseMethod(clang_types.CXCursor cursor, String itfName) { +ObjCMethod? parseObjCMethod(clang_types.CXCursor cursor, String itfName) { final methodName = cursor.spelling(); final isClassMethod = cursor.kind == clang_types.CXCursorKind.CXCursor_ObjCClassMethodDecl; + final isOptionalMethod = clang.clang_Cursor_isObjCOptional(cursor) != 0; final returnType = clang.clang_getCursorResultType(cursor).toCodeGenType(); if (returnType.isIncompleteCompound) { _logger.warning('Method "$methodName" in instance ' @@ -179,6 +183,7 @@ ObjCMethod? _parseMethod(clang_types.CXCursor cursor, String itfName) { dartDoc: getCursorDocComment(cursor), kind: ObjCMethodKind.method, isClass: isClassMethod, + isOptional: isOptionalMethod, returnType: returnType, ); _logger.fine(' > ${isClassMethod ? 'Class' : 'Instance'} method: ' @@ -195,6 +200,9 @@ ObjCMethod? _parseMethod(clang_types.CXCursor cursor, String itfName) { method.returnsRetained = true; break; default: + // if (itfName == 'MyProtocol' || itfName == 'SuperProtocol') { + // print("Unknown cursor for $itfName::$method : ${child.completeStringRepr()}"); + // } } }); return hasError ? null : method; diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart index 8de277f80c..839203e2ff 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart @@ -1,4 +1,4 @@ -// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. @@ -15,17 +15,55 @@ import '../utils.dart'; final _logger = Logger('ffigen.header_parser.objcprotocoldecl_parser'); -BindingType? parseObjCProtocolDeclaration(clang_types.CXCursor cursor) { - // ObjCProtocolDecl - // ObjCProtocolRef - // ObjCInstanceMethodDecl +ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, + {bool ignoreFilter = false}) { + if (cursor.kind != clang_types.CXCursorKind.CXCursor_ObjCProtocolDecl) { + return null; + } + + final usr = cursor.usr(); + final cachedProto = bindingsIndex.getSeenObjCProto(usr); + if (cachedProto != null) { + return cachedProto; + } + final name = cursor.spelling(); + if (!ignoreFilter && !shouldIncludeObjCProtocol(usr, name)) { + return null; + } + + final proto = ObjCProtocol( + usr: usr, + originalName: name, + name: config.objcProtocols.renameUsingConfig(name), + lookupName: config.objcProtocolModulePrefixer.applyPrefix(name), + dartDoc: getCursorDocComment(cursor), + builtInFunctions: objCBuiltInFunctions, + ); + + // Make sure to add the proto to the index before parsing the AST, to break + // cycles. + bindingsIndex.addObjCProtoToSeen(usr, proto); + cursor.visitChildren((child) { - if (name == "MyProtocol") { - print(""); - child.printAst(5); + switch (child.kind) { + case clang_types.CXCursorKind.CXCursor_ObjCProtocolRef: + final decl = clang.clang_getCursorDefinition(child); + final superProto = + parseObjCProtocolDeclaration(decl, ignoreFilter: true); + if (superProto != null) { + proto.superProtos.add(superProto); + } + break; + case clang_types.CXCursorKind.CXCursor_ObjCInstanceMethodDecl: + case clang_types.CXCursorKind.CXCursor_ObjCClassMethodDecl: + final method = parseObjCMethod(child, name); + if (method != null) { + proto.addMethod(method); + } + break; } }); - return null; + return proto; } diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index 739339008d..af6eb6c8b7 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -438,6 +438,7 @@ class BindingsIndex { final Map _macros = {}; final Map _globals = {}; final Map _objcBlocks = {}; + final Map _objcProtos = {}; /// Contains usr for typedefs which cannot be generated. final Set _unsupportedTypealiases = {}; @@ -473,6 +474,9 @@ class BindingsIndex { bool? getSeenHeaderStatus(String source) => _headerCache[source]; void addObjCBlockToSeen(String key, ObjCBlock t) => _objcBlocks[key] = t; ObjCBlock? getSeenObjCBlock(String key) => _objcBlocks[key]; + void addObjCProtoToSeen(String usr, ObjCProtocol t) => _objcProtos[usr] = t; + ObjCProtocol? getSeenObjCProto(String usr) => _objcProtos[usr]; + bool isSeenObjCProto(String usr) => _objcProtos.containsKey(usr); } class CursorIndex { diff --git a/pkgs/ffigen/lib/src/strings.dart b/pkgs/ffigen/lib/src/strings.dart index a8c21da61a..731019064a 100644 --- a/pkgs/ffigen/lib/src/strings.dart +++ b/pkgs/ffigen/lib/src/strings.dart @@ -73,7 +73,6 @@ const macros = 'macros'; const typedefs = 'typedefs'; const objcInterfaces = 'objc-interfaces'; const objcProtocols = 'objc-protocols'; -const objcModule = 'objc-module'; const excludeAllByDefault = 'exclude-all-by-default'; const generateForPackageObjectiveC = 'generate-for-package-objective-c'; @@ -94,6 +93,9 @@ const varArgFunctions = 'variadic-arguments'; const postfix = "postfix"; const types = "types"; +// Sub-fields of ObjC interfaces. +const objcModule = 'module'; + const dependencyOnly = 'dependency-only'; // Values for `compoundDependencies`. const fullCompoundDependencies = 'full'; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 3ea0521fb9..d54eaf9ea5 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -13,11 +13,15 @@ int32_t y; } SomeStruct; -@protocol MyProtocol +@protocol SuperProtocol @required - (NSString*)instanceMethod:(NSString*)s withDouble:(double)x; +@end + +@protocol MyProtocol + @optional - (int32_t)optionalMethod:(SomeStruct)s; diff --git a/pkgs/ffigen/tool/libclang_config.yaml b/pkgs/ffigen/tool/libclang_config.yaml index 46e3733342..fc44c16e91 100644 --- a/pkgs/ffigen/tool/libclang_config.yaml +++ b/pkgs/ffigen/tool/libclang_config.yaml @@ -122,6 +122,7 @@ functions: - clang_Cursor_getObjCPropertyAttributes - clang_Cursor_getObjCPropertyGetterName - clang_Cursor_getObjCPropertySetterName + - clang_Cursor_isObjCOptional - clang_Type_getNullability - clang_Type_getModifiedType - clang_Location_isInSystemHeader diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index 1549b4c64d..a7027527c2 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -280,6 +280,15 @@ Function getBlockClosure(Pointer block) { return _blockClosureRegistry[id]!; } +/// Only for use by ffigen bindings. +class ObjCProtocolMethod { + final Pointer _sel; + final objc.NSMethodSignature _sig; + final bool Function(ObjCBlockBase) _isCorrectBlockType; + + ObjCProtocolMethod(this._sel, this._sig, this._isCorrectBlockType); +} + // Not exported by ../objective_c.dart, because they're only for testing. bool blockHasRegisteredClosure(Pointer block) => _blockClosureRegistry.containsKey(block.ref.target.address); diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart new file mode 100644 index 0000000000..aecb47754f --- /dev/null +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -0,0 +1,20 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'c_bindings_generated.dart' as c; +import 'objective_c_bindings_generated.dart' as objc; +import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; + +// TODO: Docs. +class ObjCProtocolBuilder { + final _builder = objc.DartProxyBuilder(); + + void implementMethod(ObjCProtocolMethod method, ObjCBlockBase block) { + assert(method._isCorrectBlockType(block)); + _builder.implementMethod_withSignature_andBlock_( + method._sel, method._sig, block.pointer.cast()); + } + + objc.DartProxy build() => objc.DartProxy.newFromBuilder_(_builder); +} From e5c914f5d7f995345864f7d55b6786deace29085 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Fri, 24 May 2024 14:34:53 +1200 Subject: [PATCH 13/30] Code gen done --- .../lib/src/code_generator/objc_block.dart | 39 ++++++++--- .../objc_built_in_functions.dart | 4 +- .../src/code_generator/objc_interface.dart | 9 +-- .../lib/src/code_generator/objc_methods.dart | 15 +++-- .../lib/src/code_generator/objc_protocol.dart | 65 ++++++++++++++++--- pkgs/ffigen/lib/src/code_generator/utils.dart | 3 +- .../sub_parsers/objc_block_parser.dart | 15 ----- .../type_extractor/extractor.dart | 13 +--- .../test/native_objc_test/protocol_test.dart | 10 +-- pkgs/objective_c/lib/objective_c.dart | 1 + pkgs/objective_c/lib/src/internal.dart | 19 ++++-- .../objective_c/lib/src/protocol_builder.dart | 12 ++-- 12 files changed, 130 insertions(+), 75 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_block.dart b/pkgs/ffigen/lib/src/code_generator/objc_block.dart index 9422e87c82..573f0aa0af 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_block.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_block.dart @@ -3,6 +3,7 @@ // BSD-style license that can be found in the LICENSE file. import 'package:ffigen/src/code_generator.dart'; +import 'package:ffigen/src/header_parser/data.dart' show bindingsIndex; import 'binding_string.dart'; import 'writer.dart'; @@ -11,16 +12,27 @@ class ObjCBlock extends BindingType { final Type returnType; final List argTypes; - ObjCBlock({ - required String usr, + factory ObjCBlock({ required Type returnType, required List argTypes, - }) : this._( - usr: usr, - name: _getBlockName(returnType, argTypes), - returnType: returnType, - argTypes: argTypes, - ); + }) { + final usr = _getBlockUsr(returnType, argTypes); + + final oldBlock = bindingsIndex.getSeenObjCBlock(usr); + if (oldBlock != null) { + return oldBlock; + } + + final block = ObjCBlock._( + usr: usr, + name: _getBlockName(returnType, argTypes), + returnType: returnType, + argTypes: argTypes, + ); + bindingsIndex.addObjCBlockToSeen(usr, block); + + return block; + } ObjCBlock._({ required String super.usr, @@ -39,6 +51,17 @@ class ObjCBlock extends BindingType { type.toString().replaceAll(_illegalNameChar, ''); static final _illegalNameChar = RegExp(r'[^0-9a-zA-Z]'); + static String _getBlockUsr(Type returnType, List argTypes) { + // Create a fake USR code for the block. This code is used to dedupe blocks + // with the same signature. + final usr = StringBuffer(); + usr.write('objcBlock: ${returnType.cacheKey()}'); + for (final type in argTypes) { + usr.write(' ${type.cacheKey()}'); + } + return usr.toString(); + } + @override BindingString toBindingString(Writer w) { final s = StringBuffer(); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index d4b34924e2..d944cf7e60 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -22,9 +22,11 @@ class ObjCBuiltInFunctions { static const newPointerBlock = ObjCImport('newPointerBlock'); static const newClosureBlock = ObjCImport('newClosureBlock'); static const getBlockClosure = ObjCImport('getBlockClosure'); + static const getProtocolMethodSignature = ObjCImport('getProtocolMethodSignature'); + static const getProtocol = ObjCImport('getProtocol'); static const objectBase = ObjCImport('ObjCObjectBase'); static const blockBase = ObjCImport('ObjCBlockBase'); - static const protoMethod = ObjCImport('ObjCProtoMethod'); + static const protoMethod = ObjCImport('ObjCProtocolMethod'); static const protoBuilder = ObjCImport('ObjCProtocolBuilder'); static const dartProxy = ObjCImport('DartProxy'); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 74640bd905..2cf1a173f6 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -74,9 +74,7 @@ class ObjCInterface extends BindingType with ObjCMethods { } final s = StringBuffer(); - if (dartDoc != null) { - s.write(makeDartDoc(dartDoc!)); - } + s.write(makeDartDoc(dartDoc)); final uniqueNamer = UniqueNamer({name, 'pointer'}); @@ -128,10 +126,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { } // The method declaration. - if (m.dartDoc != null) { - s.write(makeDartDoc(m.dartDoc!)); - } - + s.write(makeDartDoc(m.dartDoc)); s.write(' '); if (isStatic) { s.write('static '); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index 9d607ab75f..1e4fd0afc8 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -17,6 +17,8 @@ mixin ObjCMethods { Iterable get methods => _methods.values; ObjCMethod? getMethod(String name) => _methods[name]; + String get originalName; + void addMethod(ObjCMethod method) { _methods[method.originalName] = _maybeReplaceMethod(getMethod(method.originalName), method); @@ -34,7 +36,7 @@ mixin ObjCMethods { } } - static ObjCMethod _maybeReplaceMethod( + ObjCMethod _maybeReplaceMethod( ObjCMethod? oldMethod, ObjCMethod newMethod) { if (oldMethod == null) return newMethod; @@ -54,7 +56,7 @@ mixin ObjCMethods { // Check the duplicate is the same method. if (!newMethod.sameAs(oldMethod)) { _logger.severe('Duplicate methods with different signatures: ' - '${newMethod.originalName}'); // $originalName. + '$originalName.${newMethod.originalName}'); return newMethod; } @@ -99,6 +101,7 @@ class ObjCMethod { bool returnsRetained = false; ObjCInternalGlobal? selObject; ObjCMsgSendFunc? msgSend; + ObjCBlock? block; ObjCMethod({ required this.originalName, @@ -114,6 +117,8 @@ class ObjCMethod { bool get isProperty => kind == ObjCMethodKind.propertyGetter || kind == ObjCMethodKind.propertySetter; + bool get isRequired => !isOptional; + bool get isInstance => !isClass; void addDependencies( Set dependencies, @@ -132,8 +137,10 @@ class ObjCMethod { ..addDependencies(dependencies); } if (needBlock) { - // TODO: Generate a block with the same signature. Make sure to dedupe - // (probably need to refactor _getOrCreateBlockType). + block = ObjCBlock( + returnType: returnType, + argTypes: params.map((p) => p.type).toList(), + )..addDependencies(dependencies); } } diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 9327d34963..5ccdf08229 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -11,9 +11,9 @@ import 'writer.dart'; class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final superProtos = []; - final String lookupName; final ObjCBuiltInFunctions builtInFunctions; + late final _protocolObject; ObjCProtocol({ super.usr, @@ -29,18 +29,58 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { BindingString toBindingString(Writer w) { final protoMethod = ObjCBuiltInFunctions.protoMethod.gen(w); final protoBuilder = ObjCBuiltInFunctions.protoBuilder.gen(w); - final dartProxy = ObjCBuiltInFunctions.dartProxy.gen(w); - - final methodArgs = 'args'; - final methodImplementations = 'impl'; + final objectBase = ObjCBuiltInFunctions.objectBase.gen(w); + final blockBase = ObjCBuiltInFunctions.blockBase.gen(w); + final getSignature = ObjCBuiltInFunctions.getProtocolMethodSignature.gen(w); + + final buildMethodArgs = []; + final buildMethodImplementations = StringBuffer(); + final methodFields = StringBuffer(); + + final uniqueNamer = UniqueNamer({name, 'pointer'}); + + for (final method in methods) { + final methodName = method.getDartMethodName(uniqueNamer); + final fieldName = methodName; + final argName = methodName; + final blockType = method.block!.getDartType(w); + + if (method.isOptional) { + buildMethodArgs.add('$blockType? $argName'); + } else { + buildMethodArgs.add('required $blockType $argName'); + } + + buildMethodImplementations.write(''' + builder.implementMethod($name.$fieldName, $argName);'''); + + methodFields.write(''' + ${makeDartDoc(method.dartDoc)} + static final $fieldName = $protoMethod( + ${method.selObject!.name}, + $getSignature( + ${_protocolObject.name}, + ${method.selObject!.name}, + isRequired: ${method.isRequired}, + isInstance: ${method.isInstance}, + ), + ($blockBase block) => block is $blockType, + ); +'''); + } final mainString = ''' +${makeDartDoc(dartDoc)} abstract final class $name { - static $dartProxy build($methodArgs) { - $methodImplementations; + /// Builds an object that implements the $originalName protocol. To implement + /// multiple protocols, use [$protoBuilder]. + static $objectBase build({${buildMethodArgs.join(', ')}}) { + final builder = $protoBuilder(); + $buildMethodImplementations + return builder.build(); } - static final someMethod = $protoMethod(); + $methodFields } '''; @@ -52,7 +92,10 @@ abstract final class $name { void addDependencies(Set dependencies) { if (dependencies.contains(this)) return; dependencies.add(this); - print("Adding deps for $originalName : $superProtos"); + + _protocolObject = ObjCInternalGlobal('_proto_$originalName', + (Writer w) => '${ObjCBuiltInFunctions.getProtocol.gen(w)}("$lookupName")') + ..addDependencies(dependencies); for (final superProto in superProtos) { superProto.addDependencies(dependencies); @@ -69,7 +112,9 @@ abstract final class $name { if (builtInFunctions.isNSObject(superProto.originalName)) { // When writing a protocol that doesn't inherit from any other protocols, // it's typical to have it inherit from NSObject instead. But NSObject has - // heaps of methods that users are very unlikely to want to implement. + // heaps of methods that users are very unlikely to want to implement, so + // ignore it. If the user really wants to implemnt them they can use the + // ObjCProtocolBuilder. return; } diff --git a/pkgs/ffigen/lib/src/code_generator/utils.dart b/pkgs/ffigen/lib/src/code_generator/utils.dart index f1dfd4da10..8acfde3fc2 100644 --- a/pkgs/ffigen/lib/src/code_generator/utils.dart +++ b/pkgs/ffigen/lib/src/code_generator/utils.dart @@ -66,7 +66,8 @@ class UniqueNamer { /// Converts [text] to a dart doc comment(`///`). /// /// Comment is split on new lines only. -String makeDartDoc(String text) { +String makeDartDoc(String? text) { + if (text == null) return ''; final s = StringBuffer(); s.write('/// '); s.writeAll(text.split('\n'), '\n/// '); diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objc_block_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objc_block_parser.dart index 90ebb05c40..3eadcd254c 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objc_block_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objc_block_parser.dart @@ -4,13 +4,10 @@ import 'package:ffigen/src/code_generator.dart'; import 'package:ffigen/src/header_parser/data.dart'; -import 'package:logging/logging.dart'; import '../clang_bindings/clang_bindings.dart' as clang_types; import '../utils.dart'; -final _logger = Logger('ffigen.header_parser.objc_block_parser'); - ObjCBlock parseObjCBlock(clang_types.CXType cxtype) { final blk = clang.clang_getPointeeType(cxtype); final returnType = clang.clang_getResultType(blk).toCodeGenType(); @@ -19,19 +16,7 @@ ObjCBlock parseObjCBlock(clang_types.CXType cxtype) { for (int i = 0; i < numArgs; ++i) { argTypes.add(clang.clang_getArgType(blk, i).toCodeGenType()); } - - // Create a fake USR code for the block. This code is used to dedupe blocks - // with the same signature. - var usr = 'objcBlock: ${returnType.cacheKey()}'; - for (final type in argTypes) { - usr += ' ${type.cacheKey()}'; - } - - _logger.fine('++++ Adding ObjC block: ' - '${cxtype.completeStringRepr()}, syntheticUsr: $usr'); - return ObjCBlock( - usr: usr.toString(), returnType: returnType, argTypes: argTypes, ); diff --git a/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart b/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart index 079e6573f8..e67f499f37 100644 --- a/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart +++ b/pkgs/ffigen/lib/src/header_parser/type_extractor/extractor.dart @@ -68,7 +68,7 @@ Type getCodeGenType( case clang_types.CXTypeKind.CXType_ObjCSel: return PointerType(objCSelType); case clang_types.CXTypeKind.CXType_BlockPointer: - return _getOrCreateBlockType(cxtype); + return parseObjCBlock(cxtype); } } @@ -171,17 +171,6 @@ Type getCodeGenType( } } -Type _getOrCreateBlockType(clang_types.CXType cxtype) { - final block = parseObjCBlock(cxtype); - final key = block.usr; - final oldBlock = bindingsIndex.getSeenObjCBlock(key); - if (oldBlock != null) { - return oldBlock; - } - bindingsIndex.addObjCBlockToSeen(key, block); - return block; -} - class _CreateTypeFromCursorResult { final Type? type; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index d235cf8b17..84a6fc424e 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -71,7 +71,7 @@ void main() { return 'DartProxy: $s: $x'.toNSString(); }); proxyBuilder.implementMethod_withSignature_andBlock_( - sel, signature!, block.pointer.cast()); + sel, signature, block.pointer.cast()); final optSel = registerName('optionalMethod:'); final optSignature = getProtocolMethodSignature(proto, optSel, @@ -81,7 +81,7 @@ void main() { return s.y - s.x; }); proxyBuilder.implementMethod_withSignature_andBlock_( - optSel, optSignature!, optBlock.pointer.cast()); + optSel, optSignature, optBlock.pointer.cast()); final otherSel = registerName('otherMethod:b:c:d:'); final otherSignature = getProtocolMethodSignature(secondProto, otherSel, @@ -91,7 +91,7 @@ void main() { return a * b * c * d; }); proxyBuilder.implementMethod_withSignature_andBlock_( - otherSel, otherSignature!, otherBlock.pointer.cast()); + otherSel, otherSignature, otherBlock.pointer.cast()); final proxy = DartProxy.newFromBuilder_(proxyBuilder); @@ -134,7 +134,7 @@ void main() { if (count == 1000) completer.complete(); }); proxyBuilder.implementMethod_withSignature_andBlock_( - sel, signature!, block.pointer.cast()); + sel, signature, block.pointer.cast()); final proxy = DartProxy.newFromBuilder_(proxyBuilder); @@ -155,7 +155,7 @@ void main() { final block = DartInstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) => 'Hello'.toNSString()); proxyBuilder.implementMethod_withSignature_andBlock_( - sel, signature!, block.pointer.cast()); + sel, signature, block.pointer.cast()); final proxy = DartProxy.newFromBuilder_(proxyBuilder); diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index 1aeb56f44b..ef26315cc4 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -5,6 +5,7 @@ export 'src/internal.dart' hide blockHasRegisteredClosure; export 'src/ns_data.dart'; export 'src/ns_string.dart'; +export 'src/protocol_builder.dart'; export 'src/c_bindings_generated.dart' show ObjCSelector, diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index a7027527c2..0fb467dfaf 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -41,7 +41,7 @@ Pointer getProtocol(String name) { } /// Only for use by ffigen bindings. -objc.NSMethodSignature? getProtocolMethodSignature( +objc.NSMethodSignature getProtocolMethodSignature( Pointer protocol, Pointer sel, { required bool isRequired, @@ -50,9 +50,14 @@ objc.NSMethodSignature? getProtocolMethodSignature( final sig = c.getMethodDescription(protocol, sel, isRequired, isInstance).types; if (sig == nullptr) { - return null; + throw Exception('Failed to load method of Objective-C protocol'); } - return objc.NSMethodSignature.signatureWithObjCTypes_(sig); + final sigObj = objc.NSMethodSignature.signatureWithObjCTypes_(sig); + if (sigObj == null) { + throw Exception( + 'Failed to construct signature for Objective-C protocol method'); + } + return sigObj; } /// Only for use by ffigen bindings. @@ -282,11 +287,11 @@ Function getBlockClosure(Pointer block) { /// Only for use by ffigen bindings. class ObjCProtocolMethod { - final Pointer _sel; - final objc.NSMethodSignature _sig; - final bool Function(ObjCBlockBase) _isCorrectBlockType; + final Pointer sel; + final objc.NSMethodSignature signature; + final bool Function(ObjCBlockBase) isCorrectBlockType; - ObjCProtocolMethod(this._sel, this._sig, this._isCorrectBlockType); + ObjCProtocolMethod(this.sel, this.signature, this.isCorrectBlockType); } // Not exported by ../objective_c.dart, because they're only for testing. diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart index aecb47754f..6f724a37c5 100644 --- a/pkgs/objective_c/lib/src/protocol_builder.dart +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -8,12 +8,14 @@ import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; // TODO: Docs. class ObjCProtocolBuilder { - final _builder = objc.DartProxyBuilder(); + final _builder = objc.DartProxyBuilder.new1(); - void implementMethod(ObjCProtocolMethod method, ObjCBlockBase block) { - assert(method._isCorrectBlockType(block)); - _builder.implementMethod_withSignature_andBlock_( - method._sel, method._sig, block.pointer.cast()); + void implementMethod(ObjCProtocolMethod method, ObjCBlockBase? block) { + if (block != null) { + assert(method.isCorrectBlockType(block)); + _builder.implementMethod_withSignature_andBlock_( + method.sel, method.signature, block.pointer.cast()); + } } objc.DartProxy build() => objc.DartProxy.newFromBuilder_(_builder); From e339326da881c3f7abab4641c72f3cb650605a91 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Fri, 24 May 2024 15:32:56 +1200 Subject: [PATCH 14/30] Tests --- .../lib/src/code_generator/objc_methods.dart | 19 +++-- .../lib/src/code_generator/objc_protocol.dart | 4 +- .../native_objc_test/protocol_config.yaml | 12 --- .../test/native_objc_test/protocol_test.dart | 80 +++++++++++++++++-- .../test/native_objc_test/protocol_test.m | 11 --- .../objective_c/lib/src/protocol_builder.dart | 12 ++- 6 files changed, 100 insertions(+), 38 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index 1e4fd0afc8..c2aa3c5526 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -28,11 +28,11 @@ mixin ObjCMethods { Set dependencies, ObjCBuiltInFunctions builtInFunctions, { bool needMsgSend = false, - bool needBlock = false, + bool needProtocolBlock = false, }) { for (final m in methods) { m.addDependencies(dependencies, builtInFunctions, - needMsgSend: needMsgSend, needBlock: needBlock); + needMsgSend: needMsgSend, needProtocolBlock: needProtocolBlock); } } @@ -101,7 +101,7 @@ class ObjCMethod { bool returnsRetained = false; ObjCInternalGlobal? selObject; ObjCMsgSendFunc? msgSend; - ObjCBlock? block; + ObjCBlock? protocolBlock; ObjCMethod({ required this.originalName, @@ -124,7 +124,7 @@ class ObjCMethod { Set dependencies, ObjCBuiltInFunctions builtInFunctions, { bool needMsgSend = false, - bool needBlock = false, + bool needProtocolBlock = false, }) { returnType.addDependencies(dependencies); for (final p in params) { @@ -136,10 +136,15 @@ class ObjCMethod { msgSend ??= builtInFunctions.getMsgSendFunc(returnType, params) ..addDependencies(dependencies); } - if (needBlock) { - block = ObjCBlock( + if (needProtocolBlock) { + final argTypes = [ + // First arg of the protocol block is a void pointer that we ignore. + PointerType(voidType), + ...params.map((p) => p.type), + ]; + protocolBlock = ObjCBlock( returnType: returnType, - argTypes: params.map((p) => p.type).toList(), + argTypes: argTypes, )..addDependencies(dependencies); } } diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 5ccdf08229..b893b11073 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -43,7 +43,7 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final methodName = method.getDartMethodName(uniqueNamer); final fieldName = methodName; final argName = methodName; - final blockType = method.block!.getDartType(w); + final blockType = method.protocolBlock!.getDartType(w); if (method.isOptional) { buildMethodArgs.add('$blockType? $argName'); @@ -101,7 +101,7 @@ abstract final class $name { superProto.addDependencies(dependencies); } - addMethodDependencies(dependencies, builtInFunctions, needBlock: true); + addMethodDependencies(dependencies, builtInFunctions, needProtocolBlock: true); for (final superProto in superProtos) { _copyMethodsFromSuperType(superProto); diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index 37778f3fd4..3ab83cc71c 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -8,18 +8,6 @@ objc-interfaces: - ProtocolConsumer - ObjCProtocolImpl - ObjCProtocolImplMissingMethod -typedefs: - include: - - InstanceMethodBlock - - OptMethodBlock - - VoidMethodBlock - - OtherMethodBlock -functions: - include: - - forceCodeGenOfInstanceMethodBlock - - forceCodeGenOfOptMethodBlock - - forceCodeGenOfVoidMethodBlock - - forceCodeGenOfOtherMethodBlock objc-protocols: include: - MyProtocol diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 84a6fc424e..f34fa86771 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -16,6 +16,11 @@ import '../test_utils.dart'; import 'protocol_bindings.dart'; import 'util.dart'; +typedef InstanceMethodBlock = ObjCBlock_NSString_ffiVoid_NSString_ffiDouble; +typedef OptionalMethodBlock = ObjCBlock_Int32_ffiVoid_SomeStruct; +typedef VoidMethodBlock = ObjCBlock_ffiVoid_ffiVoid_Int32; +typedef OtherMethodBlock = ObjCBlock_Int32_ffiVoid_Int32_Int32_Int32_Int32; + void main() { group('protocol', () { setUpAll(() { @@ -56,6 +61,71 @@ void main() { }); }); + group('Dart implementation using helpers', () { + test('Method implementation', () { + final consumer = ProtocolConsumer.new1(); + + final myProto = MyProtocol.build( + instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( + (Pointer p, NSString s, double x) { + return 'MyProtocol: $s: $x'.toNSString(); + }), + optionalMethod_: + OptionalMethodBlock.fromFunction((Pointer p, SomeStruct s) { + return s.y - s.x; + }), + ); + + // Required instance method. + final result = consumer.callInstanceMethod_(myProto); + expect(result.toString(), 'MyProtocol: Hello from ObjC: 3.14'); + + // Optional instance method. + final intResult = consumer.callOptionalMethod_(myProto); + expect(intResult, 333); + }); + + test('Multiple protocol implementation', () { + final consumer = ProtocolConsumer.new1(); + + final protoBuilder = ObjCProtocolBuilder(); + protoBuilder.implementMethod(MyProtocol.instanceMethod_withDouble_, + InstanceMethodBlock.fromFunction( + (Pointer p, NSString s, double x) { + return 'ProtoBuilder: $s: $x'.toNSString(); + })); + protoBuilder.implementMethod(SecondaryProtocol.otherMethod_b_c_d_, + OtherMethodBlock.fromFunction( + (Pointer p, int a, int b, int c, int d) { + return a * b * c * d; + })); + final protoImpl = protoBuilder.build(); + + // Required instance method. + final result = consumer.callInstanceMethod_(protoImpl); + expect(result.toString(), 'ProtoBuilder: Hello from ObjC: 3.14'); + + // Required instance method from secondary protocol. + final otherIntResult = consumer.callOtherMethod_(protoImpl); + expect(otherIntResult, 24); + }); + + test('Unimplemented method', () { + final consumer = ProtocolConsumer.new1(); + + final myProto = MyProtocol.build( + instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( + (Pointer p, NSString s, double x) { + throw UnimplementedError(); + }), + ); + + // Optional instance method, not implemented. + final intResult = consumer.callOptionalMethod_(myProto); + expect(intResult, -999); + }); + }); + group('Manual DartProxy implementation', () { test('Method implementation', () { final proxyBuilder = DartProxyBuilder.new1(); @@ -66,7 +136,7 @@ void main() { final sel = registerName('instanceMethod:withDouble:'); final signature = getProtocolMethodSignature(proto, sel, isRequired: true, isInstance: true); - final block = DartInstanceMethodBlock.fromFunction( + final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { return 'DartProxy: $s: $x'.toNSString(); }); @@ -77,7 +147,7 @@ void main() { final optSignature = getProtocolMethodSignature(proto, optSel, isRequired: false, isInstance: true); final optBlock = - DartOptMethodBlock.fromFunction((Pointer p, SomeStruct s) { + OptionalMethodBlock.fromFunction((Pointer p, SomeStruct s) { return s.y - s.x; }); proxyBuilder.implementMethod_withSignature_andBlock_( @@ -86,7 +156,7 @@ void main() { final otherSel = registerName('otherMethod:b:c:d:'); final otherSignature = getProtocolMethodSignature(secondProto, otherSel, isRequired: true, isInstance: true); - final otherBlock = DartOtherMethodBlock.fromFunction( + final otherBlock = OtherMethodBlock.fromFunction( (Pointer p, int a, int b, int c, int d) { return a * b * c * d; }); @@ -128,7 +198,7 @@ void main() { final sel = registerName('voidMethod:'); final signature = getProtocolMethodSignature(proto, sel, isRequired: false, isInstance: true); - final block = DartVoidMethodBlock.listener((Pointer p, int x) { + final block = VoidMethodBlock.listener((Pointer p, int x) { expect(x, 123); ++count; if (count == 1000) completer.complete(); @@ -152,7 +222,7 @@ void main() { final sel = registerName('instanceMethod:withDouble:'); final signature = getProtocolMethodSignature(proto, sel, isRequired: true, isInstance: true); - final block = DartInstanceMethodBlock.fromFunction( + final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) => 'Hello'.toNSString()); proxyBuilder.implementMethod_withSignature_andBlock_( sel, signature, block.pointer.cast()); diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index d54eaf9ea5..ab4be9deb5 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -99,14 +99,3 @@ - (NSString *)instanceMethod:(NSString *)s withDouble:(double)x { return @"ObjCProtocolImplMissingMethod"; } @end - - -// TODO(https://github.com/dart-lang/native/issues/1040): Delete these. -typedef NSString* (^InstanceMethodBlock)(void*, NSString*, double); -void forceCodeGenOfInstanceMethodBlock(InstanceMethodBlock block); -typedef int32_t (^OptMethodBlock)(void*, SomeStruct); -void forceCodeGenOfOptMethodBlock(OptMethodBlock block); -typedef void (^VoidMethodBlock)(void*, int32_t); -void forceCodeGenOfVoidMethodBlock(VoidMethodBlock block); -typedef int32_t (^OtherMethodBlock)(void*, int32_t a, int32_t b, int32_t c, int32_t d); -void forceCodeGenOfOtherMethodBlock(OtherMethodBlock block); diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart index 6f724a37c5..2093ef2cb3 100644 --- a/pkgs/objective_c/lib/src/protocol_builder.dart +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -6,10 +6,16 @@ import 'c_bindings_generated.dart' as c; import 'objective_c_bindings_generated.dart' as objc; import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; -// TODO: Docs. +/// Helper class for building Objective C objects that implement protocols. class ObjCProtocolBuilder { final _builder = objc.DartProxyBuilder.new1(); + /// Implement a protocol [method] using a [block]. + /// + /// The recommended way of getting the [method] object is to use ffigen to + /// generate bindings for the protocol you want to implement. The generated + /// bindings will include a [ObjCProtocolMethod] for each method of the + /// protocol. void implementMethod(ObjCProtocolMethod method, ObjCBlockBase? block) { if (block != null) { assert(method.isCorrectBlockType(block)); @@ -18,5 +24,9 @@ class ObjCProtocolBuilder { } } + /// Builds the object. + /// + /// This can be called multiple times to construct multiple object instances + /// that all implement the same protocol methods using the same blocks. objc.DartProxy build() => objc.DartProxy.newFromBuilder_(_builder); } From 0f3e08b583edfeb444446f7c00249f723827ab63 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Fri, 24 May 2024 15:41:53 +1200 Subject: [PATCH 15/30] Fix analysis --- pkgs/objective_c/lib/src/protocol_builder.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart index 2093ef2cb3..55aa73492c 100644 --- a/pkgs/objective_c/lib/src/protocol_builder.dart +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -2,7 +2,6 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'c_bindings_generated.dart' as c; import 'objective_c_bindings_generated.dart' as objc; import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; From 2db2be0c2d7301813ee005aff14b6f15362472fa Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Mon, 27 May 2024 10:32:34 +1200 Subject: [PATCH 16/30] Readmes and changelogs --- pkgs/ffigen/CHANGELOG.md | 2 ++ pkgs/ffigen/README.md | 15 ++++++++++----- pkgs/objective_c/CHANGELOG.md | 8 +++++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pkgs/ffigen/CHANGELOG.md b/pkgs/ffigen/CHANGELOG.md index 31a42fa9a2..7b59b04d30 100644 --- a/pkgs/ffigen/CHANGELOG.md +++ b/pkgs/ffigen/CHANGELOG.md @@ -3,6 +3,8 @@ - __Breaking change__: Code-gen the ObjC `id` type to `ObjCObjectBase` rather than `NSObject`, since not all ObjC classes inherit from `NSObject`. Eg `NSProxy`. +- Added support for implementing ObjC protocols from Dart. Use the + `objc-protocols` config option to generate bindings for a protocol. ## 12.0.0 diff --git a/pkgs/ffigen/README.md b/pkgs/ffigen/README.md index 6a62a64086..243fa5593b 100644 --- a/pkgs/ffigen/README.md +++ b/pkgs/ffigen/README.md @@ -630,11 +630,12 @@ import: - objc-interfaces + objc-interfaces

objc-protocols - Filters for interface declarations. This option works the same as other - declaration filters like `functions` and `structs`. + Filters for Objective C interface and protocol declarations. This option + works the same as other declaration filters like `functions` and + `structs`. @@ -651,6 +652,10 @@ objc-interfaces: rename: # Removes '_' prefix from interface names. '_(.*)': '$1' +objc-protocols: + include: + # Generates bindings for a specific protocol. + - MyProtocol ``` @@ -658,10 +663,10 @@ objc-interfaces: - objc-interfaces -> module + objc-interfaces -> module

objc-protocols -> module - Adds a module prefix to the class name when loading the class + Adds a module prefix to the interface/protocol name when loading it from the dylib. This is only relevent for ObjC headers that are generated wrappers for a Swift library. See example/swift for more information. diff --git a/pkgs/objective_c/CHANGELOG.md b/pkgs/objective_c/CHANGELOG.md index 0efffd9c04..54b26bb669 100644 --- a/pkgs/objective_c/CHANGELOG.md +++ b/pkgs/objective_c/CHANGELOG.md @@ -1,7 +1,13 @@ ## 1.1.0-wip - Add `DartProxy`, which is an implementation of `NSProxy` that allows - implementing ObjC protocols from Dart. + implementing ObjC protocols from Dart. Also add `DartProxyBuilder`, for + building `DartProxy`s. +- Add `ObjCProtocolBuilder`, which is an ergonomic wrapper around + `DartProxyBuilder`. +- Add `ObjCProtocolMethod`, which contains all the information that + `ObjCProtocolBuilder` needs to implement a method. These objects are created + by the ffigen bindings for a protocol. ## 1.0.1 From 097ebf5170e3cc6ef2f0518a1b255d84cf15594d Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 29 May 2024 09:57:09 +1200 Subject: [PATCH 17/30] Fix analysis --- pkgs/ffigen/ffigen.schema.json | 25 +++++++++++++++++-- .../objc_built_in_functions.dart | 3 ++- .../src/code_generator/objc_interface.dart | 3 --- .../lib/src/code_generator/objc_methods.dart | 5 +--- .../lib/src/code_generator/objc_protocol.dart | 18 +++++++------ .../lib/src/config_provider/config.dart | 14 ++++++----- .../sub_parsers/objcprotocoldecl_parser.dart | 8 +++--- pkgs/ffigen/tool/generate_json_schema.dart | 2 +- 8 files changed, 50 insertions(+), 28 deletions(-) diff --git a/pkgs/ffigen/ffigen.schema.json b/pkgs/ffigen/ffigen.schema.json index a6777c2951..0da1309c68 100644 --- a/pkgs/ffigen/ffigen.schema.json +++ b/pkgs/ffigen/ffigen.schema.json @@ -330,7 +330,28 @@ "$ref": "#/$defs/memberRename" }, "module": { - "$ref": "#/$defs/objcInterfaceModule" + "$ref": "#/$defs/objcModule" + } + } + }, + "objc-protocols": { + "type": "object", + "additionalProperties": false, + "properties": { + "include": { + "$ref": "#/$defs/fullMatchOrRegexpList" + }, + "exclude": { + "$ref": "#/$defs/fullMatchOrRegexpList" + }, + "rename": { + "$ref": "#/$defs/rename" + }, + "member-rename": { + "$ref": "#/$defs/memberRename" + }, + "module": { + "$ref": "#/$defs/objcModule" } } }, @@ -489,7 +510,7 @@ "opaque" ] }, - "objcInterfaceModule": { + "objcModule": { "type": "object", "patternProperties": { ".*": { diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index d944cf7e60..07e8a1f436 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -22,7 +22,8 @@ class ObjCBuiltInFunctions { static const newPointerBlock = ObjCImport('newPointerBlock'); static const newClosureBlock = ObjCImport('newClosureBlock'); static const getBlockClosure = ObjCImport('getBlockClosure'); - static const getProtocolMethodSignature = ObjCImport('getProtocolMethodSignature'); + static const getProtocolMethodSignature = + ObjCImport('getProtocolMethodSignature'); static const getProtocol = ObjCImport('getProtocol'); static const objectBase = ObjCImport('ObjCObjectBase'); static const blockBase = ObjCImport('ObjCBlockBase'); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 2cf1a173f6..0b1c19bdad 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:ffigen/src/code_generator.dart'; -import 'package:logging/logging.dart'; import 'binding_string.dart'; import 'utils.dart'; @@ -34,8 +33,6 @@ const _excludedNSObjectClassMethods = { 'version', }; -final _logger = Logger('ffigen.code_generator.objc_interface'); - class ObjCInterface extends BindingType with ObjCMethods { ObjCInterface? superType; bool filled = false; diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index c2aa3c5526..709471db1f 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -5,9 +5,7 @@ import 'package:ffigen/src/code_generator.dart'; import 'package:logging/logging.dart'; -import 'binding_string.dart'; import 'utils.dart'; -import 'writer.dart'; final _logger = Logger('ffigen.code_generator.objc_methods'); @@ -36,8 +34,7 @@ mixin ObjCMethods { } } - ObjCMethod _maybeReplaceMethod( - ObjCMethod? oldMethod, ObjCMethod newMethod) { + ObjCMethod _maybeReplaceMethod(ObjCMethod? oldMethod, ObjCMethod newMethod) { if (oldMethod == null) return newMethod; // Typically we ignore duplicate methods. However, property setters and diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index b893b11073..99142bef97 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -3,7 +3,6 @@ // BSD-style license that can be found in the LICENSE file. import 'package:ffigen/src/code_generator.dart'; -import 'package:logging/logging.dart'; import 'binding_string.dart'; import 'utils.dart'; @@ -13,7 +12,7 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final superProtos = []; final String lookupName; final ObjCBuiltInFunctions builtInFunctions; - late final _protocolObject; + late final ObjCInternalGlobal _protocolPointer; ObjCProtocol({ super.usr, @@ -59,7 +58,7 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { static final $fieldName = $protoMethod( ${method.selObject!.name}, $getSignature( - ${_protocolObject.name}, + ${_protocolPointer.name}, ${method.selObject!.name}, isRequired: ${method.isRequired}, isInstance: ${method.isInstance}, @@ -93,15 +92,18 @@ abstract final class $name { if (dependencies.contains(this)) return; dependencies.add(this); - _protocolObject = ObjCInternalGlobal('_proto_$originalName', - (Writer w) => '${ObjCBuiltInFunctions.getProtocol.gen(w)}("$lookupName")') + _protocolPointer = ObjCInternalGlobal( + '_proto_$originalName', + (Writer w) => + '${ObjCBuiltInFunctions.getProtocol.gen(w)}("$lookupName")') ..addDependencies(dependencies); for (final superProto in superProtos) { superProto.addDependencies(dependencies); } - addMethodDependencies(dependencies, builtInFunctions, needProtocolBlock: true); + addMethodDependencies(dependencies, builtInFunctions, + needProtocolBlock: true); for (final superProto in superProtos) { _copyMethodsFromSuperType(superProto); @@ -113,7 +115,7 @@ abstract final class $name { // When writing a protocol that doesn't inherit from any other protocols, // it's typical to have it inherit from NSObject instead. But NSObject has // heaps of methods that users are very unlikely to want to implement, so - // ignore it. If the user really wants to implemnt them they can use the + // ignore it. If the user really wants to implement them they can use the // ObjCProtocolBuilder. return; } @@ -121,7 +123,7 @@ abstract final class $name { // Protocols have very different inheritance semantics than Dart classes. // So copy across all the methods explicitly, rather than trying to use Dart // inheritance to get them implicitly. - for (ObjCMethod method in superProto.methods) { + for (final method in superProto.methods) { addMethod(method); } } diff --git a/pkgs/ffigen/lib/src/config_provider/config.dart b/pkgs/ffigen/lib/src/config_provider/config.dart index 4cd115a699..fe0079f10d 100644 --- a/pkgs/ffigen/lib/src/config_provider/config.dart +++ b/pkgs/ffigen/lib/src/config_provider/config.dart @@ -160,11 +160,13 @@ class Config { late StructPackingOverride _structPackingOverride; /// Module prefixes for ObjC interfaces. - ObjCModulePrefixer get objcInterfaceModulePrefixer => _objcInterfaceModulePrefixer; + ObjCModulePrefixer get objcInterfaceModulePrefixer => + _objcInterfaceModulePrefixer; late ObjCModulePrefixer _objcInterfaceModulePrefixer; /// Module prefixes for ObjC protocols. - ObjCModulePrefixer get objcProtocolModulePrefixer => _objcProtocolModulePrefixer; + ObjCModulePrefixer get objcProtocolModulePrefixer => + _objcProtocolModulePrefixer; late ObjCModulePrefixer _objcProtocolModulePrefixer; /// Name of the wrapper class. @@ -541,8 +543,8 @@ class Config { result: (node) { _objcInterfaces = declarationConfigExtractor( node.value as Map); - _objcInterfaceModulePrefixer = (node.value as Map)[strings.objcModule] - as ObjCModulePrefixer; + _objcInterfaceModulePrefixer = (node.value + as Map)[strings.objcModule] as ObjCModulePrefixer; }, )), HeterogeneousMapEntry( @@ -561,8 +563,8 @@ class Config { result: (node) { _objcProtocols = declarationConfigExtractor( node.value as Map); - _objcProtocolModulePrefixer = (node.value as Map)[strings.objcModule] - as ObjCModulePrefixer; + _objcProtocolModulePrefixer = (node.value + as Map)[strings.objcModule] as ObjCModulePrefixer; }, )), HeterogeneousMapEntry( diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart index 839203e2ff..915634f84d 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart @@ -2,16 +2,14 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'dart:ffi'; - import 'package:ffigen/src/code_generator.dart'; import 'package:ffigen/src/header_parser/data.dart'; import 'package:logging/logging.dart'; -import 'objcinterfacedecl_parser.dart'; import '../clang_bindings/clang_bindings.dart' as clang_types; import '../includer.dart'; import '../utils.dart'; +import 'objcinterfacedecl_parser.dart'; final _logger = Logger('ffigen.header_parser.objcprotocoldecl_parser'); @@ -33,6 +31,9 @@ ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, return null; } + _logger.fine('++++ Adding ObjC protocol: ' + 'Name: $name, ${cursor.completeStringRepr()}'); + final proto = ObjCProtocol( usr: usr, originalName: name, @@ -50,6 +51,7 @@ ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, switch (child.kind) { case clang_types.CXCursorKind.CXCursor_ObjCProtocolRef: final decl = clang.clang_getCursorDefinition(child); + _logger.fine(' > Super protocol: ${decl.completeStringRepr()}'); final superProto = parseObjCProtocolDeclaration(decl, ignoreFilter: true); if (superProto != null) { diff --git a/pkgs/ffigen/tool/generate_json_schema.dart b/pkgs/ffigen/tool/generate_json_schema.dart index 7a5a030c7b..99b1b9ef6e 100644 --- a/pkgs/ffigen/tool/generate_json_schema.dart +++ b/pkgs/ffigen/tool/generate_json_schema.dart @@ -4,7 +4,7 @@ // ================== GENERATING JSON SCHEMA ===================== // cd to project's root, and run - -// dart generate_json_schema.dart +// dart tool/generate_json_schema.dart // =============================================================== import 'dart:convert'; import 'dart:io'; From a13964987a7f81225af73938ca1c95058ea91761 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 29 May 2024 10:12:27 +1200 Subject: [PATCH 18/30] Rename build to implement, and add addToBuilder method --- .../lib/src/code_generator/objc_protocol.dart | 11 +++++-- .../test/native_objc_test/protocol_test.dart | 29 +++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 99142bef97..0120762f47 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -68,17 +68,24 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { '''); } + final args = buildMethodArgs.join(', '); final mainString = ''' ${makeDartDoc(dartDoc)} abstract final class $name { /// Builds an object that implements the $originalName protocol. To implement - /// multiple protocols, use [$protoBuilder]. - static $objectBase build({${buildMethodArgs.join(', ')}}) { + /// multiple protocols, use [addToBuilder] or [$protoBuilder] directly. + static $objectBase implement({$args}) { final builder = $protoBuilder(); $buildMethodImplementations return builder.build(); } + /// Adds the implementation of the $originalName protocol to an existing + /// [$protoBuilder]. + static void addToBuilder($protoBuilder builder, {$args}) { + $buildMethodImplementations + } + $methodFields } '''; diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index f34fa86771..a98b812f4a 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -65,7 +65,7 @@ void main() { test('Method implementation', () { final consumer = ProtocolConsumer.new1(); - final myProto = MyProtocol.build( + final myProto = MyProtocol.implement( instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { return 'MyProtocol: $s: $x'.toNSString(); @@ -88,6 +88,31 @@ void main() { test('Multiple protocol implementation', () { final consumer = ProtocolConsumer.new1(); + final protoBuilder = ObjCProtocolBuilder(); + MyProtocol.addToBuilder(protoBuilder, instanceMethod_withDouble_: + InstanceMethodBlock.fromFunction( + (Pointer p, NSString s, double x) { + return 'ProtoBuilder: $s: $x'.toNSString(); + })); + SecondaryProtocol.addToBuilder(protoBuilder, otherMethod_b_c_d_: + OtherMethodBlock.fromFunction( + (Pointer p, int a, int b, int c, int d) { + return a * b * c * d; + })); + final protoImpl = protoBuilder.build(); + + // Required instance method. + final result = consumer.callInstanceMethod_(protoImpl); + expect(result.toString(), 'ProtoBuilder: Hello from ObjC: 3.14'); + + // Required instance method from secondary protocol. + final otherIntResult = consumer.callOtherMethod_(protoImpl); + expect(otherIntResult, 24); + }); + + test('Multiple protocol implementation using method fields', () { + final consumer = ProtocolConsumer.new1(); + final protoBuilder = ObjCProtocolBuilder(); protoBuilder.implementMethod(MyProtocol.instanceMethod_withDouble_, InstanceMethodBlock.fromFunction( @@ -113,7 +138,7 @@ void main() { test('Unimplemented method', () { final consumer = ProtocolConsumer.new1(); - final myProto = MyProtocol.build( + final myProto = MyProtocol.implement( instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { throw UnimplementedError(); From 4ded588e81a8128dc6de48c8be74214eef4c33c1 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 29 May 2024 13:52:30 +1200 Subject: [PATCH 19/30] Fix bugs during cupertino_http's codegen --- .../lib/src/code_generator/objc_protocol.dart | 20 +++++++++---------- .../lib/src/code_generator/typealias.dart | 12 ++++++++--- .../native_objc_test/protocol_config.yaml | 1 + .../test/native_objc_test/protocol_test.m | 6 ++++++ 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 0120762f47..7e970b3eb6 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -32,8 +32,8 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final blockBase = ObjCBuiltInFunctions.blockBase.gen(w); final getSignature = ObjCBuiltInFunctions.getProtocolMethodSignature.gen(w); - final buildMethodArgs = []; - final buildMethodImplementations = StringBuffer(); + final buildArgs = []; + final buildImplementations = StringBuffer(); final methodFields = StringBuffer(); final uniqueNamer = UniqueNamer({name, 'pointer'}); @@ -45,12 +45,12 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final blockType = method.protocolBlock!.getDartType(w); if (method.isOptional) { - buildMethodArgs.add('$blockType? $argName'); + buildArgs.add('$blockType? $argName'); } else { - buildMethodArgs.add('required $blockType $argName'); + buildArgs.add('required $blockType $argName'); } - buildMethodImplementations.write(''' + buildImplementations.write(''' builder.implementMethod($name.$fieldName, $argName);'''); methodFields.write(''' @@ -68,22 +68,22 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { '''); } - final args = buildMethodArgs.join(', '); + final args = buildArgs.isEmpty ? '' : '{${buildArgs.join(', ')}}'; final mainString = ''' ${makeDartDoc(dartDoc)} abstract final class $name { /// Builds an object that implements the $originalName protocol. To implement /// multiple protocols, use [addToBuilder] or [$protoBuilder] directly. - static $objectBase implement({$args}) { + static $objectBase implement($args) { final builder = $protoBuilder(); - $buildMethodImplementations + $buildImplementations return builder.build(); } /// Adds the implementation of the $originalName protocol to an existing /// [$protoBuilder]. - static void addToBuilder($protoBuilder builder, {$args}) { - $buildMethodImplementations + static void addToBuilder($protoBuilder builder, $args) { + $buildImplementations } $methodFields diff --git a/pkgs/ffigen/lib/src/code_generator/typealias.dart b/pkgs/ffigen/lib/src/code_generator/typealias.dart index 0112d3463d..4324e7e586 100644 --- a/pkgs/ffigen/lib/src/code_generator/typealias.dart +++ b/pkgs/ffigen/lib/src/code_generator/typealias.dart @@ -221,7 +221,13 @@ class ObjCInstanceType extends Typealias { required bool objCRetain, String? objCEnclosingClass, }) => - // objCEnclosingClass must be present, because instancetype can only - // occur inside a class. - ObjCInterface.generateConstructor(objCEnclosingClass!, value, objCRetain); + objCEnclosingClass == null + ? super.convertFfiDartTypeToDartType( + w, + value, + objCRetain: objCRetain, + objCEnclosingClass: objCEnclosingClass, + ) + : ObjCInterface.generateConstructor( + objCEnclosingClass, value, objCRetain); } diff --git a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml index 3ab83cc71c..8bc5cd3c8d 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_config.yaml +++ b/pkgs/ffigen/test/native_objc_test/protocol_config.yaml @@ -10,6 +10,7 @@ objc-interfaces: - ObjCProtocolImplMissingMethod objc-protocols: include: + - EmptyProtocol - MyProtocol - SecondaryProtocol headers: diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index ab4be9deb5..9366a358e6 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -36,6 +36,12 @@ @protocol SecondaryProtocol @required - (int32_t)otherMethod:(int32_t)a b:(int32_t)b c:(int32_t)c d:(int32_t)d; +@optional +- (nullable instancetype)returnsInstanceType; + +@end + +@protocol EmptyProtocol @end From 708cb416745e27593bedd5ce58bae31b893eec26 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 30 May 2024 12:12:43 +1200 Subject: [PATCH 20/30] More bug cupertino fixes --- .../sub_parsers/objcinterfacedecl_parser.dart | 5 +- pkgs/ffigen/lib/src/header_parser/utils.dart | 11 +- .../src/objective_c_bindings_generated.dart | 632 +++++++++--------- 3 files changed, 322 insertions(+), 326 deletions(-) diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart index a909500390..31fd1cdb38 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart @@ -81,7 +81,7 @@ bool _isClassDeclaration(clang_types.CXCursor cursor) { // It's a class declaration if it has no children other than ObjCClassRef. bool result = true; cursor.visitChildrenMayBreak((child) { - if (cursor.kind == clang_types.CXCursorKind.CXCursor_ObjCClassRef) { + if (child.kind == clang_types.CXCursorKind.CXCursor_ObjCClassRef) { return true; } result = false; @@ -200,9 +200,6 @@ ObjCMethod? parseObjCMethod(clang_types.CXCursor cursor, String itfName) { method.returnsRetained = true; break; default: - // if (itfName == 'MyProtocol' || itfName == 'SuperProtocol') { - // print("Unknown cursor for $itfName::$method : ${child.completeStringRepr()}"); - // } } }); return hasError ? null : method; diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index af6eb6c8b7..9a11d68463 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -184,14 +184,14 @@ extension CXCursorExt on clang_types.CXCursor { bool visitChildrenMayRecurse( int Function(clang_types.CXCursor child, clang_types.CXCursor parent) callback) { - final protocolVisitor = NativeCallable<_CursorVisitorCallback>.isolateLocal( + final visitor = NativeCallable<_CursorVisitorCallback>.isolateLocal( (clang_types.CXCursor child, clang_types.CXCursor parent, Pointer clientData) => callback(child, parent), exceptionalReturn: exceptional_visitor_return); final result = clang.clang_visitChildren( - this, protocolVisitor.nativeFunction, nullptr); - protocolVisitor.close(); + this, visitor.nativeFunction, nullptr); + visitor.close(); return result == 0; } @@ -214,13 +214,12 @@ extension CXCursorExt on clang_types.CXCursor { /// Recursively print the AST, for debugging. void printAst([int maxDepth = 3]) => _printAst(maxDepth, 0); - bool _printAst(int maxDepth, int depth) { + void _printAst(int maxDepth, int depth) { if (depth > maxDepth) { - return false; + return; } print((' ' * depth) + completeStringRepr()); visitChildren((child) => child._printAst(maxDepth, depth + 1)); - return true; } } diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index 325543ad28..e24ab42141 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -855,13 +855,13 @@ class NSString extends NSObject { } NSString stringByAppendingString_(NSString aString) { - final _ret = _objc_msgSend_103( + final _ret = _objc_msgSend_104( this.pointer, _sel_stringByAppendingString_, aString.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString stringByAppendingFormat_(NSString format) { - final _ret = _objc_msgSend_103( + final _ret = _objc_msgSend_104( this.pointer, _sel_stringByAppendingFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -1026,7 +1026,7 @@ class NSString extends NSObject { } bool canBeConvertedToEncoding_(int encoding) { - return _objc_msgSend_123( + return _objc_msgSend_124( this.pointer, _sel_canBeConvertedToEncoding_, encoding); } @@ -1061,12 +1061,12 @@ class NSString extends NSObject { } int maximumLengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_120( + return _objc_msgSend_121( this.pointer, _sel_maximumLengthOfBytesUsingEncoding_, enc); } int lengthOfBytesUsingEncoding_(int enc) { - return _objc_msgSend_120( + return _objc_msgSend_121( this.pointer, _sel_lengthOfBytesUsingEncoding_, enc); } @@ -1671,7 +1671,7 @@ class NSString extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -2516,7 +2516,7 @@ class NSData extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -3241,6 +3241,12 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + bool checkResourceIsReachableAndReturnError_( + ffi.Pointer> error) { + return _objc_msgSend_98( + this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); + } + bool isFileReferenceURL() { return _objc_msgSend_13(this.pointer, _sel_isFileReferenceURL); } @@ -3263,13 +3269,13 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_98(this.pointer, _sel_getResourceValue_forKey_error_, + return _objc_msgSend_99(this.pointer, _sel_getResourceValue_forKey_error_, value, key.pointer, error); } objc.ObjCObjectBase? resourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_161( + final _ret = _objc_msgSend_162( this.pointer, _sel_resourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3278,18 +3284,18 @@ class NSURL extends NSObject { bool setResourceValue_forKey_error_(objc.ObjCObjectBase? value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_162(this.pointer, _sel_setResourceValue_forKey_error_, + return _objc_msgSend_163(this.pointer, _sel_setResourceValue_forKey_error_, value?.pointer ?? ffi.nullptr, key.pointer, error); } bool setResourceValues_error_(objc.ObjCObjectBase keyedValues, ffi.Pointer> error) { - return _objc_msgSend_163(this.pointer, _sel_setResourceValues_error_, + return _objc_msgSend_164(this.pointer, _sel_setResourceValues_error_, keyedValues.pointer, error); } void removeCachedResourceValueForKey_(NSString key) { - _objc_msgSend_164( + _objc_msgSend_165( this.pointer, _sel_removeCachedResourceValueForKey_, key.pointer); } @@ -3299,7 +3305,7 @@ class NSURL extends NSObject { void setTemporaryResourceValue_forKey_( objc.ObjCObjectBase? value, NSString key) { - _objc_msgSend_165(this.pointer, _sel_setTemporaryResourceValue_forKey_, + _objc_msgSend_166(this.pointer, _sel_setTemporaryResourceValue_forKey_, value?.pointer ?? ffi.nullptr, key.pointer); } @@ -3309,7 +3315,7 @@ class NSURL extends NSObject { NSArray? keys, NSURL? relativeURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_166( + final _ret = _objc_msgSend_167( this.pointer, _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_, options, @@ -3328,7 +3334,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_167( + final _ret = _objc_msgSend_168( this.pointer, _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3348,7 +3354,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_167( + final _ret = _objc_msgSend_168( _class_NSURL, _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3363,7 +3369,7 @@ class NSURL extends NSObject { static objc.ObjCObjectBase? resourceValuesForKeys_fromBookmarkData_( NSArray keys, NSData bookmarkData) { - final _ret = _objc_msgSend_168( + final _ret = _objc_msgSend_169( _class_NSURL, _sel_resourceValuesForKeys_fromBookmarkData_, keys.pointer, @@ -3378,7 +3384,7 @@ class NSURL extends NSObject { NSURL bookmarkFileURL, int options, ffi.Pointer> error) { - return _objc_msgSend_169( + return _objc_msgSend_170( _class_NSURL, _sel_writeBookmarkData_toURL_options_error_, bookmarkData.pointer, @@ -3389,7 +3395,7 @@ class NSURL extends NSObject { static NSData? bookmarkDataWithContentsOfURL_error_( NSURL bookmarkFileURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_170( + final _ret = _objc_msgSend_171( _class_NSURL, _sel_bookmarkDataWithContentsOfURL_error_, bookmarkFileURL.pointer, @@ -3401,7 +3407,7 @@ class NSURL extends NSObject { static NSURL? URLByResolvingAliasFileAtURL_options_error_( NSURL url, int options, ffi.Pointer> error) { - final _ret = _objc_msgSend_171( + final _ret = _objc_msgSend_172( _class_NSURL, _sel_URLByResolvingAliasFileAtURL_options_error_, url.pointer, @@ -3425,7 +3431,7 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_98( + return _objc_msgSend_99( this.pointer, _sel_getPromisedItemResourceValue_forKey_error_, value, @@ -3435,7 +3441,7 @@ class NSURL extends NSObject { NSDictionary? promisedItemResourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_191(this.pointer, + final _ret = _objc_msgSend_192(this.pointer, _sel_promisedItemResourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3444,7 +3450,7 @@ class NSURL extends NSObject { bool checkPromisedItemIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_192( + return _objc_msgSend_98( this.pointer, _sel_checkPromisedItemIsReachableAndReturnError_, error); } @@ -3521,12 +3527,6 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } - bool checkResourceIsReachableAndReturnError_( - ffi.Pointer> error) { - return _objc_msgSend_192( - this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); - } - NSURL? get URLByStandardizingPath { final _ret = _objc_msgSend_59(this.pointer, _sel_URLByStandardizingPath); return _ret.address == 0 @@ -4816,9 +4816,6 @@ late final _sel_fileSystemRepresentation = objc.registerName("fileSystemRepresentation"); late final _sel_isFileURL = objc.registerName("isFileURL"); late final _sel_standardizedURL = objc.registerName("standardizedURL"); -late final _sel_isFileReferenceURL = objc.registerName("isFileReferenceURL"); -late final _sel_fileReferenceURL = objc.registerName("fileReferenceURL"); -late final _sel_filePathURL = objc.registerName("filePathURL"); class NSError extends objc.ObjCObjectBase { NSError._(ffi.Pointer pointer, @@ -4841,9 +4838,26 @@ class NSError extends objc.ObjCObjectBase { } late final _class_NSError = objc.getClass("NSError"); +late final _sel_checkResourceIsReachableAndReturnError_ = + objc.registerName("checkResourceIsReachableAndReturnError:"); +final _objc_msgSend_98 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer>)>(); +late final _sel_isFileReferenceURL = objc.registerName("isFileReferenceURL"); +late final _sel_fileReferenceURL = objc.registerName("fileReferenceURL"); +late final _sel_filePathURL = objc.registerName("filePathURL"); late final _sel_getResourceValue_forKey_error_ = objc.registerName("getResourceValue:forKey:error:"); -final _objc_msgSend_98 = objc.msgSendPointer +final _objc_msgSend_99 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -4884,7 +4898,7 @@ class NSArray extends NSObject { } objc.ObjCObjectBase objectAtIndex_(int index) { - final _ret = _objc_msgSend_99(this.pointer, _sel_objectAtIndex_, index); + final _ret = _objc_msgSend_100(this.pointer, _sel_objectAtIndex_, index); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -4896,7 +4910,7 @@ class NSArray extends NSObject { NSArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -4910,19 +4924,19 @@ class NSArray extends NSObject { } NSArray arrayByAddingObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_101( + final _ret = _objc_msgSend_102( this.pointer, _sel_arrayByAddingObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray arrayByAddingObjectsFromArray_(NSArray otherArray) { - final _ret = _objc_msgSend_102( + final _ret = _objc_msgSend_103( this.pointer, _sel_arrayByAddingObjectsFromArray_, otherArray.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString componentsJoinedByString_(NSString separator) { - final _ret = _objc_msgSend_103( + final _ret = _objc_msgSend_104( this.pointer, _sel_componentsJoinedByString_, separator.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -4945,7 +4959,7 @@ class NSArray extends NSObject { NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { - final _ret = _objc_msgSend_104( + final _ret = _objc_msgSend_105( this.pointer, _sel_descriptionWithLocale_indent_, locale?.pointer ?? ffi.nullptr, @@ -4954,7 +4968,7 @@ class NSArray extends NSObject { } objc.ObjCObjectBase? firstObjectCommonWithArray_(NSArray otherArray) { - final _ret = _objc_msgSend_105( + final _ret = _objc_msgSend_106( this.pointer, _sel_firstObjectCommonWithArray_, otherArray.pointer); return _ret.address == 0 ? null @@ -4963,32 +4977,32 @@ class NSArray extends NSObject { void getObjects_range_( ffi.Pointer> objects, _NSRange range) { - _objc_msgSend_106(this.pointer, _sel_getObjects_range_, objects, range); + _objc_msgSend_107(this.pointer, _sel_getObjects_range_, objects, range); } int indexOfObject_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_107( + return _objc_msgSend_108( this.pointer, _sel_indexOfObject_, anObject.pointer); } int indexOfObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { - return _objc_msgSend_108( + return _objc_msgSend_109( this.pointer, _sel_indexOfObject_inRange_, anObject.pointer, range); } int indexOfObjectIdenticalTo_(objc.ObjCObjectBase anObject) { - return _objc_msgSend_107( + return _objc_msgSend_108( this.pointer, _sel_indexOfObjectIdenticalTo_, anObject.pointer); } int indexOfObjectIdenticalTo_inRange_( objc.ObjCObjectBase anObject, _NSRange range) { - return _objc_msgSend_108(this.pointer, + return _objc_msgSend_109(this.pointer, _sel_indexOfObjectIdenticalTo_inRange_, anObject.pointer, range); } bool isEqualToArray_(NSArray otherArray) { - return _objc_msgSend_109( + return _objc_msgSend_110( this.pointer, _sel_isEqualToArray_, otherArray.pointer); } @@ -5007,12 +5021,12 @@ class NSArray extends NSObject { } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSEnumerator reverseObjectEnumerator() { - final _ret = _objc_msgSend_110(this.pointer, _sel_reverseObjectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_reverseObjectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -5028,7 +5042,7 @@ class NSArray extends NSObject { ffi.Pointer, ffi.Pointer)>> comparator, ffi.Pointer context) { - final _ret = _objc_msgSend_111(this.pointer, + final _ret = _objc_msgSend_112(this.pointer, _sel_sortedArrayUsingFunction_context_, comparator, context); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5041,7 +5055,7 @@ class NSArray extends NSObject { comparator, ffi.Pointer context, NSData? hint) { - final _ret = _objc_msgSend_112( + final _ret = _objc_msgSend_113( this.pointer, _sel_sortedArrayUsingFunction_context_hint_, comparator, @@ -5051,20 +5065,20 @@ class NSArray extends NSObject { } NSArray sortedArrayUsingSelector_(ffi.Pointer comparator) { - final _ret = _objc_msgSend_113( + final _ret = _objc_msgSend_114( this.pointer, _sel_sortedArrayUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray subarrayWithRange_(_NSRange range) { final _ret = - _objc_msgSend_114(this.pointer, _sel_subarrayWithRange_, range); + _objc_msgSend_115(this.pointer, _sel_subarrayWithRange_, range); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_115( + return _objc_msgSend_116( this.pointer, _sel_writeToURL_error_, url.pointer, error); } @@ -5074,37 +5088,37 @@ class NSArray extends NSObject { void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } NSArray objectsAtIndexes_(NSIndexSet indexes) { - final _ret = _objc_msgSend_137( + final _ret = _objc_msgSend_138( this.pointer, _sel_objectsAtIndexes_, indexes.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } objc.ObjCObjectBase objectAtIndexedSubscript_(int idx) { final _ret = - _objc_msgSend_99(this.pointer, _sel_objectAtIndexedSubscript_, idx); + _objc_msgSend_100(this.pointer, _sel_objectAtIndexedSubscript_, idx); return objc.ObjCObjectBase(_ret, retain: true, release: true); } void enumerateObjectsUsingBlock_( ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_138( + _objc_msgSend_139( this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); } void enumerateObjectsWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_139(this.pointer, + _objc_msgSend_140(this.pointer, _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); } void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet s, int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_140( + _objc_msgSend_141( this.pointer, _sel_enumerateObjectsAtIndexes_options_usingBlock_, s.pointer, @@ -5114,19 +5128,19 @@ class NSArray extends NSObject { int indexOfObjectPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_141( + return _objc_msgSend_142( this.pointer, _sel_indexOfObjectPassingTest_, predicate.pointer); } int indexOfObjectWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_142(this.pointer, + return _objc_msgSend_143(this.pointer, _sel_indexOfObjectWithOptions_passingTest_, opts, predicate.pointer); } int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_143( + return _objc_msgSend_144( this.pointer, _sel_indexOfObjectAtIndexes_options_passingTest_, s.pointer, @@ -5136,21 +5150,21 @@ class NSArray extends NSObject { NSIndexSet indexesOfObjectsPassingTest_( ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_144( + final _ret = _objc_msgSend_145( this.pointer, _sel_indexesOfObjectsPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_145(this.pointer, + final _ret = _objc_msgSend_146(this.pointer, _sel_indexesOfObjectsWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet s, int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_146( + final _ret = _objc_msgSend_147( this.pointer, _sel_indexesOfObjectsAtIndexes_options_passingTest_, s.pointer, @@ -5161,14 +5175,14 @@ class NSArray extends NSObject { NSArray sortedArrayUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_147( + final _ret = _objc_msgSend_148( this.pointer, _sel_sortedArrayUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray sortedArrayWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148(this.pointer, + final _ret = _objc_msgSend_149(this.pointer, _sel_sortedArrayWithOptions_usingComparator_, opts, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5178,7 +5192,7 @@ class NSArray extends NSObject { _NSRange r, int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmp) { - return _objc_msgSend_149( + return _objc_msgSend_150( this.pointer, _sel_indexOfObject_inSortedRange_options_usingComparator_, obj.pointer, @@ -5193,51 +5207,51 @@ class NSArray extends NSObject { } static NSArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSArray, _sel_arrayWithObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( _class_NSArray, _sel_arrayWithObjects_count_, objects, cnt); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSArray, _sel_arrayWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(_class_NSArray, _sel_arrayWithArray_, array.pointer); + _objc_msgSend_152(_class_NSArray, _sel_arrayWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_153( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSArray.castFromPointer(_ret, retain: false, release: true); } NSArray? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_154( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5246,7 +5260,7 @@ class NSArray extends NSObject { static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_154( _class_NSArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5257,7 +5271,7 @@ class NSArray extends NSObject { NSArray other, int options, ObjCBlock_bool_objcObjCObject_objcObjCObject block) { - final _ret = _objc_msgSend_154( + final _ret = _objc_msgSend_155( this.pointer, _sel_differenceFromArray_withOptions_usingEquivalenceTest_, other.pointer, @@ -5268,19 +5282,19 @@ class NSArray extends NSObject { objc.ObjCObjectBase differenceFromArray_withOptions_( NSArray other, int options) { - final _ret = _objc_msgSend_155(this.pointer, + final _ret = _objc_msgSend_156(this.pointer, _sel_differenceFromArray_withOptions_, other.pointer, options); return objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase differenceFromArray_(NSArray other) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_152( this.pointer, _sel_differenceFromArray_, other.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSArray? arrayByApplyingDifference_(objc.ObjCObjectBase difference) { - final _ret = _objc_msgSend_156( + final _ret = _objc_msgSend_157( this.pointer, _sel_arrayByApplyingDifference_, difference.pointer); return _ret.address == 0 ? null @@ -5288,11 +5302,11 @@ class NSArray extends NSObject { } void getObjects_(ffi.Pointer> objects) { - _objc_msgSend_157(this.pointer, _sel_getObjects_, objects); + _objc_msgSend_158(this.pointer, _sel_getObjects_, objects); } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_159( _class_NSArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5300,7 +5314,7 @@ class NSArray extends NSObject { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_160( _class_NSArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5308,7 +5322,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_159( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5316,7 +5330,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_160( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5329,7 +5343,7 @@ class NSArray extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -5352,7 +5366,7 @@ class NSArray extends NSObject { late final _class_NSArray = objc.getClass("NSArray"); late final _sel_count = objc.registerName("count"); late final _sel_objectAtIndex_ = objc.registerName("objectAtIndex:"); -final _objc_msgSend_99 = objc.msgSendPointer +final _objc_msgSend_100 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5362,7 +5376,7 @@ final _objc_msgSend_99 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithObjects_count_ = objc.registerName("initWithObjects:count:"); -final _objc_msgSend_100 = objc.msgSendPointer +final _objc_msgSend_101 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -5378,7 +5392,7 @@ final _objc_msgSend_100 = objc.msgSendPointer int)>(); late final _sel_arrayByAddingObject_ = objc.registerName("arrayByAddingObject:"); -final _objc_msgSend_101 = objc.msgSendPointer +final _objc_msgSend_102 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5390,7 +5404,7 @@ final _objc_msgSend_101 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayByAddingObjectsFromArray_ = objc.registerName("arrayByAddingObjectsFromArray:"); -final _objc_msgSend_102 = objc.msgSendPointer +final _objc_msgSend_103 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5402,7 +5416,7 @@ final _objc_msgSend_102 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_componentsJoinedByString_ = objc.registerName("componentsJoinedByString:"); -final _objc_msgSend_103 = objc.msgSendPointer +final _objc_msgSend_104 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5415,7 +5429,7 @@ final _objc_msgSend_103 = objc.msgSendPointer late final _sel_containsObject_ = objc.registerName("containsObject:"); late final _sel_descriptionWithLocale_indent_ = objc.registerName("descriptionWithLocale:indent:"); -final _objc_msgSend_104 = objc.msgSendPointer +final _objc_msgSend_105 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5431,7 +5445,7 @@ final _objc_msgSend_104 = objc.msgSendPointer int)>(); late final _sel_firstObjectCommonWithArray_ = objc.registerName("firstObjectCommonWithArray:"); -final _objc_msgSend_105 = objc.msgSendPointer +final _objc_msgSend_106 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5442,7 +5456,7 @@ final _objc_msgSend_105 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_range_ = objc.registerName("getObjects:range:"); -final _objc_msgSend_106 = objc.msgSendPointer +final _objc_msgSend_107 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -5457,7 +5471,7 @@ final _objc_msgSend_106 = objc.msgSendPointer ffi.Pointer>, _NSRange)>(); late final _sel_indexOfObject_ = objc.registerName("indexOfObject:"); -final _objc_msgSend_107 = objc.msgSendPointer +final _objc_msgSend_108 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5469,7 +5483,7 @@ final _objc_msgSend_107 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexOfObject_inRange_ = objc.registerName("indexOfObject:inRange:"); -final _objc_msgSend_108 = objc.msgSendPointer +final _objc_msgSend_109 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5488,7 +5502,7 @@ late final _sel_indexOfObjectIdenticalTo_ = late final _sel_indexOfObjectIdenticalTo_inRange_ = objc.registerName("indexOfObjectIdenticalTo:inRange:"); late final _sel_isEqualToArray_ = objc.registerName("isEqualToArray:"); -final _objc_msgSend_109 = objc.msgSendPointer +final _objc_msgSend_110 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5560,7 +5574,7 @@ late final _class_NSEnumerator = objc.getClass("NSEnumerator"); late final _sel_nextObject = objc.registerName("nextObject"); late final _sel_allObjects = objc.registerName("allObjects"); late final _sel_objectEnumerator = objc.registerName("objectEnumerator"); -final _objc_msgSend_110 = objc.msgSendPointer +final _objc_msgSend_111 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5573,7 +5587,7 @@ late final _sel_reverseObjectEnumerator = late final _sel_sortedArrayHint = objc.registerName("sortedArrayHint"); late final _sel_sortedArrayUsingFunction_context_ = objc.registerName("sortedArrayUsingFunction:context:"); -final _objc_msgSend_111 = objc.msgSendPointer +final _objc_msgSend_112 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5597,7 +5611,7 @@ final _objc_msgSend_111 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingFunction_context_hint_ = objc.registerName("sortedArrayUsingFunction:context:hint:"); -final _objc_msgSend_112 = objc.msgSendPointer +final _objc_msgSend_113 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5623,7 +5637,7 @@ final _objc_msgSend_112 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_sortedArrayUsingSelector_ = objc.registerName("sortedArrayUsingSelector:"); -final _objc_msgSend_113 = objc.msgSendPointer +final _objc_msgSend_114 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -5634,7 +5648,7 @@ final _objc_msgSend_113 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_subarrayWithRange_ = objc.registerName("subarrayWithRange:"); -final _objc_msgSend_114 = objc.msgSendPointer +final _objc_msgSend_115 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -5643,7 +5657,7 @@ final _objc_msgSend_114 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_writeToURL_error_ = objc.registerName("writeToURL:error:"); -final _objc_msgSend_115 = objc.msgSendPointer +final _objc_msgSend_116 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5661,7 +5675,7 @@ late final _sel_makeObjectsPerformSelector_ = objc.registerName("makeObjectsPerformSelector:"); late final _sel_makeObjectsPerformSelector_withObject_ = objc.registerName("makeObjectsPerformSelector:withObject:"); -final _objc_msgSend_116 = objc.msgSendPointer +final _objc_msgSend_117 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -5702,35 +5716,35 @@ class NSIndexSet extends NSObject { static NSIndexSet indexSetWithIndex_(int value) { final _ret = - _objc_msgSend_99(_class_NSIndexSet, _sel_indexSetWithIndex_, value); + _objc_msgSend_100(_class_NSIndexSet, _sel_indexSetWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } static NSIndexSet indexSetWithIndexesInRange_(_NSRange range) { - final _ret = _objc_msgSend_117( + final _ret = _objc_msgSend_118( _class_NSIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexesInRange_(_NSRange range) { final _ret = - _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); + _objc_msgSend_118(this.pointer, _sel_initWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndexSet_(NSIndexSet indexSet) { - final _ret = _objc_msgSend_118( + final _ret = _objc_msgSend_119( this.pointer, _sel_initWithIndexSet_, indexSet.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet initWithIndex_(int value) { - final _ret = _objc_msgSend_99(this.pointer, _sel_initWithIndex_, value); + final _ret = _objc_msgSend_100(this.pointer, _sel_initWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } bool isEqualToIndexSet_(NSIndexSet indexSet) { - return _objc_msgSend_119( + return _objc_msgSend_120( this.pointer, _sel_isEqualToIndexSet_, indexSet.pointer); } @@ -5747,20 +5761,20 @@ class NSIndexSet extends NSObject { } int indexGreaterThanIndex_(int value) { - return _objc_msgSend_120(this.pointer, _sel_indexGreaterThanIndex_, value); + return _objc_msgSend_121(this.pointer, _sel_indexGreaterThanIndex_, value); } int indexLessThanIndex_(int value) { - return _objc_msgSend_120(this.pointer, _sel_indexLessThanIndex_, value); + return _objc_msgSend_121(this.pointer, _sel_indexLessThanIndex_, value); } int indexGreaterThanOrEqualToIndex_(int value) { - return _objc_msgSend_120( + return _objc_msgSend_121( this.pointer, _sel_indexGreaterThanOrEqualToIndex_, value); } int indexLessThanOrEqualToIndex_(int value) { - return _objc_msgSend_120( + return _objc_msgSend_121( this.pointer, _sel_indexLessThanOrEqualToIndex_, value); } @@ -5768,47 +5782,47 @@ class NSIndexSet extends NSObject { ffi.Pointer indexBuffer, int bufferSize, ffi.Pointer<_NSRange> range) { - return _objc_msgSend_121(this.pointer, + return _objc_msgSend_122(this.pointer, _sel_getIndexes_maxCount_inIndexRange_, indexBuffer, bufferSize, range); } int countOfIndexesInRange_(_NSRange range) { - return _objc_msgSend_122(this.pointer, _sel_countOfIndexesInRange_, range); + return _objc_msgSend_123(this.pointer, _sel_countOfIndexesInRange_, range); } bool containsIndex_(int value) { - return _objc_msgSend_123(this.pointer, _sel_containsIndex_, value); + return _objc_msgSend_124(this.pointer, _sel_containsIndex_, value); } bool containsIndexesInRange_(_NSRange range) { - return _objc_msgSend_124(this.pointer, _sel_containsIndexesInRange_, range); + return _objc_msgSend_125(this.pointer, _sel_containsIndexesInRange_, range); } bool containsIndexes_(NSIndexSet indexSet) { - return _objc_msgSend_119( + return _objc_msgSend_120( this.pointer, _sel_containsIndexes_, indexSet.pointer); } bool intersectsIndexesInRange_(_NSRange range) { - return _objc_msgSend_124( + return _objc_msgSend_125( this.pointer, _sel_intersectsIndexesInRange_, range); } void enumerateIndexesUsingBlock_( ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_125( + _objc_msgSend_126( this.pointer, _sel_enumerateIndexesUsingBlock_, block.pointer); } void enumerateIndexesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_126(this.pointer, + _objc_msgSend_127(this.pointer, _sel_enumerateIndexesWithOptions_usingBlock_, opts, block.pointer); } void enumerateIndexesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_127( + _objc_msgSend_128( this.pointer, _sel_enumerateIndexesInRange_options_usingBlock_, range, @@ -5817,39 +5831,39 @@ class NSIndexSet extends NSObject { } int indexPassingTest_(ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_128( + return _objc_msgSend_129( this.pointer, _sel_indexPassingTest_, predicate.pointer); } int indexWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_129(this.pointer, _sel_indexWithOptions_passingTest_, + return _objc_msgSend_130(this.pointer, _sel_indexWithOptions_passingTest_, opts, predicate.pointer); } int indexInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_130(this.pointer, + return _objc_msgSend_131(this.pointer, _sel_indexInRange_options_passingTest_, range, opts, predicate.pointer); } NSIndexSet indexesPassingTest_( ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_131( + final _ret = _objc_msgSend_132( this.pointer, _sel_indexesPassingTest_, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesWithOptions_passingTest_( int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_132(this.pointer, + final _ret = _objc_msgSend_133(this.pointer, _sel_indexesWithOptions_passingTest_, opts, predicate.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } NSIndexSet indexesInRange_options_passingTest_( _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_133( + final _ret = _objc_msgSend_134( this.pointer, _sel_indexesInRange_options_passingTest_, range, @@ -5859,19 +5873,19 @@ class NSIndexSet extends NSObject { } void enumerateRangesUsingBlock_(ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_134( + _objc_msgSend_135( this.pointer, _sel_enumerateRangesUsingBlock_, block.pointer); } void enumerateRangesWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_135(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, + _objc_msgSend_136(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, opts, block.pointer); } void enumerateRangesInRange_options_usingBlock_( _NSRange range, int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_136( + _objc_msgSend_137( this.pointer, _sel_enumerateRangesInRange_options_usingBlock_, range, @@ -5906,7 +5920,7 @@ late final _sel_indexSet = objc.registerName("indexSet"); late final _sel_indexSetWithIndex_ = objc.registerName("indexSetWithIndex:"); late final _sel_indexSetWithIndexesInRange_ = objc.registerName("indexSetWithIndexesInRange:"); -final _objc_msgSend_117 = objc.msgSendPointer +final _objc_msgSend_118 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -5917,7 +5931,7 @@ final _objc_msgSend_117 = objc.msgSendPointer late final _sel_initWithIndexesInRange_ = objc.registerName("initWithIndexesInRange:"); late final _sel_initWithIndexSet_ = objc.registerName("initWithIndexSet:"); -final _objc_msgSend_118 = objc.msgSendPointer +final _objc_msgSend_119 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -5929,7 +5943,7 @@ final _objc_msgSend_118 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithIndex_ = objc.registerName("initWithIndex:"); late final _sel_isEqualToIndexSet_ = objc.registerName("isEqualToIndexSet:"); -final _objc_msgSend_119 = objc.msgSendPointer +final _objc_msgSend_120 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -5943,7 +5957,7 @@ late final _sel_firstIndex = objc.registerName("firstIndex"); late final _sel_lastIndex = objc.registerName("lastIndex"); late final _sel_indexGreaterThanIndex_ = objc.registerName("indexGreaterThanIndex:"); -final _objc_msgSend_120 = objc.msgSendPointer +final _objc_msgSend_121 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5958,7 +5972,7 @@ late final _sel_indexLessThanOrEqualToIndex_ = objc.registerName("indexLessThanOrEqualToIndex:"); late final _sel_getIndexes_maxCount_inIndexRange_ = objc.registerName("getIndexes:maxCount:inIndexRange:"); -final _objc_msgSend_121 = objc.msgSendPointer +final _objc_msgSend_122 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -5976,7 +5990,7 @@ final _objc_msgSend_121 = objc.msgSendPointer ffi.Pointer<_NSRange>)>(); late final _sel_countOfIndexesInRange_ = objc.registerName("countOfIndexesInRange:"); -final _objc_msgSend_122 = objc.msgSendPointer +final _objc_msgSend_123 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -5985,7 +5999,7 @@ final _objc_msgSend_122 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, _NSRange)>(); late final _sel_containsIndex_ = objc.registerName("containsIndex:"); -final _objc_msgSend_123 = objc.msgSendPointer +final _objc_msgSend_124 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -5995,7 +6009,7 @@ final _objc_msgSend_123 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_containsIndexesInRange_ = objc.registerName("containsIndexesInRange:"); -final _objc_msgSend_124 = objc.msgSendPointer +final _objc_msgSend_125 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -6109,7 +6123,7 @@ class ObjCBlock_ffiVoid_ffiUnsignedLong_bool extends objc.ObjCBlockBase { late final _sel_enumerateIndexesUsingBlock_ = objc.registerName("enumerateIndexesUsingBlock:"); -final _objc_msgSend_125 = objc.msgSendPointer +final _objc_msgSend_126 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6125,7 +6139,7 @@ abstract class NSEnumerationOptions { late final _sel_enumerateIndexesWithOptions_usingBlock_ = objc.registerName("enumerateIndexesWithOptions:usingBlock:"); -final _objc_msgSend_126 = objc.msgSendPointer +final _objc_msgSend_127 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6141,7 +6155,7 @@ final _objc_msgSend_126 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateIndexesInRange_options_usingBlock_ = objc.registerName("enumerateIndexesInRange:options:usingBlock:"); -final _objc_msgSend_127 = objc.msgSendPointer +final _objc_msgSend_128 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6237,7 +6251,7 @@ class ObjCBlock_bool_ffiUnsignedLong_bool extends objc.ObjCBlockBase { } late final _sel_indexPassingTest_ = objc.registerName("indexPassingTest:"); -final _objc_msgSend_128 = objc.msgSendPointer +final _objc_msgSend_129 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6247,7 +6261,7 @@ final _objc_msgSend_128 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexWithOptions_passingTest_ = objc.registerName("indexWithOptions:passingTest:"); -final _objc_msgSend_129 = objc.msgSendPointer +final _objc_msgSend_130 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6263,7 +6277,7 @@ final _objc_msgSend_129 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexInRange_options_passingTest_ = objc.registerName("indexInRange:options:passingTest:"); -final _objc_msgSend_130 = objc.msgSendPointer +final _objc_msgSend_131 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6280,7 +6294,7 @@ final _objc_msgSend_130 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_indexesPassingTest_ = objc.registerName("indexesPassingTest:"); -final _objc_msgSend_131 = objc.msgSendPointer +final _objc_msgSend_132 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6290,7 +6304,7 @@ final _objc_msgSend_131 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesWithOptions_passingTest_ = objc.registerName("indexesWithOptions:passingTest:"); -final _objc_msgSend_132 = objc.msgSendPointer +final _objc_msgSend_133 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6306,7 +6320,7 @@ final _objc_msgSend_132 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesInRange_options_passingTest_ = objc.registerName("indexesInRange:options:passingTest:"); -final _objc_msgSend_133 = objc.msgSendPointer +final _objc_msgSend_134 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6425,7 +6439,7 @@ class ObjCBlock_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { late final _sel_enumerateRangesUsingBlock_ = objc.registerName("enumerateRangesUsingBlock:"); -final _objc_msgSend_134 = objc.msgSendPointer +final _objc_msgSend_135 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6435,7 +6449,7 @@ final _objc_msgSend_134 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateRangesWithOptions_usingBlock_ = objc.registerName("enumerateRangesWithOptions:usingBlock:"); -final _objc_msgSend_135 = objc.msgSendPointer +final _objc_msgSend_136 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6451,7 +6465,7 @@ final _objc_msgSend_135 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateRangesInRange_options_usingBlock_ = objc.registerName("enumerateRangesInRange:options:usingBlock:"); -final _objc_msgSend_136 = objc.msgSendPointer +final _objc_msgSend_137 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6468,7 +6482,7 @@ final _objc_msgSend_136 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_objectsAtIndexes_ = objc.registerName("objectsAtIndexes:"); -final _objc_msgSend_137 = objc.msgSendPointer +final _objc_msgSend_138 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6614,7 +6628,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool late final _sel_enumerateObjectsUsingBlock_ = objc.registerName("enumerateObjectsUsingBlock:"); -final _objc_msgSend_138 = objc.msgSendPointer +final _objc_msgSend_139 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -6624,7 +6638,7 @@ final _objc_msgSend_138 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateObjectsWithOptions_usingBlock_ = objc.registerName("enumerateObjectsWithOptions:usingBlock:"); -final _objc_msgSend_139 = objc.msgSendPointer +final _objc_msgSend_140 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6640,7 +6654,7 @@ final _objc_msgSend_139 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_enumerateObjectsAtIndexes_options_usingBlock_ = objc.registerName("enumerateObjectsAtIndexes:options:usingBlock:"); -final _objc_msgSend_140 = objc.msgSendPointer +final _objc_msgSend_141 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -6759,7 +6773,7 @@ class ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool late final _sel_indexOfObjectPassingTest_ = objc.registerName("indexOfObjectPassingTest:"); -final _objc_msgSend_141 = objc.msgSendPointer +final _objc_msgSend_142 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, @@ -6769,7 +6783,7 @@ final _objc_msgSend_141 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexOfObjectWithOptions_passingTest_ = objc.registerName("indexOfObjectWithOptions:passingTest:"); -final _objc_msgSend_142 = objc.msgSendPointer +final _objc_msgSend_143 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6785,7 +6799,7 @@ final _objc_msgSend_142 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexOfObjectAtIndexes_options_passingTest_ = objc.registerName("indexOfObjectAtIndexes:options:passingTest:"); -final _objc_msgSend_143 = objc.msgSendPointer +final _objc_msgSend_144 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -6803,7 +6817,7 @@ final _objc_msgSend_143 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsPassingTest_ = objc.registerName("indexesOfObjectsPassingTest:"); -final _objc_msgSend_144 = objc.msgSendPointer +final _objc_msgSend_145 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6813,7 +6827,7 @@ final _objc_msgSend_144 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_indexesOfObjectsWithOptions_passingTest_ = objc.registerName("indexesOfObjectsWithOptions:passingTest:"); -final _objc_msgSend_145 = objc.msgSendPointer +final _objc_msgSend_146 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6829,7 +6843,7 @@ final _objc_msgSend_145 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_indexesOfObjectsAtIndexes_options_passingTest_ = objc.registerName("indexesOfObjectsAtIndexes:options:passingTest:"); -final _objc_msgSend_146 = objc.msgSendPointer +final _objc_msgSend_147 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6941,7 +6955,7 @@ class ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject late final _sel_sortedArrayUsingComparator_ = objc.registerName("sortedArrayUsingComparator:"); -final _objc_msgSend_147 = objc.msgSendPointer +final _objc_msgSend_148 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -6957,7 +6971,7 @@ abstract class NSSortOptions { late final _sel_sortedArrayWithOptions_usingComparator_ = objc.registerName("sortedArrayWithOptions:usingComparator:"); -final _objc_msgSend_148 = objc.msgSendPointer +final _objc_msgSend_149 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -6980,7 +6994,7 @@ abstract class NSBinarySearchingOptions { late final _sel_indexOfObject_inSortedRange_options_usingComparator_ = objc.registerName("indexOfObject:inSortedRange:options:usingComparator:"); -final _objc_msgSend_149 = objc.msgSendPointer +final _objc_msgSend_150 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -7000,7 +7014,7 @@ final _objc_msgSend_149 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_array = objc.registerName("array"); late final _sel_arrayWithObject_ = objc.registerName("arrayWithObject:"); -final _objc_msgSend_150 = objc.msgSendPointer +final _objc_msgSend_151 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7014,7 +7028,7 @@ late final _sel_arrayWithObjects_count_ = objc.registerName("arrayWithObjects:count:"); late final _sel_arrayWithObjects_ = objc.registerName("arrayWithObjects:"); late final _sel_arrayWithArray_ = objc.registerName("arrayWithArray:"); -final _objc_msgSend_151 = objc.msgSendPointer +final _objc_msgSend_152 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7028,7 +7042,7 @@ late final _sel_initWithObjects_ = objc.registerName("initWithObjects:"); late final _sel_initWithArray_ = objc.registerName("initWithArray:"); late final _sel_initWithArray_copyItems_ = objc.registerName("initWithArray:copyItems:"); -final _objc_msgSend_152 = objc.msgSendPointer +final _objc_msgSend_153 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7044,7 +7058,7 @@ final _objc_msgSend_152 = objc.msgSendPointer bool)>(); late final _sel_initWithContentsOfURL_error_ = objc.registerName("initWithContentsOfURL:error:"); -final _objc_msgSend_153 = objc.msgSendPointer +final _objc_msgSend_154 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7165,7 +7179,7 @@ class ObjCBlock_bool_objcObjCObject_objcObjCObject extends objc.ObjCBlockBase { late final _sel_differenceFromArray_withOptions_usingEquivalenceTest_ = objc.registerName("differenceFromArray:withOptions:usingEquivalenceTest:"); -final _objc_msgSend_154 = objc.msgSendPointer +final _objc_msgSend_155 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7183,7 +7197,7 @@ final _objc_msgSend_154 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_differenceFromArray_withOptions_ = objc.registerName("differenceFromArray:withOptions:"); -final _objc_msgSend_155 = objc.msgSendPointer +final _objc_msgSend_156 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7201,7 +7215,7 @@ late final _sel_differenceFromArray_ = objc.registerName("differenceFromArray:"); late final _sel_arrayByApplyingDifference_ = objc.registerName("arrayByApplyingDifference:"); -final _objc_msgSend_156 = objc.msgSendPointer +final _objc_msgSend_157 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7212,7 +7226,7 @@ final _objc_msgSend_156 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_ = objc.registerName("getObjects:"); -final _objc_msgSend_157 = objc.msgSendPointer +final _objc_msgSend_158 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7226,7 +7240,7 @@ final _objc_msgSend_157 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_arrayWithContentsOfFile_ = objc.registerName("arrayWithContentsOfFile:"); -final _objc_msgSend_158 = objc.msgSendPointer +final _objc_msgSend_159 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7238,7 +7252,7 @@ final _objc_msgSend_158 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayWithContentsOfURL_ = objc.registerName("arrayWithContentsOfURL:"); -final _objc_msgSend_159 = objc.msgSendPointer +final _objc_msgSend_160 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7254,7 +7268,7 @@ late final _sel_initWithContentsOfURL_ = objc.registerName("initWithContentsOfURL:"); late final _sel_writeToURL_atomically_ = objc.registerName("writeToURL:atomically:"); -final _objc_msgSend_160 = objc.msgSendPointer +final _objc_msgSend_161 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7270,7 +7284,7 @@ final _objc_msgSend_160 = objc.msgSendPointer bool)>(); late final _sel_resourceValuesForKeys_error_ = objc.registerName("resourceValuesForKeys:error:"); -final _objc_msgSend_161 = objc.msgSendPointer +final _objc_msgSend_162 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7286,7 +7300,7 @@ final _objc_msgSend_161 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValue_forKey_error_ = objc.registerName("setResourceValue:forKey:error:"); -final _objc_msgSend_162 = objc.msgSendPointer +final _objc_msgSend_163 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7304,7 +7318,7 @@ final _objc_msgSend_162 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValues_error_ = objc.registerName("setResourceValues:error:"); -final _objc_msgSend_163 = objc.msgSendPointer +final _objc_msgSend_164 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7320,7 +7334,7 @@ final _objc_msgSend_163 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_removeCachedResourceValueForKey_ = objc.registerName("removeCachedResourceValueForKey:"); -final _objc_msgSend_164 = objc.msgSendPointer +final _objc_msgSend_165 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7334,7 +7348,7 @@ late final _sel_removeAllCachedResourceValues = objc.registerName("removeAllCachedResourceValues"); late final _sel_setTemporaryResourceValue_forKey_ = objc.registerName("setTemporaryResourceValue:forKey:"); -final _objc_msgSend_165 = objc.msgSendPointer +final _objc_msgSend_166 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7362,7 +7376,7 @@ abstract class NSURLBookmarkCreationOptions { late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_ = objc.registerName( "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); -final _objc_msgSend_166 = objc.msgSendPointer +final _objc_msgSend_167 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7391,7 +7405,7 @@ abstract class NSURLBookmarkResolutionOptions { late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_ = objc.registerName( "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); -final _objc_msgSend_167 = objc.msgSendPointer +final _objc_msgSend_168 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7416,7 +7430,7 @@ late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsS "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); late final _sel_resourceValuesForKeys_fromBookmarkData_ = objc.registerName("resourceValuesForKeys:fromBookmarkData:"); -final _objc_msgSend_168 = objc.msgSendPointer +final _objc_msgSend_169 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7432,7 +7446,7 @@ final _objc_msgSend_168 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_writeBookmarkData_toURL_options_error_ = objc.registerName("writeBookmarkData:toURL:options:error:"); -final _objc_msgSend_169 = objc.msgSendPointer +final _objc_msgSend_170 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7452,7 +7466,7 @@ final _objc_msgSend_169 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_bookmarkDataWithContentsOfURL_error_ = objc.registerName("bookmarkDataWithContentsOfURL:error:"); -final _objc_msgSend_170 = objc.msgSendPointer +final _objc_msgSend_171 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7468,7 +7482,7 @@ final _objc_msgSend_170 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_URLByResolvingAliasFileAtURL_options_error_ = objc.registerName("URLByResolvingAliasFileAtURL:options:error:"); -final _objc_msgSend_171 = objc.msgSendPointer +final _objc_msgSend_172 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7517,14 +7531,14 @@ class NSDictionary extends NSObject { objc.ObjCObjectBase? objectForKey_(objc.ObjCObjectBase aKey) { final _ret = - _objc_msgSend_172(this.pointer, _sel_objectForKey_, aKey.pointer); + _objc_msgSend_173(this.pointer, _sel_objectForKey_, aKey.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } NSEnumerator keyEnumerator() { - final _ret = _objc_msgSend_110(this.pointer, _sel_keyEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_keyEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -7538,7 +7552,7 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_173( + final _ret = _objc_msgSend_174( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7552,18 +7566,18 @@ class NSDictionary extends NSObject { } NSArray get allKeys { - final _ret = _objc_msgSend_174(this.pointer, _sel_allKeys); + final _ret = _objc_msgSend_175(this.pointer, _sel_allKeys); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray allKeysForObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_101( + final _ret = _objc_msgSend_102( this.pointer, _sel_allKeysForObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray get allValues { - final _ret = _objc_msgSend_174(this.pointer, _sel_allValues); + final _ret = _objc_msgSend_175(this.pointer, _sel_allValues); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7586,7 +7600,7 @@ class NSDictionary extends NSObject { NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { - final _ret = _objc_msgSend_104( + final _ret = _objc_msgSend_105( this.pointer, _sel_descriptionWithLocale_indent_, locale?.pointer ?? ffi.nullptr, @@ -7595,31 +7609,31 @@ class NSDictionary extends NSObject { } bool isEqualToDictionary_(NSDictionary otherDictionary) { - return _objc_msgSend_175( + return _objc_msgSend_176( this.pointer, _sel_isEqualToDictionary_, otherDictionary.pointer); } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } NSArray objectsForKeys_notFoundMarker_( NSArray keys, objc.ObjCObjectBase marker) { - final _ret = _objc_msgSend_176(this.pointer, + final _ret = _objc_msgSend_177(this.pointer, _sel_objectsForKeys_notFoundMarker_, keys.pointer, marker.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } bool writeToURL_error_( NSURL url, ffi.Pointer> error) { - return _objc_msgSend_115( + return _objc_msgSend_116( this.pointer, _sel_writeToURL_error_, url.pointer, error); } NSArray keysSortedByValueUsingSelector_( ffi.Pointer comparator) { - final _ret = _objc_msgSend_113( + final _ret = _objc_msgSend_114( this.pointer, _sel_keysSortedByValueUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7628,12 +7642,12 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int count) { - _objc_msgSend_177( + _objc_msgSend_178( this.pointer, _sel_getObjects_andKeys_count_, objects, keys, count); } objc.ObjCObjectBase? objectForKeyedSubscript_(objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_172( + final _ret = _objc_msgSend_173( this.pointer, _sel_objectForKeyedSubscript_, key.pointer); return _ret.address == 0 ? null @@ -7642,13 +7656,13 @@ class NSDictionary extends NSObject { void enumerateKeysAndObjectsUsingBlock_( ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_178( + _objc_msgSend_179( this.pointer, _sel_enumerateKeysAndObjectsUsingBlock_, block.pointer); } void enumerateKeysAndObjectsWithOptions_usingBlock_( int opts, ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_179( + _objc_msgSend_180( this.pointer, _sel_enumerateKeysAndObjectsWithOptions_usingBlock_, opts, @@ -7657,14 +7671,14 @@ class NSDictionary extends NSObject { NSArray keysSortedByValueUsingComparator_( ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_147( + final _ret = _objc_msgSend_148( this.pointer, _sel_keysSortedByValueUsingComparator_, cmptr.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray keysSortedByValueWithOptions_usingComparator_(int opts, ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148( + final _ret = _objc_msgSend_149( this.pointer, _sel_keysSortedByValueWithOptions_usingComparator_, opts, @@ -7674,25 +7688,25 @@ class NSDictionary extends NSObject { objc.ObjCObjectBase keysOfEntriesPassingTest_( ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_180( + final _ret = _objc_msgSend_181( this.pointer, _sel_keysOfEntriesPassingTest_, predicate.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase keysOfEntriesWithOptions_passingTest_( int opts, ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_181(this.pointer, + final _ret = _objc_msgSend_182(this.pointer, _sel_keysOfEntriesWithOptions_passingTest_, opts, predicate.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } void getObjects_andKeys_(ffi.Pointer> objects, ffi.Pointer> keys) { - _objc_msgSend_182(this.pointer, _sel_getObjects_andKeys_, objects, keys); + _objc_msgSend_183(this.pointer, _sel_getObjects_andKeys_, objects, keys); } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_183( + final _ret = _objc_msgSend_184( _class_NSDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7700,7 +7714,7 @@ class NSDictionary extends NSObject { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_184( + final _ret = _objc_msgSend_185( _class_NSDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7708,7 +7722,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_183( + final _ret = _objc_msgSend_184( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -7716,7 +7730,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_184( + final _ret = _objc_msgSend_185( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -7729,7 +7743,7 @@ class NSDictionary extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_161( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -7740,7 +7754,7 @@ class NSDictionary extends NSObject { static NSDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_185(_class_NSDictionary, + final _ret = _objc_msgSend_186(_class_NSDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7749,59 +7763,59 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_173(_class_NSDictionary, + final _ret = _objc_msgSend_174(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150(_class_NSDictionary, + final _ret = _objc_msgSend_151(_class_NSDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_186( + final _ret = _objc_msgSend_187( _class_NSDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_187(_class_NSDictionary, + final _ret = _objc_msgSend_188(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_186( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_188(this.pointer, + final _ret = _objc_msgSend_189(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } NSDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_187(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_188(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_189( + final _ret = _objc_msgSend_190( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7810,7 +7824,7 @@ class NSDictionary extends NSObject { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_189(_class_NSDictionary, + final _ret = _objc_msgSend_190(_class_NSDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -7818,7 +7832,7 @@ class NSDictionary extends NSObject { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_152( _class_NSDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -7827,7 +7841,7 @@ class NSDictionary extends NSObject { ffi.Pointer state, ffi.Pointer> buffer, int len) { - return _objc_msgSend_190(this.pointer, + return _objc_msgSend_191(this.pointer, _sel_countByEnumeratingWithState_objects_count_, state, buffer, len); } @@ -7850,7 +7864,7 @@ class NSDictionary extends NSObject { late final _class_NSDictionary = objc.getClass("NSDictionary"); late final _sel_objectForKey_ = objc.registerName("objectForKey:"); -final _objc_msgSend_172 = objc.msgSendPointer +final _objc_msgSend_173 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7863,7 +7877,7 @@ final _objc_msgSend_172 = objc.msgSendPointer late final _sel_keyEnumerator = objc.registerName("keyEnumerator"); late final _sel_initWithObjects_forKeys_count_ = objc.registerName("initWithObjects:forKeys:count:"); -final _objc_msgSend_173 = objc.msgSendPointer +final _objc_msgSend_174 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7880,7 +7894,7 @@ final _objc_msgSend_173 = objc.msgSendPointer ffi.Pointer>, int)>(); late final _sel_allKeys = objc.registerName("allKeys"); -final _objc_msgSend_174 = objc.msgSendPointer +final _objc_msgSend_175 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -7894,7 +7908,7 @@ late final _sel_descriptionInStringsFileFormat = objc.registerName("descriptionInStringsFileFormat"); late final _sel_isEqualToDictionary_ = objc.registerName("isEqualToDictionary:"); -final _objc_msgSend_175 = objc.msgSendPointer +final _objc_msgSend_176 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7906,7 +7920,7 @@ final _objc_msgSend_175 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_objectsForKeys_notFoundMarker_ = objc.registerName("objectsForKeys:notFoundMarker:"); -final _objc_msgSend_176 = objc.msgSendPointer +final _objc_msgSend_177 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7924,7 +7938,7 @@ late final _sel_keysSortedByValueUsingSelector_ = objc.registerName("keysSortedByValueUsingSelector:"); late final _sel_getObjects_andKeys_count_ = objc.registerName("getObjects:andKeys:count:"); -final _objc_msgSend_177 = objc.msgSendPointer +final _objc_msgSend_178 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8087,7 +8101,7 @@ class ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool late final _sel_enumerateKeysAndObjectsUsingBlock_ = objc.registerName("enumerateKeysAndObjectsUsingBlock:"); -final _objc_msgSend_178 = objc.msgSendPointer +final _objc_msgSend_179 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -8097,7 +8111,7 @@ final _objc_msgSend_178 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_enumerateKeysAndObjectsWithOptions_usingBlock_ = objc.registerName("enumerateKeysAndObjectsWithOptions:usingBlock:"); -final _objc_msgSend_179 = objc.msgSendPointer +final _objc_msgSend_180 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8226,7 +8240,7 @@ class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool late final _sel_keysOfEntriesPassingTest_ = objc.registerName("keysOfEntriesPassingTest:"); -final _objc_msgSend_180 = objc.msgSendPointer +final _objc_msgSend_181 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -8236,7 +8250,7 @@ final _objc_msgSend_180 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_keysOfEntriesWithOptions_passingTest_ = objc.registerName("keysOfEntriesWithOptions:passingTest:"); -final _objc_msgSend_181 = objc.msgSendPointer +final _objc_msgSend_182 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8251,7 +8265,7 @@ final _objc_msgSend_181 = objc.msgSendPointer int, ffi.Pointer)>(); late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); -final _objc_msgSend_182 = objc.msgSendPointer +final _objc_msgSend_183 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8267,7 +8281,7 @@ final _objc_msgSend_182 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_dictionaryWithContentsOfFile_ = objc.registerName("dictionaryWithContentsOfFile:"); -final _objc_msgSend_183 = objc.msgSendPointer +final _objc_msgSend_184 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8279,7 +8293,7 @@ final _objc_msgSend_183 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dictionaryWithContentsOfURL_ = objc.registerName("dictionaryWithContentsOfURL:"); -final _objc_msgSend_184 = objc.msgSendPointer +final _objc_msgSend_185 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8292,7 +8306,7 @@ final _objc_msgSend_184 = objc.msgSendPointer late final _sel_dictionary = objc.registerName("dictionary"); late final _sel_dictionaryWithObject_forKey_ = objc.registerName("dictionaryWithObject:forKey:"); -final _objc_msgSend_185 = objc.msgSendPointer +final _objc_msgSend_186 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8312,7 +8326,7 @@ late final _sel_dictionaryWithObjectsAndKeys_ = objc.registerName("dictionaryWithObjectsAndKeys:"); late final _sel_dictionaryWithDictionary_ = objc.registerName("dictionaryWithDictionary:"); -final _objc_msgSend_186 = objc.msgSendPointer +final _objc_msgSend_187 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8324,7 +8338,7 @@ final _objc_msgSend_186 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dictionaryWithObjects_forKeys_ = objc.registerName("dictionaryWithObjects:forKeys:"); -final _objc_msgSend_187 = objc.msgSendPointer +final _objc_msgSend_188 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8343,7 +8357,7 @@ late final _sel_initWithObjectsAndKeys_ = late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); late final _sel_initWithDictionary_copyItems_ = objc.registerName("initWithDictionary:copyItems:"); -final _objc_msgSend_188 = objc.msgSendPointer +final _objc_msgSend_189 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8359,7 +8373,7 @@ final _objc_msgSend_188 = objc.msgSendPointer bool)>(); late final _sel_initWithObjects_forKeys_ = objc.registerName("initWithObjects:forKeys:"); -final _objc_msgSend_189 = objc.msgSendPointer +final _objc_msgSend_190 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8392,7 +8406,7 @@ final class NSFastEnumerationState extends ffi.Struct { late final _sel_countByEnumeratingWithState_objects_count_ = objc.registerName("countByEnumeratingWithState:objects:count:"); -final _objc_msgSend_190 = objc.msgSendPointer +final _objc_msgSend_191 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -8410,7 +8424,7 @@ final _objc_msgSend_190 = objc.msgSendPointer int)>(); late final _sel_promisedItemResourceValuesForKeys_error_ = objc.registerName("promisedItemResourceValuesForKeys:error:"); -final _objc_msgSend_191 = objc.msgSendPointer +final _objc_msgSend_192 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8426,18 +8440,6 @@ final _objc_msgSend_191 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_checkPromisedItemIsReachableAndReturnError_ = objc.registerName("checkPromisedItemIsReachableAndReturnError:"); -final _objc_msgSend_192 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); late final _sel_fileURLWithPathComponents_ = objc.registerName("fileURLWithPathComponents:"); final _objc_msgSend_193 = objc.msgSendPointer @@ -8495,8 +8497,6 @@ late final _sel_URLByAppendingPathExtension_ = objc.registerName("URLByAppendingPathExtension:"); late final _sel_URLByDeletingPathExtension = objc.registerName("URLByDeletingPathExtension"); -late final _sel_checkResourceIsReachableAndReturnError_ = - objc.registerName("checkResourceIsReachableAndReturnError:"); late final _sel_URLByStandardizingPath = objc.registerName("URLByStandardizingPath"); late final _sel_URLByResolvingSymlinksInPath = @@ -8620,7 +8620,7 @@ class NSURLHandle extends NSObject { } void backgroundLoadDidFailWithReason_(NSString reason) { - _objc_msgSend_164( + _objc_msgSend_165( this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); } @@ -11019,7 +11019,7 @@ class NSMutableArray extends NSArray { NSMutableArray initWithCapacity_(int numItems) { final _ret = - _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); + _objc_msgSend_100(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11152,13 +11152,13 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithCapacity_(int numItems) { - final _ret = _objc_msgSend_99( + final _ret = _objc_msgSend_100( _class_NSMutableArray, _sel_arrayWithCapacity_, numItems); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_159( _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -11166,7 +11166,7 @@ class NSMutableArray extends NSArray { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_160( _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -11196,7 +11196,7 @@ class NSMutableArray extends NSArray { @override NSMutableArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11207,33 +11207,33 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSMutableArray arrayWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( _class_NSMutableArray, _sel_arrayWithObjects_count_, objects, cnt); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSMutableArray arrayWithArray_(NSArray array) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_152( _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11241,20 +11241,20 @@ class NSMutableArray extends NSArray { @override NSMutableArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @override NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_153( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153(_class_NSMutableArray, + final _ret = _objc_msgSend_154(_class_NSMutableArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -12460,7 +12460,7 @@ class NSMutableDictionary extends NSDictionary { NSMutableDictionary initWithCapacity_(int numItems) { final _ret = - _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); + _objc_msgSend_100(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -12501,14 +12501,14 @@ class NSMutableDictionary extends NSDictionary { } static NSMutableDictionary dictionaryWithCapacity_(int numItems) { - final _ret = _objc_msgSend_99( + final _ret = _objc_msgSend_100( _class_NSMutableDictionary, _sel_dictionaryWithCapacity_, numItems); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_183(_class_NSMutableDictionary, + final _ret = _objc_msgSend_184(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -12516,7 +12516,7 @@ class NSMutableDictionary extends NSDictionary { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_184(_class_NSMutableDictionary, + final _ret = _objc_msgSend_185(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -12554,7 +12554,7 @@ class NSMutableDictionary extends NSDictionary { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_173( + final _ret = _objc_msgSend_174( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12568,7 +12568,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_185(_class_NSMutableDictionary, + final _ret = _objc_msgSend_186(_class_NSMutableDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12578,7 +12578,7 @@ class NSMutableDictionary extends NSDictionary { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_173(_class_NSMutableDictionary, + final _ret = _objc_msgSend_174(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12586,14 +12586,14 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150(_class_NSMutableDictionary, + final _ret = _objc_msgSend_151(_class_NSMutableDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_186(_class_NSMutableDictionary, + final _ret = _objc_msgSend_187(_class_NSMutableDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12601,7 +12601,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_187(_class_NSMutableDictionary, + final _ret = _objc_msgSend_188(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12609,7 +12609,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12617,7 +12617,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_186( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12626,7 +12626,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_188(this.pointer, + final _ret = _objc_msgSend_189(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSMutableDictionary.castFromPointer(_ret, retain: false, release: true); @@ -12634,7 +12634,7 @@ class NSMutableDictionary extends NSDictionary { @override NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_187(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_188(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12642,7 +12642,7 @@ class NSMutableDictionary extends NSDictionary { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_189(_class_NSMutableDictionary, + final _ret = _objc_msgSend_190(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -12650,7 +12650,7 @@ class NSMutableDictionary extends NSDictionary { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_152( _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -12782,14 +12782,14 @@ class NSSet extends NSObject { } objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_172(this.pointer, _sel_member_, object.pointer); + final _ret = _objc_msgSend_173(this.pointer, _sel_member_, object.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } NSEnumerator objectEnumerator() { - final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); + final _ret = _objc_msgSend_111(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } @@ -12801,7 +12801,7 @@ class NSSet extends NSObject { NSSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -12815,7 +12815,7 @@ class NSSet extends NSObject { } NSArray get allObjects { - final _ret = _objc_msgSend_174(this.pointer, _sel_allObjects); + final _ret = _objc_msgSend_175(this.pointer, _sel_allObjects); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -12863,7 +12863,7 @@ class NSSet extends NSObject { void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { - _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, + _objc_msgSend_117(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } @@ -12917,20 +12917,20 @@ class NSSet extends NSObject { static NSSet setWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_150(_class_NSSet, _sel_setWithObject_, object.pointer); + _objc_msgSend_151(_class_NSSet, _sel_setWithObject_, object.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } static NSSet setWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( _class_NSSet, _sel_setWithObjects_count_, objects, cnt); return NSSet.castFromPointer(_ret, retain: true, release: true); } static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = - _objc_msgSend_150(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); + _objc_msgSend_151(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -12941,12 +12941,12 @@ class NSSet extends NSObject { static NSSet setWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(_class_NSSet, _sel_setWithArray_, array.pointer); + _objc_msgSend_152(_class_NSSet, _sel_setWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -12965,7 +12965,7 @@ class NSSet extends NSObject { NSSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -13374,7 +13374,7 @@ class NSMutableSet extends NSSet { NSMutableSet initWithCapacity_(int numItems) { final _ret = - _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); + _objc_msgSend_100(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13404,14 +13404,14 @@ class NSMutableSet extends NSSet { static NSMutableSet setWithCapacity_(int numItems) { final _ret = - _objc_msgSend_99(_class_NSMutableSet, _sel_setWithCapacity_, numItems); + _objc_msgSend_100(_class_NSMutableSet, _sel_setWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( this.pointer, _sel_initWithObjects_count_, objects, cnt); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13422,20 +13422,20 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSMutableSet, _sel_setWithObject_, object.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithObjects_count_( ffi.Pointer> objects, int cnt) { - final _ret = _objc_msgSend_100( + final _ret = _objc_msgSend_101( _class_NSMutableSet, _sel_setWithObjects_count_, objects, cnt); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( _class_NSMutableSet, _sel_setWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13447,14 +13447,14 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithArray_(NSArray array) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_152( _class_NSMutableSet, _sel_setWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @override NSMutableSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_151( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13476,7 +13476,7 @@ class NSMutableSet extends NSSet { @override NSMutableSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_152(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13569,7 +13569,7 @@ class NSItemProvider extends NSObject { NSArray get registeredTypeIdentifiers { final _ret = - _objc_msgSend_174(this.pointer, _sel_registeredTypeIdentifiers); + _objc_msgSend_175(this.pointer, _sel_registeredTypeIdentifiers); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -13640,7 +13640,7 @@ class NSItemProvider extends NSObject { NSItemProvider initWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_150(this.pointer, _sel_initWithObject_, object.pointer); + _objc_msgSend_151(this.pointer, _sel_initWithObject_, object.pointer); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } @@ -15170,15 +15170,15 @@ class NSMutableString extends NSString { } void appendString_(NSString aString) { - _objc_msgSend_164(this.pointer, _sel_appendString_, aString.pointer); + _objc_msgSend_165(this.pointer, _sel_appendString_, aString.pointer); } void appendFormat_(NSString format) { - _objc_msgSend_164(this.pointer, _sel_appendFormat_, format.pointer); + _objc_msgSend_165(this.pointer, _sel_appendFormat_, format.pointer); } void setString_(NSString aString) { - _objc_msgSend_164(this.pointer, _sel_setString_, aString.pointer); + _objc_msgSend_165(this.pointer, _sel_setString_, aString.pointer); } int replaceOccurrencesOfString_withString_options_range_(NSString target, From 0451c57a1df9e0e49761659e63be7e4ac257e7b6 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Thu, 30 May 2024 12:50:49 +1200 Subject: [PATCH 21/30] format --- pkgs/ffigen/lib/src/header_parser/utils.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index 9a11d68463..852b38d5dd 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -189,8 +189,8 @@ extension CXCursorExt on clang_types.CXCursor { Pointer clientData) => callback(child, parent), exceptionalReturn: exceptional_visitor_return); - final result = clang.clang_visitChildren( - this, visitor.nativeFunction, nullptr); + final result = + clang.clang_visitChildren(this, visitor.nativeFunction, nullptr); visitor.close(); return result == 0; } From bdaadf96df277e9674d7901286f4b597870a4c63 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 5 Jun 2024 13:09:50 +1200 Subject: [PATCH 22/30] More bugfixes for cupertino_http - Export some structs from package:objective_c - Don't codegen variadic methods (which involve __va_list_tag) - Don't codegen methods in package:objective_c that take or return blocks - Don't codegen @override annotation for methods --- .../lib/src/code_generator/compound.dart | 22 +- .../objc_built_in_functions.dart | 8 +- .../src/code_generator/objc_interface.dart | 9 +- .../lib/src/code_generator/objc_methods.dart | 35 +- .../lib/src/code_generator/objc_protocol.dart | 6 +- .../ffigen/lib/src/code_generator/struct.dart | 1 + pkgs/ffigen/lib/src/code_generator/union.dart | 1 + .../sub_parsers/compounddecl_parser.dart | 2 + pkgs/objective_c/ffigen_objc.yaml | 7 + pkgs/objective_c/lib/objective_c.dart | 2 + .../src/objective_c_bindings_generated.dart | 6569 +++-------------- 11 files changed, 1116 insertions(+), 5546 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/compound.dart b/pkgs/ffigen/lib/src/code_generator/compound.dart index 1cc3697870..025cc61550 100644 --- a/pkgs/ffigen/lib/src/code_generator/compound.dart +++ b/pkgs/ffigen/lib/src/code_generator/compound.dart @@ -34,6 +34,8 @@ abstract class Compound extends BindingType { bool get isStruct => compoundType == CompoundType.struct; bool get isUnion => compoundType == CompoundType.union; + ObjCBuiltInFunctions objCBuiltInFunctions; + Compound({ super.usr, super.originalName, @@ -44,6 +46,7 @@ abstract class Compound extends BindingType { super.dartDoc, List? members, super.isInternal, + required this.objCBuiltInFunctions, }) : members = members ?? []; factory Compound.fromType({ @@ -55,6 +58,7 @@ abstract class Compound extends BindingType { int? pack, String? dartDoc, List? members, + required ObjCBuiltInFunctions objCBuiltInFunctions, }) { switch (type) { case CompoundType.struct: @@ -66,6 +70,7 @@ abstract class Compound extends BindingType { pack: pack, dartDoc: dartDoc, members: members, + objCBuiltInFunctions: objCBuiltInFunctions, ); case CompoundType.union: return Union( @@ -76,6 +81,7 @@ abstract class Compound extends BindingType { pack: pack, dartDoc: dartDoc, members: members, + objCBuiltInFunctions: objCBuiltInFunctions, ); } } @@ -88,8 +94,16 @@ abstract class Compound extends BindingType { return type.getCType(w); } + bool get _isBuiltIn => objCBuiltInFunctions.isBuiltInInterface(originalName); + @override BindingString toBindingString(Writer w) { + final bindingType = + isStruct ? BindingStringType.struct : BindingStringType.union; + if (_isBuiltIn) { + return BindingString(type: bindingType, string: ''); + } + final s = StringBuffer(); final enclosingClassName = name; if (dartDoc != null) { @@ -135,14 +149,12 @@ abstract class Compound extends BindingType { } s.write('}\n\n'); - return BindingString( - type: isStruct ? BindingStringType.struct : BindingStringType.union, - string: s.toString()); + return BindingString(type: bindingType, string: s.toString()); } @override void addDependencies(Set dependencies) { - if (dependencies.contains(this)) return; + if (dependencies.contains(this) || _isBuiltIn) return; dependencies.add(this); for (final m in members) { @@ -154,7 +166,7 @@ abstract class Compound extends BindingType { bool get isIncompleteCompound => isIncomplete; @override - String getCType(Writer w) => name; + String getCType(Writer w) => _isBuiltIn ? '${w.objcPkgPrefix}.$name' : name; @override bool get sameFfiDartAndCType => true; diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index 07e8a1f436..b89364e734 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -51,12 +51,12 @@ class ObjCBuiltInFunctions { 'NSMutableArray', 'NSMutableData', 'NSMutableDictionary', + 'NSMutableIndexSet', 'NSMutableSet', 'NSMutableString', 'NSNotification', 'NSNumber', 'NSObject', - 'NSProgress', 'NSProxy', 'NSSet', 'NSString', @@ -65,11 +65,17 @@ class ObjCBuiltInFunctions { 'NSValue', 'Protocol', }; + static const builtInCompounds = { + 'NSRange', + 'NSFastEnumerationState', + }; // TODO(https://github.com/dart-lang/native/issues/1173): Ideally this check // would be based on more than just the name. bool isBuiltInInterface(String name) => !generateForPackageObjectiveC && builtInInterfaces.contains(name); + bool isBuiltInCompound(String name) => + !generateForPackageObjectiveC && builtInCompounds.contains(name); bool isNSObject(String name) => name == 'NSObject'; // We need to load a separate instance of objc_msgSend for each signature. If diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 0b1c19bdad..90e69bcadc 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -53,7 +53,7 @@ class ObjCInterface extends BindingType with ObjCMethods { }) : lookupName = lookupName ?? originalName, super(name: name ?? originalName); - bool get _isBuiltIn => builtInFunctions.isBuiltInInterface(name); + bool get _isBuiltIn => builtInFunctions.isBuiltInInterface(originalName); @override BindingString toBindingString(Writer w) { @@ -147,9 +147,6 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { } s.write(paramsToString(params, isStatic: true)); } else { - if (superType?.getMethod(m.originalName)?.sameAs(m) ?? false) { - s.write('@override\n '); - } switch (m.kind) { case ObjCMethodKind.method: // returnType methodName(...) @@ -225,7 +222,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { _isKindOfClassMsgSend = builtInFunctions.getMsgSendFunc( BooleanType(), [ObjCMethodParam(PointerType(objCObjectType), 'clazz')]); - addMethodDependencies(dependencies, builtInFunctions, needMsgSend: true); + addMethodDependencies(dependencies, needMsgSend: true); if (superType != null) { superType!.addDependencies(dependencies); @@ -233,7 +230,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { _fixNullabilityOfOverriddenMethods(); // Add dependencies for any methods that were added. - addMethodDependencies(dependencies, builtInFunctions, needMsgSend: true); + addMethodDependencies(dependencies, needMsgSend: true); } builtInFunctions.addDependencies(dependencies); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index 709471db1f..90201a89a7 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -16,15 +16,17 @@ mixin ObjCMethods { ObjCMethod? getMethod(String name) => _methods[name]; String get originalName; + ObjCBuiltInFunctions get builtInFunctions; void addMethod(ObjCMethod method) { - _methods[method.originalName] = - _maybeReplaceMethod(getMethod(method.originalName), method); + if (_shouldIncludeMethod(method)) { + _methods[method.originalName] = + _maybeReplaceMethod(getMethod(method.originalName), method); + } } void addMethodDependencies( - Set dependencies, - ObjCBuiltInFunctions builtInFunctions, { + Set dependencies, { bool needMsgSend = false, bool needProtocolBlock = false, }) { @@ -71,6 +73,26 @@ mixin ObjCMethods { return newMethod; } + + bool _shouldIncludeMethod(ObjCMethod method) => + method.childTypes.every((Type t) { + t = t.typealiasType.baseType; + + // Ignore methods with variadic args. + // TODO(https://github.com/dart-lang/native/issues/1192): Remove this. + if (t is Struct && t.originalName == '__va_list_tag') { + return false; + } + + // Ignore methods with block args or rets when we're generating in + // package:objective_c. + // TODO(https://github.com/dart-lang/native/issues/1180): Remove this. + if (builtInFunctions.generateForPackageObjectiveC && t is ObjCBlock) { + return false; + } + + return true; + }); } enum ObjCMethodKind { @@ -180,6 +202,11 @@ class ObjCMethod { originalName.startsWith('alloc') || originalName.contains(_copyRegExp); + Iterable get childTypes sync* { + yield returnType; + for (final p in params) yield p.type; + } + @override String toString() => '${isOptional ? "@optional " : ""}$returnType $originalName(${params.join(', ')})'; diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 7e970b3eb6..c5dfc5784e 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -109,12 +109,14 @@ abstract final class $name { superProto.addDependencies(dependencies); } - addMethodDependencies(dependencies, builtInFunctions, - needProtocolBlock: true); + addMethodDependencies(dependencies, needProtocolBlock: true); for (final superProto in superProtos) { _copyMethodsFromSuperType(superProto); } + + // Add dependencies for any methods that were added. + addMethodDependencies(dependencies, needProtocolBlock: true); } void _copyMethodsFromSuperType(ObjCProtocol superProto) { diff --git a/pkgs/ffigen/lib/src/code_generator/struct.dart b/pkgs/ffigen/lib/src/code_generator/struct.dart index 7a95d67766..7e67e2ed71 100644 --- a/pkgs/ffigen/lib/src/code_generator/struct.dart +++ b/pkgs/ffigen/lib/src/code_generator/struct.dart @@ -38,5 +38,6 @@ class Struct extends Compound { super.dartDoc, super.members, super.isInternal, + required super.objCBuiltInFunctions, }) : super(compoundType: CompoundType.struct); } diff --git a/pkgs/ffigen/lib/src/code_generator/union.dart b/pkgs/ffigen/lib/src/code_generator/union.dart index 65d9afbfe8..dc483f43f8 100644 --- a/pkgs/ffigen/lib/src/code_generator/union.dart +++ b/pkgs/ffigen/lib/src/code_generator/union.dart @@ -36,5 +36,6 @@ class Union extends Compound { super.pack, super.dartDoc, super.members, + required super.objCBuiltInFunctions, }) : super(compoundType: CompoundType.union); } diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart index 519d12c568..0ddc4daadd 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/compounddecl_parser.dart @@ -123,6 +123,7 @@ Compound? parseCompoundDeclaration( name: incrementalNamer.name('Unnamed$className'), usr: declUsr, dartDoc: getCursorDocComment(cursor), + objCBuiltInFunctions: objCBuiltInFunctions, ); } else { _logger.finest('unnamed $className declaration'); @@ -137,6 +138,7 @@ Compound? parseCompoundDeclaration( originalName: declName, name: configDecl.renameUsingConfig(declName), dartDoc: getCursorDocComment(cursor), + objCBuiltInFunctions: objCBuiltInFunctions, ); } return null; diff --git a/pkgs/objective_c/ffigen_objc.yaml b/pkgs/objective_c/ffigen_objc.yaml index 4c23807208..34e51249da 100644 --- a/pkgs/objective_c/ffigen_objc.yaml +++ b/pkgs/objective_c/ffigen_objc.yaml @@ -31,6 +31,7 @@ objc-interfaces: - NSMutableArray - NSMutableData - NSMutableDictionary + - NSMutableIndexSet - NSMutableSet - NSMutableString - NSNotification @@ -44,6 +45,12 @@ objc-interfaces: - NSURLHandle - NSValue - Protocol +structs: + include: + - _NSRange + - NSFastEnumerationState + rename: + _NSRange: NSRange preamble: | // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index ed2444e8e1..c852fb381f 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -38,6 +38,7 @@ export 'src/objective_c_bindings_generated.dart' NSMutableArray, NSMutableData, NSMutableDictionary, + NSMutableIndexSet, NSMutableSet, NSMutableString, NSNotification, @@ -45,6 +46,7 @@ export 'src/objective_c_bindings_generated.dart' NSObject, NSProgress, NSProxy, + NSRange, NSSet, NSString, NSURL, diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index 527c2e4085..c60fb8b760 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -197,7 +197,7 @@ class NSObject extends objc.ObjCObjectBase { } static void setVersion_(int aVersion) { - _objc_msgSend_288(_class_NSObject, _sel_setVersion_, aVersion); + _objc_msgSend_247(_class_NSObject, _sel_setVersion_, aVersion); } objc.ObjCObjectBase get classForCoder { @@ -222,7 +222,7 @@ class NSObject extends objc.ObjCObjectBase { } static void poseAsClass_(objc.ObjCObjectBase aClass) { - _objc_msgSend_203(_class_NSObject, _sel_poseAsClass_, aClass.pointer); + _objc_msgSend_172(_class_NSObject, _sel_poseAsClass_, aClass.pointer); } objc.ObjCObjectBase get autoContentAccessingProxy { @@ -237,7 +237,7 @@ class NSObject extends objc.ObjCObjectBase { objc.ObjCObjectBase? delegate, ffi.Pointer didRecoverSelector, ffi.Pointer contextInfo) { - _objc_msgSend_289( + _objc_msgSend_248( this.pointer, _sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, error.pointer, @@ -249,7 +249,7 @@ class NSObject extends objc.ObjCObjectBase { bool attemptRecoveryFromError_optionIndex_( NSError error, int recoveryOptionIndex) { - return _objc_msgSend_290( + return _objc_msgSend_249( this.pointer, _sel_attemptRecoveryFromError_optionIndex_, error.pointer, @@ -257,22 +257,22 @@ class NSObject extends objc.ObjCObjectBase { } void URL_resourceDataDidBecomeAvailable_(NSURL sender, NSData newBytes) { - _objc_msgSend_291(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, + _objc_msgSend_250(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, sender.pointer, newBytes.pointer); } void URLResourceDidFinishLoading_(NSURL sender) { - _objc_msgSend_292( + _objc_msgSend_251( this.pointer, _sel_URLResourceDidFinishLoading_, sender.pointer); } void URLResourceDidCancelLoading_(NSURL sender) { - _objc_msgSend_292( + _objc_msgSend_251( this.pointer, _sel_URLResourceDidCancelLoading_, sender.pointer); } void URL_resourceDidFailLoadingWithReason_(NSURL sender, NSString reason) { - _objc_msgSend_293(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, + _objc_msgSend_252(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, sender.pointer, reason.pointer); } } @@ -503,7 +503,6 @@ class NSMethodSignature extends NSObject { return _objc_msgSend_11(this.pointer, _sel_methodReturnLength); } - @override NSMethodSignature init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); @@ -644,7 +643,6 @@ class NSString extends NSObject { return _objc_msgSend_16(this.pointer, _sel_characterAtIndex_, index); } - @override NSString init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSString.castFromPointer(_ret, retain: true, release: true); @@ -668,14 +666,14 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } - NSString substringWithRange_(_NSRange range) { + NSString substringWithRange_(NSRange range) { final _ret = _objc_msgSend_19(this.pointer, _sel_substringWithRange_, range); return NSString.castFromPointer(_ret, retain: true, release: true); } void getCharacters_range_( - ffi.Pointer buffer, _NSRange range) { + ffi.Pointer buffer, NSRange range) { _objc_msgSend_20(this.pointer, _sel_getCharacters_range_, buffer, range); } @@ -689,13 +687,13 @@ class NSString extends NSObject { } int compare_options_range_( - NSString string, int mask, _NSRange rangeOfReceiverToCompare) { + NSString string, int mask, NSRange rangeOfReceiverToCompare) { return _objc_msgSend_23(this.pointer, _sel_compare_options_range_, string.pointer, mask, rangeOfReceiverToCompare); } int compare_options_range_locale_(NSString string, int mask, - _NSRange rangeOfReceiverToCompare, objc.ObjCObjectBase? locale) { + NSRange rangeOfReceiverToCompare, objc.ObjCObjectBase? locale) { return _objc_msgSend_24( this.pointer, _sel_compare_options_range_locale_, @@ -759,7 +757,7 @@ class NSString extends NSObject { } void localizedStandardRangeOfString_( - ffi.Pointer<_NSRange> stret, NSString str) { + ffi.Pointer stret, NSString str) { objc.useMsgSendVariants ? _objc_msgSend_27Stret(stret, this.pointer, _sel_localizedStandardRangeOfString_, str.pointer) @@ -767,7 +765,7 @@ class NSString extends NSObject { this.pointer, _sel_localizedStandardRangeOfString_, str.pointer); } - void rangeOfString_(ffi.Pointer<_NSRange> stret, NSString searchString) { + void rangeOfString_(ffi.Pointer stret, NSString searchString) { objc.useMsgSendVariants ? _objc_msgSend_27Stret( stret, this.pointer, _sel_rangeOfString_, searchString.pointer) @@ -776,7 +774,7 @@ class NSString extends NSObject { } void rangeOfString_options_( - ffi.Pointer<_NSRange> stret, NSString searchString, int mask) { + ffi.Pointer stret, NSString searchString, int mask) { objc.useMsgSendVariants ? _objc_msgSend_28Stret(stret, this.pointer, _sel_rangeOfString_options_, searchString.pointer, mask) @@ -784,8 +782,8 @@ class NSString extends NSObject { _sel_rangeOfString_options_, searchString.pointer, mask); } - void rangeOfString_options_range_(ffi.Pointer<_NSRange> stret, - NSString searchString, int mask, _NSRange rangeOfReceiverToSearch) { + void rangeOfString_options_range_(ffi.Pointer stret, + NSString searchString, int mask, NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants ? _objc_msgSend_29Stret( stret, @@ -803,10 +801,10 @@ class NSString extends NSObject { } void rangeOfString_options_range_locale_( - ffi.Pointer<_NSRange> stret, + ffi.Pointer stret, NSString searchString, int mask, - _NSRange rangeOfReceiverToSearch, + NSRange rangeOfReceiverToSearch, NSLocale? locale) { objc.useMsgSendVariants ? _objc_msgSend_30Stret( @@ -827,34 +825,34 @@ class NSString extends NSObject { } void rangeOfCharacterFromSet_( - ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet) { + ffi.Pointer stret, NSCharacterSet searchSet) { objc.useMsgSendVariants - ? _objc_msgSend_234Stret(stret, this.pointer, + ? _objc_msgSend_201Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer) - : stret.ref = _objc_msgSend_234( + : stret.ref = _objc_msgSend_201( this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer); } void rangeOfCharacterFromSet_options_( - ffi.Pointer<_NSRange> stret, NSCharacterSet searchSet, int mask) { + ffi.Pointer stret, NSCharacterSet searchSet, int mask) { objc.useMsgSendVariants - ? _objc_msgSend_235Stret(stret, this.pointer, + ? _objc_msgSend_202Stret(stret, this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask) - : stret.ref = _objc_msgSend_235(this.pointer, + : stret.ref = _objc_msgSend_202(this.pointer, _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask); } - void rangeOfCharacterFromSet_options_range_(ffi.Pointer<_NSRange> stret, - NSCharacterSet searchSet, int mask, _NSRange rangeOfReceiverToSearch) { + void rangeOfCharacterFromSet_options_range_(ffi.Pointer stret, + NSCharacterSet searchSet, int mask, NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants - ? _objc_msgSend_236Stret( + ? _objc_msgSend_203Stret( stret, this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, mask, rangeOfReceiverToSearch) - : stret.ref = _objc_msgSend_236( + : stret.ref = _objc_msgSend_203( this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, @@ -863,20 +861,20 @@ class NSString extends NSObject { } void rangeOfComposedCharacterSequenceAtIndex_( - ffi.Pointer<_NSRange> stret, int index) { + ffi.Pointer stret, int index) { objc.useMsgSendVariants - ? _objc_msgSend_237Stret(stret, this.pointer, + ? _objc_msgSend_204Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index) - : stret.ref = _objc_msgSend_237( + : stret.ref = _objc_msgSend_204( this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index); } void rangeOfComposedCharacterSequencesForRange_( - ffi.Pointer<_NSRange> stret, _NSRange range) { + ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_238Stret(stret, this.pointer, + ? _objc_msgSend_205Stret(stret, this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range) - : stret.ref = _objc_msgSend_238(this.pointer, + : stret.ref = _objc_msgSend_205(this.pointer, _sel_rangeOfComposedCharacterSequencesForRange_, range); } @@ -952,19 +950,19 @@ class NSString extends NSObject { } NSString uppercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_239(this.pointer, + final _ret = _objc_msgSend_206(this.pointer, _sel_uppercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString lowercaseStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_239(this.pointer, + final _ret = _objc_msgSend_206(this.pointer, _sel_lowercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString capitalizedStringWithLocale_(NSLocale? locale) { - final _ret = _objc_msgSend_239(this.pointer, + final _ret = _objc_msgSend_206(this.pointer, _sel_capitalizedStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } @@ -973,25 +971,25 @@ class NSString extends NSObject { ffi.Pointer startPtr, ffi.Pointer lineEndPtr, ffi.Pointer contentsEndPtr, - _NSRange range) { - _objc_msgSend_240(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, + NSRange range) { + _objc_msgSend_207(this.pointer, _sel_getLineStart_end_contentsEnd_forRange_, startPtr, lineEndPtr, contentsEndPtr, range); } - void lineRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { + void lineRangeForRange_(ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_238Stret( + ? _objc_msgSend_205Stret( stret, this.pointer, _sel_lineRangeForRange_, range) : stret.ref = - _objc_msgSend_238(this.pointer, _sel_lineRangeForRange_, range); + _objc_msgSend_205(this.pointer, _sel_lineRangeForRange_, range); } void getParagraphStart_end_contentsEnd_forRange_( ffi.Pointer startPtr, ffi.Pointer parEndPtr, ffi.Pointer contentsEndPtr, - _NSRange range) { - _objc_msgSend_240( + NSRange range) { + _objc_msgSend_207( this.pointer, _sel_getParagraphStart_end_contentsEnd_forRange_, startPtr, @@ -1000,29 +998,14 @@ class NSString extends NSObject { range); } - void paragraphRangeForRange_(ffi.Pointer<_NSRange> stret, _NSRange range) { + void paragraphRangeForRange_(ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants - ? _objc_msgSend_238Stret( + ? _objc_msgSend_205Stret( stret, this.pointer, _sel_paragraphRangeForRange_, range) - : stret.ref = _objc_msgSend_238( + : stret.ref = _objc_msgSend_205( this.pointer, _sel_paragraphRangeForRange_, range); } - void enumerateSubstringsInRange_options_usingBlock_(_NSRange range, int opts, - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool block) { - _objc_msgSend_241( - this.pointer, - _sel_enumerateSubstringsInRange_options_usingBlock_, - range, - opts, - block.pointer); - } - - void enumerateLinesUsingBlock_(ObjCBlock_ffiVoid_NSString_bool block) { - _objc_msgSend_242( - this.pointer, _sel_enumerateLinesUsingBlock_, block.pointer); - } - ffi.Pointer get UTF8String { return _objc_msgSend_14(this.pointer, _sel_UTF8String); } @@ -1036,7 +1019,7 @@ class NSString extends NSObject { } NSData? dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) { - final _ret = _objc_msgSend_243(this.pointer, + final _ret = _objc_msgSend_208(this.pointer, _sel_dataUsingEncoding_allowLossyConversion_, encoding, lossy); return _ret.address == 0 ? null @@ -1045,7 +1028,7 @@ class NSString extends NSObject { NSData? dataUsingEncoding_(int encoding) { final _ret = - _objc_msgSend_244(this.pointer, _sel_dataUsingEncoding_, encoding); + _objc_msgSend_209(this.pointer, _sel_dataUsingEncoding_, encoding); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); @@ -1062,7 +1045,7 @@ class NSString extends NSObject { bool getCString_maxLength_encoding_( ffi.Pointer buffer, int maxBufferCount, int encoding) { - return _objc_msgSend_245(this.pointer, _sel_getCString_maxLength_encoding_, + return _objc_msgSend_210(this.pointer, _sel_getCString_maxLength_encoding_, buffer, maxBufferCount, encoding); } @@ -1072,9 +1055,9 @@ class NSString extends NSObject { ffi.Pointer usedBufferCount, int encoding, int options, - _NSRange range, - ffi.Pointer<_NSRange> leftover) { - return _objc_msgSend_246( + NSRange range, + ffi.Pointer leftover) { + return _objc_msgSend_211( this.pointer, _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, buffer, @@ -1097,7 +1080,7 @@ class NSString extends NSObject { } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_247(_class_NSString, _sel_availableStringEncodings); + return _objc_msgSend_212(_class_NSString, _sel_availableStringEncodings); } static NSString localizedNameOfStringEncoding_(int encoding) { @@ -1135,26 +1118,26 @@ class NSString extends NSObject { } NSArray componentsSeparatedByString_(NSString separator) { - final _ret = _objc_msgSend_248( + final _ret = _objc_msgSend_213( this.pointer, _sel_componentsSeparatedByString_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray componentsSeparatedByCharactersInSet_(NSCharacterSet separator) { - final _ret = _objc_msgSend_249(this.pointer, + final _ret = _objc_msgSend_214(this.pointer, _sel_componentsSeparatedByCharactersInSet_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSString stringByTrimmingCharactersInSet_(NSCharacterSet set) { - final _ret = _objc_msgSend_250( + final _ret = _objc_msgSend_215( this.pointer, _sel_stringByTrimmingCharactersInSet_, set.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString stringByPaddingToLength_withString_startingAtIndex_( int newLength, NSString padString, int padIndex) { - final _ret = _objc_msgSend_251( + final _ret = _objc_msgSend_216( this.pointer, _sel_stringByPaddingToLength_withString_startingAtIndex_, newLength, @@ -1164,7 +1147,7 @@ class NSString extends NSObject { } NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) { - final _ret = _objc_msgSend_252( + final _ret = _objc_msgSend_217( this.pointer, _sel_stringByFoldingWithOptions_locale_, options, @@ -1173,11 +1156,8 @@ class NSString extends NSObject { } NSString stringByReplacingOccurrencesOfString_withString_options_range_( - NSString target, - NSString replacement, - int options, - _NSRange searchRange) { - final _ret = _objc_msgSend_253( + NSString target, NSString replacement, int options, NSRange searchRange) { + final _ret = _objc_msgSend_218( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_options_range_, target.pointer, @@ -1189,7 +1169,7 @@ class NSString extends NSObject { NSString stringByReplacingOccurrencesOfString_withString_( NSString target, NSString replacement) { - final _ret = _objc_msgSend_254( + final _ret = _objc_msgSend_219( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_, target.pointer, @@ -1198,8 +1178,8 @@ class NSString extends NSObject { } NSString stringByReplacingCharactersInRange_withString_( - _NSRange range, NSString replacement) { - final _ret = _objc_msgSend_255( + NSRange range, NSString replacement) { + final _ret = _objc_msgSend_220( this.pointer, _sel_stringByReplacingCharactersInRange_withString_, range, @@ -1209,7 +1189,7 @@ class NSString extends NSObject { NSString? stringByApplyingTransform_reverse_( NSString transform, bool reverse) { - final _ret = _objc_msgSend_256(this.pointer, + final _ret = _objc_msgSend_221(this.pointer, _sel_stringByApplyingTransform_reverse_, transform.pointer, reverse); return _ret.address == 0 ? null @@ -1218,7 +1198,7 @@ class NSString extends NSObject { bool writeToURL_atomically_encoding_error_(NSURL url, bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_257( + return _objc_msgSend_222( this.pointer, _sel_writeToURL_atomically_encoding_error_, url.pointer, @@ -1232,7 +1212,7 @@ class NSString extends NSObject { bool useAuxiliaryFile, int enc, ffi.Pointer> error) { - return _objc_msgSend_258( + return _objc_msgSend_223( this.pointer, _sel_writeToFile_atomically_encoding_error_, path.pointer, @@ -1252,7 +1232,7 @@ class NSString extends NSObject { NSString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_259( + final _ret = _objc_msgSend_224( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -1261,28 +1241,15 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: false, release: true); } - NSString initWithCharactersNoCopy_length_deallocator_( - ffi.Pointer chars, - int len, - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_260( - this.pointer, - _sel_initWithCharactersNoCopy_length_deallocator_, - chars, - len, - deallocator?.pointer ?? ffi.nullptr); - return NSString.castFromPointer(_ret, retain: false, release: true); - } - NSString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_225( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } NSString? initWithUTF8String_(ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_226( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1301,36 +1268,18 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } - NSString initWithFormat_arguments_( - NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_263( - this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - NSString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_264(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_227(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } - NSString initWithFormat_locale_arguments_(NSString format, - objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_265( - this.pointer, - _sel_initWithFormat_locale_arguments_, - format.pointer, - locale?.pointer ?? ffi.nullptr, - argList); - return NSString.castFromPointer(_ret, retain: true, release: true); - } - NSString? initWithValidatedFormat_validFormatSpecifiers_error_( NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1346,7 +1295,7 @@ class NSString extends NSObject { NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_267( + final _ret = _objc_msgSend_229( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -1358,45 +1307,8 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } - NSString? initWithValidatedFormat_validFormatSpecifiers_arguments_error_( - NSString format, - NSString validFormatSpecifiers, - ffi.Pointer<__va_list_tag> argList, - ffi.Pointer> error) { - final _ret = _objc_msgSend_268( - this.pointer, - _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, - format.pointer, - validFormatSpecifiers.pointer, - argList, - error); - return _ret.address == 0 - ? null - : NSString.castFromPointer(_ret, retain: true, release: true); - } - - NSString? - initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( - NSString format, - NSString validFormatSpecifiers, - objc.ObjCObjectBase? locale, - ffi.Pointer<__va_list_tag> argList, - ffi.Pointer> error) { - final _ret = _objc_msgSend_269( - this.pointer, - _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, - format.pointer, - validFormatSpecifiers.pointer, - locale?.pointer ?? ffi.nullptr, - argList, - error); - return _ret.address == 0 - ? null - : NSString.castFromPointer(_ret, retain: true, release: true); - } - NSString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_230( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null @@ -1405,7 +1317,7 @@ class NSString extends NSObject { NSString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_271(this.pointer, + final _ret = _objc_msgSend_231(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null @@ -1414,7 +1326,7 @@ class NSString extends NSObject { NSString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_232( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -1426,23 +1338,6 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: false, release: true); } - NSString? initWithBytesNoCopy_length_encoding_deallocator_( - ffi.Pointer bytes, - int len, - int encoding, - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_273( - this.pointer, - _sel_initWithBytesNoCopy_length_encoding_deallocator_, - bytes, - len, - encoding, - deallocator?.pointer ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSString.castFromPointer(_ret, retain: false, release: true); - } - static NSString string() { final _ret = _objc_msgSend_2(_class_NSString, _sel_string); return NSString.castFromPointer(_ret, retain: true, release: true); @@ -1456,14 +1351,14 @@ class NSString extends NSObject { static NSString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_225( _class_NSString, _sel_stringWithCharacters_length_, characters, length); return NSString.castFromPointer(_ret, retain: true, release: true); } static NSString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_226( _class_NSString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -1486,7 +1381,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( _class_NSString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1502,7 +1397,7 @@ class NSString extends NSObject { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( _class_NSString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -1515,7 +1410,7 @@ class NSString extends NSObject { NSString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_274(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_233(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -1524,7 +1419,7 @@ class NSString extends NSObject { static NSString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_233( _class_NSString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null @@ -1533,7 +1428,7 @@ class NSString extends NSObject { NSString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_275(this.pointer, + final _ret = _objc_msgSend_234(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1542,7 +1437,7 @@ class NSString extends NSObject { NSString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_276(this.pointer, + final _ret = _objc_msgSend_235(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -1551,7 +1446,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_275(_class_NSString, + final _ret = _objc_msgSend_234(_class_NSString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -1560,7 +1455,7 @@ class NSString extends NSObject { static NSString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_276( + final _ret = _objc_msgSend_235( _class_NSString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -1575,7 +1470,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_236( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1590,7 +1485,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_278( + final _ret = _objc_msgSend_237( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1605,7 +1500,7 @@ class NSString extends NSObject { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_236( _class_NSString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -1620,7 +1515,7 @@ class NSString extends NSObject { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_278( + final _ret = _objc_msgSend_237( _class_NSString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -1637,7 +1532,7 @@ class NSString extends NSObject { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_279( + return _objc_msgSend_238( _class_NSString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -1653,7 +1548,7 @@ class NSString extends NSObject { NSDictionary? propertyListFromStringsFileFormat() { final _ret = - _objc_msgSend_280(this.pointer, _sel_propertyListFromStringsFileFormat); + _objc_msgSend_239(this.pointer, _sel_propertyListFromStringsFileFormat); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); @@ -1672,17 +1567,17 @@ class NSString extends NSObject { } void getCString_(ffi.Pointer bytes) { - _objc_msgSend_281(this.pointer, _sel_getCString_, bytes); + _objc_msgSend_240(this.pointer, _sel_getCString_, bytes); } void getCString_maxLength_(ffi.Pointer bytes, int maxLength) { - _objc_msgSend_282( + _objc_msgSend_241( this.pointer, _sel_getCString_maxLength_, bytes, maxLength); } void getCString_maxLength_range_remainingRange_(ffi.Pointer bytes, - int maxLength, _NSRange aRange, ffi.Pointer<_NSRange> leftoverRange) { - _objc_msgSend_283( + int maxLength, NSRange aRange, ffi.Pointer leftoverRange) { + _objc_msgSend_242( this.pointer, _sel_getCString_maxLength_range_remainingRange_, bytes, @@ -1697,7 +1592,7 @@ class NSString extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -1710,7 +1605,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1726,7 +1621,7 @@ class NSString extends NSObject { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( _class_NSString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -1735,7 +1630,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCStringNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool freeBuffer) { - final _ret = _objc_msgSend_284( + final _ret = _objc_msgSend_243( this.pointer, _sel_initWithCStringNoCopy_length_freeWhenDone_, bytes, @@ -1748,7 +1643,7 @@ class NSString extends NSObject { objc.ObjCObjectBase? initWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_233( this.pointer, _sel_initWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1756,7 +1651,7 @@ class NSString extends NSObject { } objc.ObjCObjectBase? initWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_262(this.pointer, _sel_initWithCString_, bytes); + final _ret = _objc_msgSend_226(this.pointer, _sel_initWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -1764,7 +1659,7 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_233( _class_NSString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -1773,19 +1668,19 @@ class NSString extends NSObject { static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { final _ret = - _objc_msgSend_262(_class_NSString, _sel_stringWithCString_, bytes); + _objc_msgSend_226(_class_NSString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } void getCharacters_(ffi.Pointer buffer) { - _objc_msgSend_285(this.pointer, _sel_getCharacters_, buffer); + _objc_msgSend_244(this.pointer, _sel_getCharacters_, buffer); } NSString? stringByAddingPercentEncodingWithAllowedCharacters_( NSCharacterSet allowedCharacters) { - final _ret = _objc_msgSend_286( + final _ret = _objc_msgSend_245( this.pointer, _sel_stringByAddingPercentEncodingWithAllowedCharacters_, allowedCharacters.pointer); @@ -1803,7 +1698,7 @@ class NSString extends NSObject { } NSString? stringByAddingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_287( + final _ret = _objc_msgSend_246( this.pointer, _sel_stringByAddingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -1811,7 +1706,7 @@ class NSString extends NSObject { } NSString? stringByReplacingPercentEscapesUsingEncoding_(int enc) { - final _ret = _objc_msgSend_287( + final _ret = _objc_msgSend_246( this.pointer, _sel_stringByReplacingPercentEscapesUsingEncoding_, enc); return _ret.address == 0 ? null @@ -1889,7 +1784,7 @@ final _objc_msgSend_18 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_substringToIndex_ = objc.registerName("substringToIndex:"); -final class _NSRange extends ffi.Struct { +final class NSRange extends ffi.Struct { @ffi.UnsignedLong() external int location; @@ -1902,10 +1797,10 @@ final _objc_msgSend_19 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_getCharacters_range_ = objc.registerName("getCharacters:range:"); final _objc_msgSend_20 = objc.msgSendPointer @@ -1915,13 +1810,13 @@ final _objc_msgSend_20 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>(); + NSRange)>(); abstract class NSComparisonResult { static const int NSOrderedAscending = -1; @@ -1978,14 +1873,14 @@ final _objc_msgSend_23 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< int Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); late final _sel_compare_options_range_locale_ = objc.registerName("compare:options:range:locale:"); final _objc_msgSend_24 = objc.msgSendPointer @@ -1996,7 +1891,7 @@ final _objc_msgSend_24 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< int Function( @@ -2004,7 +1899,7 @@ final _objc_msgSend_24 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, - _NSRange, + NSRange, ffi.Pointer)>(); late final _sel_caseInsensitiveCompare_ = objc.registerName("caseInsensitiveCompare:"); @@ -2052,23 +1947,23 @@ late final _sel_localizedStandardRangeOfString_ = final _objc_msgSend_27 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - _NSRange Function(ffi.Pointer, + NSRange Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); final _objc_msgSend_27Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_rangeOfString_ = objc.registerName("rangeOfString:"); late final _sel_rangeOfString_options_ = @@ -2076,13 +1971,13 @@ late final _sel_rangeOfString_options_ = final _objc_msgSend_28 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, @@ -2091,14 +1986,14 @@ final _objc_msgSend_28Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, @@ -2108,37 +2003,37 @@ late final _sel_rangeOfString_options_range_ = final _objc_msgSend_29 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); final _objc_msgSend_29Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); class NSLocale extends objc.ObjCObjectBase { NSLocale._(ffi.Pointer pointer, @@ -2166,40 +2061,40 @@ late final _sel_rangeOfString_options_range_locale_ = final _objc_msgSend_30 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange, + NSRange, ffi.Pointer)>(); final _objc_msgSend_30Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange, + NSRange, ffi.Pointer)>(); class NSCharacterSet extends NSObject { @@ -2312,7 +2207,7 @@ class NSCharacterSet extends NSObject { return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); } - static NSCharacterSet characterSetWithRange_(_NSRange aRange) { + static NSCharacterSet characterSetWithRange_(NSRange aRange) { final _ret = _objc_msgSend_32( _class_NSCharacterSet, _sel_characterSetWithRange_, aRange); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); @@ -2325,13 +2220,13 @@ class NSCharacterSet extends NSObject { } static NSCharacterSet characterSetWithBitmapRepresentation_(NSData data) { - final _ret = _objc_msgSend_227(_class_NSCharacterSet, + final _ret = _objc_msgSend_194(_class_NSCharacterSet, _sel_characterSetWithBitmapRepresentation_, data.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } static NSCharacterSet? characterSetWithContentsOfFile_(NSString fName) { - final _ret = _objc_msgSend_228(_class_NSCharacterSet, + final _ret = _objc_msgSend_195(_class_NSCharacterSet, _sel_characterSetWithContentsOfFile_, fName.pointer); return _ret.address == 0 ? null @@ -2340,12 +2235,12 @@ class NSCharacterSet extends NSObject { NSCharacterSet initWithCoder_(NSCoder coder) { final _ret = - _objc_msgSend_229(this.pointer, _sel_initWithCoder_, coder.pointer); + _objc_msgSend_196(this.pointer, _sel_initWithCoder_, coder.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } bool characterIsMember_(int aCharacter) { - return _objc_msgSend_230(this.pointer, _sel_characterIsMember_, aCharacter); + return _objc_msgSend_197(this.pointer, _sel_characterIsMember_, aCharacter); } NSData get bitmapRepresentation { @@ -2359,17 +2254,17 @@ class NSCharacterSet extends NSObject { } bool longCharacterIsMember_(int theLongChar) { - return _objc_msgSend_231( + return _objc_msgSend_198( this.pointer, _sel_longCharacterIsMember_, theLongChar); } bool isSupersetOfSet_(NSCharacterSet theOtherSet) { - return _objc_msgSend_232( + return _objc_msgSend_199( this.pointer, _sel_isSupersetOfSet_, theOtherSet.pointer); } bool hasMemberInPlane_(int thePlane) { - return _objc_msgSend_233(this.pointer, _sel_hasMemberInPlane_, thePlane); + return _objc_msgSend_200(this.pointer, _sel_hasMemberInPlane_, thePlane); } static NSCharacterSet getURLUserAllowedCharacterSet() { @@ -2408,7 +2303,6 @@ class NSCharacterSet extends NSObject { return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } - @override NSCharacterSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); @@ -2470,10 +2364,10 @@ final _objc_msgSend_32 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_characterSetWithCharactersInString_ = objc.registerName("characterSetWithCharactersInString:"); final _objc_msgSend_33 = objc.msgSendPointer @@ -2523,7 +2417,7 @@ class NSData extends NSObject { _objc_msgSend_36(this.pointer, _sel_getBytes_length_, buffer, length); } - void getBytes_range_(ffi.Pointer buffer, _NSRange range) { + void getBytes_range_(ffi.Pointer buffer, NSRange range) { _objc_msgSend_37(this.pointer, _sel_getBytes_range_, buffer, range); } @@ -2531,7 +2425,7 @@ class NSData extends NSObject { return _objc_msgSend_38(this.pointer, _sel_isEqualToData_, other.pointer); } - NSData subdataWithRange_(_NSRange range) { + NSData subdataWithRange_(NSRange range) { final _ret = _objc_msgSend_39(this.pointer, _sel_subdataWithRange_, range); return NSData.castFromPointer(_ret, retain: true, release: true); } @@ -2542,33 +2436,33 @@ class NSData extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } bool writeToFile_options_error_(NSString path, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_211(this.pointer, _sel_writeToFile_options_error_, + return _objc_msgSend_180(this.pointer, _sel_writeToFile_options_error_, path.pointer, writeOptionsMask, errorPtr); } bool writeToURL_options_error_(NSURL url, int writeOptionsMask, ffi.Pointer> errorPtr) { - return _objc_msgSend_212(this.pointer, _sel_writeToURL_options_error_, + return _objc_msgSend_181(this.pointer, _sel_writeToURL_options_error_, url.pointer, writeOptionsMask, errorPtr); } - void rangeOfData_options_range_(ffi.Pointer<_NSRange> stret, - NSData dataToFind, int mask, _NSRange searchRange) { + void rangeOfData_options_range_(ffi.Pointer stret, NSData dataToFind, + int mask, NSRange searchRange) { objc.useMsgSendVariants - ? _objc_msgSend_213Stret( + ? _objc_msgSend_182Stret( stret, this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, mask, searchRange) - : stret.ref = _objc_msgSend_213( + : stret.ref = _objc_msgSend_182( this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, @@ -2576,40 +2470,34 @@ class NSData extends NSObject { searchRange); } - void enumerateByteRangesUsingBlock_( - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool block) { - _objc_msgSend_214( - this.pointer, _sel_enumerateByteRangesUsingBlock_, block.pointer); - } - static NSData data() { final _ret = _objc_msgSend_2(_class_NSData, _sel_data); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( _class_NSData, _sel_dataWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( _class_NSData, _sel_dataWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_216(_class_NSData, + final _ret = _objc_msgSend_184(_class_NSData, _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } static NSData? dataWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_185( _class_NSData, _sel_dataWithContentsOfFile_options_error_, path.pointer, @@ -2622,7 +2510,7 @@ class NSData extends NSObject { static NSData? dataWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_218( + final _ret = _objc_msgSend_186( _class_NSData, _sel_dataWithContentsOfURL_options_error_, url.pointer, @@ -2642,7 +2530,7 @@ class NSData extends NSObject { } static NSData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( _class_NSData, _sel_dataWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2650,38 +2538,27 @@ class NSData extends NSObject { } NSData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData initWithBytesNoCopy_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } NSData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_216(this.pointer, + final _ret = _objc_msgSend_184(this.pointer, _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSData.castFromPointer(_ret, retain: false, release: true); } - NSData initWithBytesNoCopy_length_deallocator_(ffi.Pointer bytes, - int length, ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_220( - this.pointer, - _sel_initWithBytesNoCopy_length_deallocator_, - bytes, - length, - deallocator?.pointer ?? ffi.nullptr); - return NSData.castFromPointer(_ret, retain: false, release: true); - } - NSData? initWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_185( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, @@ -2694,7 +2571,7 @@ class NSData extends NSObject { NSData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_218( + final _ret = _objc_msgSend_186( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, @@ -2714,7 +2591,7 @@ class NSData extends NSObject { } NSData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -2723,19 +2600,19 @@ class NSData extends NSObject { NSData initWithData_(NSData data) { final _ret = - _objc_msgSend_221(this.pointer, _sel_initWithData_, data.pointer); + _objc_msgSend_188(this.pointer, _sel_initWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } static NSData dataWithData_(NSData data) { final _ret = - _objc_msgSend_221(_class_NSData, _sel_dataWithData_, data.pointer); + _objc_msgSend_188(_class_NSData, _sel_dataWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedString_options_( NSString base64String, int options) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_189( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, @@ -2746,13 +2623,13 @@ class NSData extends NSObject { } NSString base64EncodedStringWithOptions_(int options) { - final _ret = _objc_msgSend_223( + final _ret = _objc_msgSend_190( this.pointer, _sel_base64EncodedStringWithOptions_, options); return NSString.castFromPointer(_ret, retain: true, release: true); } NSData? initWithBase64EncodedData_options_(NSData base64Data, int options) { - final _ret = _objc_msgSend_224(this.pointer, + final _ret = _objc_msgSend_191(this.pointer, _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); return _ret.address == 0 ? null @@ -2760,14 +2637,14 @@ class NSData extends NSObject { } NSData base64EncodedDataWithOptions_(int options) { - final _ret = _objc_msgSend_225( + final _ret = _objc_msgSend_192( this.pointer, _sel_base64EncodedDataWithOptions_, options); return NSData.castFromPointer(_ret, retain: true, release: true); } NSData? decompressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_226(this.pointer, + final _ret = _objc_msgSend_193(this.pointer, _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -2776,7 +2653,7 @@ class NSData extends NSObject { NSData? compressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_226(this.pointer, + final _ret = _objc_msgSend_193(this.pointer, _sel_compressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -2816,7 +2693,6 @@ class NSData extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } - @override NSData init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSData.castFromPointer(_ret, retain: true, release: true); @@ -2877,10 +2753,10 @@ final _objc_msgSend_37 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer, _NSRange)>(); + ffi.Pointer, ffi.Pointer, NSRange)>(); late final _sel_isEqualToData_ = objc.registerName("isEqualToData:"); final _objc_msgSend_38 = objc.msgSendPointer .cast< @@ -2897,10 +2773,10 @@ final _objc_msgSend_39 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_writeToFile_atomically_ = objc.registerName("writeToFile:atomically:"); final _objc_msgSend_40 = objc.msgSendPointer @@ -3269,7 +3145,7 @@ class NSURL extends NSObject { bool checkResourceIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_165( + return _objc_msgSend_138( this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); } @@ -3295,13 +3171,13 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_166(this.pointer, _sel_getResourceValue_forKey_error_, + return _objc_msgSend_139(this.pointer, _sel_getResourceValue_forKey_error_, value, key.pointer, error); } objc.ObjCObjectBase? resourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_167( + final _ret = _objc_msgSend_140( this.pointer, _sel_resourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3310,18 +3186,18 @@ class NSURL extends NSObject { bool setResourceValue_forKey_error_(objc.ObjCObjectBase? value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_168(this.pointer, _sel_setResourceValue_forKey_error_, + return _objc_msgSend_141(this.pointer, _sel_setResourceValue_forKey_error_, value?.pointer ?? ffi.nullptr, key.pointer, error); } bool setResourceValues_error_(objc.ObjCObjectBase keyedValues, ffi.Pointer> error) { - return _objc_msgSend_169(this.pointer, _sel_setResourceValues_error_, + return _objc_msgSend_142(this.pointer, _sel_setResourceValues_error_, keyedValues.pointer, error); } void removeCachedResourceValueForKey_(NSString key) { - _objc_msgSend_170( + _objc_msgSend_143( this.pointer, _sel_removeCachedResourceValueForKey_, key.pointer); } @@ -3331,7 +3207,7 @@ class NSURL extends NSObject { void setTemporaryResourceValue_forKey_( objc.ObjCObjectBase? value, NSString key) { - _objc_msgSend_171(this.pointer, _sel_setTemporaryResourceValue_forKey_, + _objc_msgSend_144(this.pointer, _sel_setTemporaryResourceValue_forKey_, value?.pointer ?? ffi.nullptr, key.pointer); } @@ -3341,7 +3217,7 @@ class NSURL extends NSObject { NSArray? keys, NSURL? relativeURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_172( + final _ret = _objc_msgSend_145( this.pointer, _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_, options, @@ -3360,7 +3236,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_173( + final _ret = _objc_msgSend_146( this.pointer, _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3380,7 +3256,7 @@ class NSURL extends NSObject { NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { - final _ret = _objc_msgSend_173( + final _ret = _objc_msgSend_146( _class_NSURL, _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, @@ -3395,7 +3271,7 @@ class NSURL extends NSObject { static objc.ObjCObjectBase? resourceValuesForKeys_fromBookmarkData_( NSArray keys, NSData bookmarkData) { - final _ret = _objc_msgSend_174( + final _ret = _objc_msgSend_147( _class_NSURL, _sel_resourceValuesForKeys_fromBookmarkData_, keys.pointer, @@ -3410,7 +3286,7 @@ class NSURL extends NSObject { NSURL bookmarkFileURL, int options, ffi.Pointer> error) { - return _objc_msgSend_175( + return _objc_msgSend_148( _class_NSURL, _sel_writeBookmarkData_toURL_options_error_, bookmarkData.pointer, @@ -3421,7 +3297,7 @@ class NSURL extends NSObject { static NSData? bookmarkDataWithContentsOfURL_error_( NSURL bookmarkFileURL, ffi.Pointer> error) { - final _ret = _objc_msgSend_176( + final _ret = _objc_msgSend_149( _class_NSURL, _sel_bookmarkDataWithContentsOfURL_error_, bookmarkFileURL.pointer, @@ -3433,7 +3309,7 @@ class NSURL extends NSObject { static NSURL? URLByResolvingAliasFileAtURL_options_error_( NSURL url, int options, ffi.Pointer> error) { - final _ret = _objc_msgSend_177( + final _ret = _objc_msgSend_150( _class_NSURL, _sel_URLByResolvingAliasFileAtURL_options_error_, url.pointer, @@ -3457,7 +3333,7 @@ class NSURL extends NSObject { ffi.Pointer> value, NSString key, ffi.Pointer> error) { - return _objc_msgSend_166( + return _objc_msgSend_139( this.pointer, _sel_getPromisedItemResourceValue_forKey_error_, value, @@ -3467,7 +3343,7 @@ class NSURL extends NSObject { NSDictionary? promisedItemResourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { - final _ret = _objc_msgSend_196(this.pointer, + final _ret = _objc_msgSend_165(this.pointer, _sel_promisedItemResourceValuesForKeys_error_, keys.pointer, error); return _ret.address == 0 ? null @@ -3476,12 +3352,12 @@ class NSURL extends NSObject { bool checkPromisedItemIsReachableAndReturnError_( ffi.Pointer> error) { - return _objc_msgSend_165( + return _objc_msgSend_138( this.pointer, _sel_checkPromisedItemIsReachableAndReturnError_, error); } static NSURL? fileURLWithPathComponents_(NSArray components) { - final _ret = _objc_msgSend_197( + final _ret = _objc_msgSend_166( _class_NSURL, _sel_fileURLWithPathComponents_, components.pointer); return _ret.address == 0 ? null @@ -3489,7 +3365,7 @@ class NSURL extends NSObject { } NSArray? get pathComponents { - final _ret = _objc_msgSend_161(this.pointer, _sel_pathComponents); + final _ret = _objc_msgSend_136(this.pointer, _sel_pathComponents); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); @@ -3510,7 +3386,7 @@ class NSURL extends NSObject { } NSURL? URLByAppendingPathComponent_(NSString pathComponent) { - final _ret = _objc_msgSend_198( + final _ret = _objc_msgSend_167( this.pointer, _sel_URLByAppendingPathComponent_, pathComponent.pointer); return _ret.address == 0 ? null @@ -3519,7 +3395,7 @@ class NSURL extends NSObject { NSURL? URLByAppendingPathComponent_isDirectory_( NSString pathComponent, bool isDirectory) { - final _ret = _objc_msgSend_199( + final _ret = _objc_msgSend_168( this.pointer, _sel_URLByAppendingPathComponent_isDirectory_, pathComponent.pointer, @@ -3538,7 +3414,7 @@ class NSURL extends NSObject { } NSURL? URLByAppendingPathExtension_(NSString pathExtension) { - final _ret = _objc_msgSend_198( + final _ret = _objc_msgSend_167( this.pointer, _sel_URLByAppendingPathExtension_, pathExtension.pointer); return _ret.address == 0 ? null @@ -3569,7 +3445,7 @@ class NSURL extends NSObject { } NSData? resourceDataUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_200( + final _ret = _objc_msgSend_169( this.pointer, _sel_resourceDataUsingCache_, shouldUseCache); return _ret.address == 0 ? null @@ -3578,7 +3454,7 @@ class NSURL extends NSObject { void loadResourceDataNotifyingClient_usingCache_( objc.ObjCObjectBase client, bool shouldUseCache) { - _objc_msgSend_201( + _objc_msgSend_170( this.pointer, _sel_loadResourceDataNotifyingClient_usingCache_, client.pointer, @@ -3598,19 +3474,18 @@ class NSURL extends NSObject { } bool setProperty_forKey_(objc.ObjCObjectBase property, NSString propertyKey) { - return _objc_msgSend_202(this.pointer, _sel_setProperty_forKey_, + return _objc_msgSend_171(this.pointer, _sel_setProperty_forKey_, property.pointer, propertyKey.pointer); } NSURLHandle? URLHandleUsingCache_(bool shouldUseCache) { - final _ret = _objc_msgSend_210( + final _ret = _objc_msgSend_179( this.pointer, _sel_URLHandleUsingCache_, shouldUseCache); return _ret.address == 0 ? null : NSURLHandle.castFromPointer(_ret, retain: true, release: true); } - @override NSURL init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSURL.castFromPointer(_ret, retain: true, release: true); @@ -3948,7 +3823,6 @@ class NSNumber extends NSValue { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSNumber); } - @override NSNumber? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -4208,7 +4082,6 @@ class NSNumber extends NSValue { return NSNumber.castFromPointer(_ret, retain: true, release: true); } - @override NSNumber initWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_87( @@ -4242,12 +4115,11 @@ class NSNumber extends NSValue { return NSValue.castFromPointer(_ret, retain: true, release: true); } - static NSValue valueWithRange_(_NSRange range) { + static NSValue valueWithRange_(NSRange range) { final _ret = _objc_msgSend_94(_class_NSNumber, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } - @override NSNumber init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSNumber.castFromPointer(_ret, retain: true, release: true); @@ -4659,18 +4531,17 @@ class NSValue extends NSObject { _objc_msgSend_93(this.pointer, _sel_getValue_, value); } - static NSValue valueWithRange_(_NSRange range) { + static NSValue valueWithRange_(NSRange range) { final _ret = _objc_msgSend_94(_class_NSValue, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } - void getRangeValue(ffi.Pointer<_NSRange> stret) { + void getRangeValue(ffi.Pointer stret) { objc.useMsgSendVariants ? _objc_msgSend_95Stret(stret, this.pointer, _sel_rangeValue) : stret.ref = _objc_msgSend_95(this.pointer, _sel_rangeValue); } - @override NSValue init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSValue.castFromPointer(_ret, retain: true, release: true); @@ -4785,28 +4656,28 @@ final _objc_msgSend_94 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_rangeValue = objc.registerName("rangeValue"); final _objc_msgSend_95 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function(ffi.Pointer, + NSRange Function(ffi.Pointer, ffi.Pointer)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer)>(); final _objc_msgSend_95Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_port = objc.registerName("port"); final _objc_msgSend_96 = objc.msgSendPointer @@ -4919,7 +4790,7 @@ class NSError extends NSObject { } NSArray? get localizedRecoveryOptions { - final _ret = _objc_msgSend_161(this.pointer, _sel_localizedRecoveryOptions); + final _ret = _objc_msgSend_136(this.pointer, _sel_localizedRecoveryOptions); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); @@ -4940,35 +4811,10 @@ class NSError extends NSObject { } NSArray get underlyingErrors { - final _ret = _objc_msgSend_162(this.pointer, _sel_underlyingErrors); + final _ret = _objc_msgSend_137(this.pointer, _sel_underlyingErrors); return NSArray.castFromPointer(_ret, retain: true, release: true); } - static void setUserInfoValueProviderForDomain_provider_(NSString errorDomain, - ObjCBlock_objcObjCObject_NSError_NSString? provider) { - _objc_msgSend_163( - _class_NSError, - _sel_setUserInfoValueProviderForDomain_provider_, - errorDomain.pointer, - provider?.pointer ?? ffi.nullptr); - } - - static ObjCBlock_objcObjCObject_NSError_NSString? - userInfoValueProviderForDomain_( - NSError err, NSString userInfoKey, NSString errorDomain) { - final _ret = _objc_msgSend_164( - _class_NSError, - _sel_userInfoValueProviderForDomain_, - err.pointer, - userInfoKey.pointer, - errorDomain.pointer); - return _ret.address == 0 - ? null - : ObjCBlock_objcObjCObject_NSError_NSString.castFromPointer(_ret, - retain: true, release: true); - } - - @override NSError init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSError.castFromPointer(_ret, retain: true, release: true); @@ -5049,7 +4895,6 @@ class NSArray extends NSObject { return objc.ObjCObjectBase(_ret, retain: true, release: true); } - @override NSArray init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSArray.castFromPointer(_ret, retain: true, release: true); @@ -5123,7 +4968,7 @@ class NSArray extends NSObject { } void getObjects_range_( - ffi.Pointer> objects, _NSRange range) { + ffi.Pointer> objects, NSRange range) { _objc_msgSend_106(this.pointer, _sel_getObjects_range_, objects, range); } @@ -5132,7 +4977,7 @@ class NSArray extends NSObject { this.pointer, _sel_indexOfObject_, anObject.pointer); } - int indexOfObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { + int indexOfObject_inRange_(objc.ObjCObjectBase anObject, NSRange range) { return _objc_msgSend_108( this.pointer, _sel_indexOfObject_inRange_, anObject.pointer, range); } @@ -5143,7 +4988,7 @@ class NSArray extends NSObject { } int indexOfObjectIdenticalTo_inRange_( - objc.ObjCObjectBase anObject, _NSRange range) { + objc.ObjCObjectBase anObject, NSRange range) { return _objc_msgSend_108(this.pointer, _sel_indexOfObjectIdenticalTo_inRange_, anObject.pointer, range); } @@ -5217,7 +5062,7 @@ class NSArray extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } - NSArray subarrayWithRange_(_NSRange range) { + NSArray subarrayWithRange_(NSRange range) { final _ret = _objc_msgSend_114(this.pointer, _sel_subarrayWithRange_, range); return NSArray.castFromPointer(_ret, retain: true, release: true); @@ -5240,7 +5085,7 @@ class NSArray extends NSObject { } NSArray objectsAtIndexes_(NSIndexSet indexes) { - final _ret = _objc_msgSend_137( + final _ret = _objc_msgSend_125( this.pointer, _sel_objectsAtIndexes_, indexes.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5251,110 +5096,13 @@ class NSArray extends NSObject { return objc.ObjCObjectBase(_ret, retain: true, release: true); } - void enumerateObjectsUsingBlock_( - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_138( - this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); - } - - void enumerateObjectsWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_139(this.pointer, - _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); - } - - void enumerateObjectsAtIndexes_options_usingBlock_(NSIndexSet s, int opts, - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool block) { - _objc_msgSend_140( - this.pointer, - _sel_enumerateObjectsAtIndexes_options_usingBlock_, - s.pointer, - opts, - block.pointer); - } - - int indexOfObjectPassingTest_( - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_141( - this.pointer, _sel_indexOfObjectPassingTest_, predicate.pointer); - } - - int indexOfObjectWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_142(this.pointer, - _sel_indexOfObjectWithOptions_passingTest_, opts, predicate.pointer); - } - - int indexOfObjectAtIndexes_options_passingTest_(NSIndexSet s, int opts, - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_143( - this.pointer, - _sel_indexOfObjectAtIndexes_options_passingTest_, - s.pointer, - opts, - predicate.pointer); - } - - NSIndexSet indexesOfObjectsPassingTest_( - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_144( - this.pointer, _sel_indexesOfObjectsPassingTest_, predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - NSIndexSet indexesOfObjectsWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_145(this.pointer, - _sel_indexesOfObjectsWithOptions_passingTest_, opts, predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - NSIndexSet indexesOfObjectsAtIndexes_options_passingTest_(NSIndexSet s, - int opts, ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_146( - this.pointer, - _sel_indexesOfObjectsAtIndexes_options_passingTest_, - s.pointer, - opts, - predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - NSArray sortedArrayUsingComparator_( - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_147( - this.pointer, _sel_sortedArrayUsingComparator_, cmptr.pointer); - return NSArray.castFromPointer(_ret, retain: true, release: true); - } - - NSArray sortedArrayWithOptions_usingComparator_(int opts, - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148(this.pointer, - _sel_sortedArrayWithOptions_usingComparator_, opts, cmptr.pointer); - return NSArray.castFromPointer(_ret, retain: true, release: true); - } - - int indexOfObject_inSortedRange_options_usingComparator_( - objc.ObjCObjectBase obj, - _NSRange r, - int opts, - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmp) { - return _objc_msgSend_149( - this.pointer, - _sel_indexOfObject_inSortedRange_options_usingComparator_, - obj.pointer, - r, - opts, - cmp.pointer); - } - static NSArray array() { final _ret = _objc_msgSend_2(_class_NSArray, _sel_array); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSArray, _sel_arrayWithObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -5367,38 +5115,38 @@ class NSArray extends NSObject { } static NSArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSArray, _sel_arrayWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } static NSArray arrayWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(_class_NSArray, _sel_arrayWithArray_, array.pointer); + _objc_msgSend_127(_class_NSArray, _sel_arrayWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_128( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSArray.castFromPointer(_ret, retain: false, release: true); } NSArray? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_129( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -5407,41 +5155,28 @@ class NSArray extends NSObject { static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153( + final _ret = _objc_msgSend_129( _class_NSArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null : NSArray.castFromPointer(_ret, retain: true, release: true); } - objc.ObjCObjectBase differenceFromArray_withOptions_usingEquivalenceTest_( - NSArray other, - int options, - ObjCBlock_bool_objcObjCObject_objcObjCObject block) { - final _ret = _objc_msgSend_154( - this.pointer, - _sel_differenceFromArray_withOptions_usingEquivalenceTest_, - other.pointer, - options, - block.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - objc.ObjCObjectBase differenceFromArray_withOptions_( NSArray other, int options) { - final _ret = _objc_msgSend_155(this.pointer, + final _ret = _objc_msgSend_130(this.pointer, _sel_differenceFromArray_withOptions_, other.pointer, options); return objc.ObjCObjectBase(_ret, retain: true, release: true); } objc.ObjCObjectBase differenceFromArray_(NSArray other) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_127( this.pointer, _sel_differenceFromArray_, other.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSArray? arrayByApplyingDifference_(objc.ObjCObjectBase difference) { - final _ret = _objc_msgSend_156( + final _ret = _objc_msgSend_131( this.pointer, _sel_arrayByApplyingDifference_, difference.pointer); return _ret.address == 0 ? null @@ -5449,11 +5184,11 @@ class NSArray extends NSObject { } void getObjects_(ffi.Pointer> objects) { - _objc_msgSend_157(this.pointer, _sel_getObjects_, objects); + _objc_msgSend_132(this.pointer, _sel_getObjects_, objects); } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_133( _class_NSArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5461,7 +5196,7 @@ class NSArray extends NSObject { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_134( _class_NSArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5469,7 +5204,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_133( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -5477,7 +5212,7 @@ class NSArray extends NSObject { } NSArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_134( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -5490,7 +5225,7 @@ class NSArray extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -5610,13 +5345,13 @@ final _objc_msgSend_106 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer>, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer>, - _NSRange)>(); + NSRange)>(); late final _sel_indexOfObject_ = objc.registerName("indexOfObject:"); final _objc_msgSend_107 = objc.msgSendPointer .cast< @@ -5637,13 +5372,13 @@ final _objc_msgSend_108 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< int Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>(); + NSRange)>(); late final _sel_indexOfObjectIdenticalTo_ = objc.registerName("indexOfObjectIdenticalTo:"); late final _sel_indexOfObjectIdenticalTo_inRange_ = @@ -5694,7 +5429,6 @@ class NSEnumerator extends NSObject { return objc.ObjCObjectBase(_ret, retain: true, release: true); } - @override NSEnumerator init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); @@ -5799,10 +5533,10 @@ final _objc_msgSend_114 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_writeToURL_error_ = objc.registerName("writeToURL:error:"); final _objc_msgSend_115 = objc.msgSendPointer .cast< @@ -5867,13 +5601,13 @@ class NSIndexSet extends NSObject { return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } - static NSIndexSet indexSetWithIndexesInRange_(_NSRange range) { + static NSIndexSet indexSetWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117( _class_NSIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } - NSIndexSet initWithIndexesInRange_(_NSRange range) { + NSIndexSet initWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); @@ -5928,12 +5662,12 @@ class NSIndexSet extends NSObject { int getIndexes_maxCount_inIndexRange_( ffi.Pointer indexBuffer, int bufferSize, - ffi.Pointer<_NSRange> range) { + ffi.Pointer range) { return _objc_msgSend_121(this.pointer, _sel_getIndexes_maxCount_inIndexRange_, indexBuffer, bufferSize, range); } - int countOfIndexesInRange_(_NSRange range) { + int countOfIndexesInRange_(NSRange range) { return _objc_msgSend_122(this.pointer, _sel_countOfIndexesInRange_, range); } @@ -5941,7 +5675,7 @@ class NSIndexSet extends NSObject { return _objc_msgSend_123(this.pointer, _sel_containsIndex_, value); } - bool containsIndexesInRange_(_NSRange range) { + bool containsIndexesInRange_(NSRange range) { return _objc_msgSend_124(this.pointer, _sel_containsIndexesInRange_, range); } @@ -5950,97 +5684,11 @@ class NSIndexSet extends NSObject { this.pointer, _sel_containsIndexes_, indexSet.pointer); } - bool intersectsIndexesInRange_(_NSRange range) { + bool intersectsIndexesInRange_(NSRange range) { return _objc_msgSend_124( this.pointer, _sel_intersectsIndexesInRange_, range); } - void enumerateIndexesUsingBlock_( - ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_125( - this.pointer, _sel_enumerateIndexesUsingBlock_, block.pointer); - } - - void enumerateIndexesWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_126(this.pointer, - _sel_enumerateIndexesWithOptions_usingBlock_, opts, block.pointer); - } - - void enumerateIndexesInRange_options_usingBlock_( - _NSRange range, int opts, ObjCBlock_ffiVoid_ffiUnsignedLong_bool block) { - _objc_msgSend_127( - this.pointer, - _sel_enumerateIndexesInRange_options_usingBlock_, - range, - opts, - block.pointer); - } - - int indexPassingTest_(ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_128( - this.pointer, _sel_indexPassingTest_, predicate.pointer); - } - - int indexWithOptions_passingTest_( - int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_129(this.pointer, _sel_indexWithOptions_passingTest_, - opts, predicate.pointer); - } - - int indexInRange_options_passingTest_( - _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - return _objc_msgSend_130(this.pointer, - _sel_indexInRange_options_passingTest_, range, opts, predicate.pointer); - } - - NSIndexSet indexesPassingTest_( - ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_131( - this.pointer, _sel_indexesPassingTest_, predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - NSIndexSet indexesWithOptions_passingTest_( - int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_132(this.pointer, - _sel_indexesWithOptions_passingTest_, opts, predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - NSIndexSet indexesInRange_options_passingTest_( - _NSRange range, int opts, ObjCBlock_bool_ffiUnsignedLong_bool predicate) { - final _ret = _objc_msgSend_133( - this.pointer, - _sel_indexesInRange_options_passingTest_, - range, - opts, - predicate.pointer); - return NSIndexSet.castFromPointer(_ret, retain: true, release: true); - } - - void enumerateRangesUsingBlock_(ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_134( - this.pointer, _sel_enumerateRangesUsingBlock_, block.pointer); - } - - void enumerateRangesWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_135(this.pointer, _sel_enumerateRangesWithOptions_usingBlock_, - opts, block.pointer); - } - - void enumerateRangesInRange_options_usingBlock_( - _NSRange range, int opts, ObjCBlock_ffiVoid_NSRange_bool block) { - _objc_msgSend_136( - this.pointer, - _sel_enumerateRangesInRange_options_usingBlock_, - range, - opts, - block.pointer); - } - - @override NSIndexSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); @@ -6071,10 +5719,10 @@ final _objc_msgSend_117 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< instancetype Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_initWithIndexesInRange_ = objc.registerName("initWithIndexesInRange:"); late final _sel_initWithIndexSet_ = objc.registerName("initWithIndexSet:"); @@ -6127,24 +5775,24 @@ final _objc_msgSend_121 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.UnsignedLong, - ffi.Pointer<_NSRange>)>>() + ffi.Pointer)>>() .asFunction< int Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - ffi.Pointer<_NSRange>)>(); + ffi.Pointer)>(); late final _sel_countOfIndexesInRange_ = objc.registerName("countOfIndexesInRange:"); final _objc_msgSend_122 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< int Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_containsIndex_ = objc.registerName("containsIndex:"); final _objc_msgSend_123 = objc.msgSendPointer .cast< @@ -6160,1014 +5808,35 @@ final _objc_msgSend_124 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + ffi.Pointer, NSRange)>>() .asFunction< bool Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); + ffi.Pointer, NSRange)>(); late final _sel_containsIndexes_ = objc.registerName("containsIndexes:"); late final _sel_intersectsIndexesInRange_ = objc.registerName("intersectsIndexesInRange:"); -void _ObjCBlock_ffiVoid_ffiUnsignedLong_bool_fnPtrTrampoline( - ffi.Pointer block, - int arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.UnsignedLong arg0, ffi.Pointer arg1)>>() - .asFunction)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_ffiUnsignedLong_bool_closureTrampoline( - ffi.Pointer block, - int arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function(int, ffi.Pointer))( - arg0, arg1); - -class ObjCBlock_ffiVoid_ffiUnsignedLong_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiUnsignedLong_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiUnsignedLong_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiUnsignedLong_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedLong_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.UnsignedLong arg0, ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.UnsignedLong, ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiUnsignedLong_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedLong_bool.fromFunction( - void Function(int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.UnsignedLong, ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiUnsignedLong_bool_closureTrampoline) - .cast(), - (int arg0, ffi.Pointer arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiUnsignedLong_bool.listener( - void Function(int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, - ffi.UnsignedLong, ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ffiUnsignedLong_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (int arg0, ffi.Pointer arg1) => fn(arg0, arg1))); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, ffi.UnsignedLong, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(int arg0, ffi.Pointer arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer block, - ffi.UnsignedLong arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, int, - ffi.Pointer)>()(pointer, arg0, arg1); -} - -late final _sel_enumerateIndexesUsingBlock_ = - objc.registerName("enumerateIndexesUsingBlock:"); +late final _sel_objectsAtIndexes_ = objc.registerName("objectsAtIndexes:"); final _objc_msgSend_125 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() + ffi.Pointer Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - -abstract class NSEnumerationOptions { - static const int NSEnumerationConcurrent = 1; - static const int NSEnumerationReverse = 2; -} - -late final _sel_enumerateIndexesWithOptions_usingBlock_ = - objc.registerName("enumerateIndexesWithOptions:usingBlock:"); + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_objectAtIndexedSubscript_ = + objc.registerName("objectAtIndexedSubscript:"); +late final _sel_array = objc.registerName("array"); +late final _sel_arrayWithObject_ = objc.registerName("arrayWithObject:"); final _objc_msgSend_126 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( + instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_enumerateIndexesInRange_options_usingBlock_ = - objc.registerName("enumerateIndexesInRange:options:usingBlock:"); -final _objc_msgSend_127 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -bool _ObjCBlock_bool_ffiUnsignedLong_bool_fnPtrTrampoline( - ffi.Pointer block, - int arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.UnsignedLong arg0, ffi.Pointer arg1)>>() - .asFunction)>()(arg0, arg1); -bool _ObjCBlock_bool_ffiUnsignedLong_bool_closureTrampoline( - ffi.Pointer block, - int arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as bool Function(int, ffi.Pointer))( - arg0, arg1); - -class ObjCBlock_bool_ffiUnsignedLong_bool extends objc.ObjCBlockBase { - ObjCBlock_bool_ffiUnsignedLong_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_ffiUnsignedLong_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_ffiUnsignedLong_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_ffiUnsignedLong_bool.fromFunctionPointer( - ffi.Pointer< - ffi - .NativeFunction< - ffi.Bool Function( - ffi.UnsignedLong arg0, ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function(ffi.Pointer, - ffi.UnsignedLong, ffi.Pointer)>( - _ObjCBlock_bool_ffiUnsignedLong_bool_fnPtrTrampoline, false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_ffiUnsignedLong_bool.fromFunction( - bool Function(int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function(ffi.Pointer, - ffi.UnsignedLong, ffi.Pointer)>( - _ObjCBlock_bool_ffiUnsignedLong_bool_closureTrampoline, - false) - .cast(), - (int arg0, ffi.Pointer arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(int arg0, ffi.Pointer arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer block, - ffi.UnsignedLong arg0, ffi.Pointer arg1)>>() - .asFunction< - bool Function(ffi.Pointer, int, - ffi.Pointer)>()(pointer, arg0, arg1); -} - -late final _sel_indexPassingTest_ = objc.registerName("indexPassingTest:"); -final _objc_msgSend_128 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - int Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_indexWithOptions_passingTest_ = - objc.registerName("indexWithOptions:passingTest:"); -final _objc_msgSend_129 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_indexInRange_options_passingTest_ = - objc.registerName("indexInRange:options:passingTest:"); -final _objc_msgSend_130 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -late final _sel_indexesPassingTest_ = objc.registerName("indexesPassingTest:"); -final _objc_msgSend_131 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_indexesWithOptions_passingTest_ = - objc.registerName("indexesWithOptions:passingTest:"); -final _objc_msgSend_132 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_indexesInRange_options_passingTest_ = - objc.registerName("indexesInRange:options:passingTest:"); -final _objc_msgSend_133 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_NSRange_bool_fnPtrTrampoline( - ffi.Pointer block, - _NSRange arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(_NSRange arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(_NSRange, ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline( - ffi.Pointer block, - _NSRange arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - _NSRange, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSRange_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSRange_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSRange_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSRange_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(_NSRange arg0, ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSRange_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSRange_bool.fromFunction( - void Function(_NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline) - .cast(), - (_NSRange arg0, ffi.Pointer arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSRange_bool.listener( - void Function(_NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSRange_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (_NSRange arg0, ffi.Pointer arg1) => fn(arg0, arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, _NSRange, ffi.Pointer)>? - _dartFuncListenerTrampoline; - - void call(_NSRange arg0, ffi.Pointer arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer block, - _NSRange arg0, ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>()(pointer, arg0, arg1); -} - -late final _sel_enumerateRangesUsingBlock_ = - objc.registerName("enumerateRangesUsingBlock:"); -final _objc_msgSend_134 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_enumerateRangesWithOptions_usingBlock_ = - objc.registerName("enumerateRangesWithOptions:usingBlock:"); -final _objc_msgSend_135 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_enumerateRangesInRange_options_usingBlock_ = - objc.registerName("enumerateRangesInRange:options:usingBlock:"); -final _objc_msgSend_136 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -late final _sel_objectsAtIndexes_ = objc.registerName("objectsAtIndexes:"); -final _objc_msgSend_137 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_objectAtIndexedSubscript_ = - objc.registerName("objectAtIndexedSubscript:"); -void _ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1, ffi.Pointer arg2)>>() - .asFunction< - void Function(ffi.Pointer, int, - ffi.Pointer)>()(arg0, arg1, arg2); -void _ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - int, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1, ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool.fromFunction( - void Function(objc.ObjCObjectBase, int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, int arg1, ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), arg1, - arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool.listener( - void Function(objc.ObjCObjectBase, int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_ffiUnsignedLong_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, int arg1, - ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), arg1, - arg2))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(objc.ObjCObjectBase arg0, int arg1, ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.UnsignedLong arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>()(pointer, arg0.pointer, arg1, arg2); -} - -late final _sel_enumerateObjectsUsingBlock_ = - objc.registerName("enumerateObjectsUsingBlock:"); -final _objc_msgSend_138 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_enumerateObjectsWithOptions_usingBlock_ = - objc.registerName("enumerateObjectsWithOptions:usingBlock:"); -final _objc_msgSend_139 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_enumerateObjectsAtIndexes_options_usingBlock_ = - objc.registerName("enumerateObjectsAtIndexes:options:usingBlock:"); -final _objc_msgSend_140 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -bool _ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1, ffi.Pointer arg2)>>() - .asFunction< - bool Function(ffi.Pointer, int, - ffi.Pointer)>()(arg0, arg1, arg2); -bool _ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as bool Function(ffi.Pointer, - int, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool - extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1, ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool_fnPtrTrampoline, - false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool.fromFunction( - bool Function(objc.ObjCObjectBase, int, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_ffiUnsignedLong_bool_closureTrampoline, - false) - .cast(), - (ffi.Pointer arg0, int arg1, - ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), arg1, arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, int arg1, ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.UnsignedLong arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>()(pointer, arg0.pointer, arg1, arg2); -} - -late final _sel_indexOfObjectPassingTest_ = - objc.registerName("indexOfObjectPassingTest:"); -final _objc_msgSend_141 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - int Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_indexOfObjectWithOptions_passingTest_ = - objc.registerName("indexOfObjectWithOptions:passingTest:"); -final _objc_msgSend_142 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_indexOfObjectAtIndexes_options_passingTest_ = - objc.registerName("indexOfObjectAtIndexes:options:passingTest:"); -final _objc_msgSend_143 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_indexesOfObjectsPassingTest_ = - objc.registerName("indexesOfObjectsPassingTest:"); -final _objc_msgSend_144 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_indexesOfObjectsWithOptions_passingTest_ = - objc.registerName("indexesOfObjectsWithOptions:passingTest:"); -final _objc_msgSend_145 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_indexesOfObjectsAtIndexes_options_passingTest_ = - objc.registerName("indexesOfObjectsAtIndexes:options:passingTest:"); -final _objc_msgSend_146 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -int _ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - int Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -int _ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as int Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject - extends objc.ObjCBlockBase { - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject - castFromPointer(ffi.Pointer pointer, - {bool retain = false, bool release = false}) { - return ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Int32 Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject_fnPtrTrampoline, - 0) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject.fromFunction( - int Function(objc.ObjCObjectBase, objc.ObjCObjectBase) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Int32 Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject_closureTrampoline, 0) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - objc.ObjCObjectBase(arg0, retain: true, release: true), - objc.ObjCObjectBase(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - int call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1) => pointer - .ref.invoke - .cast< - ffi.NativeFunction< - ffi.Int32 Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer); -} - -late final _sel_sortedArrayUsingComparator_ = - objc.registerName("sortedArrayUsingComparator:"); -final _objc_msgSend_147 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); - -abstract class NSSortOptions { - static const int NSSortConcurrent = 1; - static const int NSSortStable = 16; -} - -late final _sel_sortedArrayWithOptions_usingComparator_ = - objc.registerName("sortedArrayWithOptions:usingComparator:"); -final _objc_msgSend_148 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); - -abstract class NSBinarySearchingOptions { - static const int NSBinarySearchingFirstEqual = 256; - static const int NSBinarySearchingLastEqual = 512; - static const int NSBinarySearchingInsertionIndex = 1024; -} - -late final _sel_indexOfObject_inSortedRange_options_usingComparator_ = - objc.registerName("indexOfObject:inSortedRange:options:usingComparator:"); -final _objc_msgSend_149 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.UnsignedLong Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - int Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -late final _sel_array = objc.registerName("array"); -late final _sel_arrayWithObject_ = objc.registerName("arrayWithObject:"); -final _objc_msgSend_150 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer)>>() .asFunction< instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); @@ -7175,7 +5844,7 @@ late final _sel_arrayWithObjects_count_ = objc.registerName("arrayWithObjects:count:"); late final _sel_arrayWithObjects_ = objc.registerName("arrayWithObjects:"); late final _sel_arrayWithArray_ = objc.registerName("arrayWithArray:"); -final _objc_msgSend_151 = objc.msgSendPointer +final _objc_msgSend_127 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7189,7 +5858,7 @@ late final _sel_initWithObjects_ = objc.registerName("initWithObjects:"); late final _sel_initWithArray_ = objc.registerName("initWithArray:"); late final _sel_initWithArray_copyItems_ = objc.registerName("initWithArray:copyItems:"); -final _objc_msgSend_152 = objc.msgSendPointer +final _objc_msgSend_128 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7205,7 +5874,7 @@ final _objc_msgSend_152 = objc.msgSendPointer bool)>(); late final _sel_initWithContentsOfURL_error_ = objc.registerName("initWithContentsOfURL:error:"); -final _objc_msgSend_153 = objc.msgSendPointer +final _objc_msgSend_129 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7230,121 +5899,9 @@ abstract class NSOrderedCollectionDifferenceCalculationOptions { static const int NSOrderedCollectionDifferenceCalculationInferMoves = 4; } -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as bool Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_bool_objcObjCObject_objcObjCObject extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_objcObjCObject._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_objcObjCObject castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_objcObjCObject._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_fnPtrTrampoline, - false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject.fromFunction( - bool Function(objc.ObjCObjectBase, objc.ObjCObjectBase) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - objc.ObjCObjectBase(arg0, retain: true, release: true), - objc.ObjCObjectBase(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer); -} - -late final _sel_differenceFromArray_withOptions_usingEquivalenceTest_ = - objc.registerName("differenceFromArray:withOptions:usingEquivalenceTest:"); -final _objc_msgSend_154 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); late final _sel_differenceFromArray_withOptions_ = objc.registerName("differenceFromArray:withOptions:"); -final _objc_msgSend_155 = objc.msgSendPointer +final _objc_msgSend_130 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7362,7 +5919,7 @@ late final _sel_differenceFromArray_ = objc.registerName("differenceFromArray:"); late final _sel_arrayByApplyingDifference_ = objc.registerName("arrayByApplyingDifference:"); -final _objc_msgSend_156 = objc.msgSendPointer +final _objc_msgSend_131 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7373,7 +5930,7 @@ final _objc_msgSend_156 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_getObjects_ = objc.registerName("getObjects:"); -final _objc_msgSend_157 = objc.msgSendPointer +final _objc_msgSend_132 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7387,7 +5944,7 @@ final _objc_msgSend_157 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_arrayWithContentsOfFile_ = objc.registerName("arrayWithContentsOfFile:"); -final _objc_msgSend_158 = objc.msgSendPointer +final _objc_msgSend_133 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7399,7 +5956,7 @@ final _objc_msgSend_158 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_arrayWithContentsOfURL_ = objc.registerName("arrayWithContentsOfURL:"); -final _objc_msgSend_159 = objc.msgSendPointer +final _objc_msgSend_134 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7415,7 +5972,7 @@ late final _sel_initWithContentsOfURL_ = objc.registerName("initWithContentsOfURL:"); late final _sel_writeToURL_atomically_ = objc.registerName("writeToURL:atomically:"); -final _objc_msgSend_160 = objc.msgSendPointer +final _objc_msgSend_135 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7431,7 +5988,7 @@ final _objc_msgSend_160 = objc.msgSendPointer bool)>(); late final _sel_localizedRecoveryOptions = objc.registerName("localizedRecoveryOptions"); -final _objc_msgSend_161 = objc.msgSendPointer +final _objc_msgSend_136 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -7442,7 +5999,7 @@ final _objc_msgSend_161 = objc.msgSendPointer late final _sel_recoveryAttempter = objc.registerName("recoveryAttempter"); late final _sel_helpAnchor = objc.registerName("helpAnchor"); late final _sel_underlyingErrors = objc.registerName("underlyingErrors"); -final _objc_msgSend_162 = objc.msgSendPointer +final _objc_msgSend_137 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -7450,149 +6007,9 @@ final _objc_msgSend_162 = objc.msgSendPointer .asFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer)>(); -ffi.Pointer - _ObjCBlock_objcObjCObject_NSError_NSString_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi - .NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -ffi.Pointer - _ObjCBlock_objcObjCObject_NSError_NSString_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_objcObjCObject_NSError_NSString extends objc.ObjCBlockBase { - ObjCBlock_objcObjCObject_NSError_NSString._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_objcObjCObject_NSError_NSString castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_objcObjCObject_NSError_NSString._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_objcObjCObject_NSError_NSString.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_objcObjCObject_NSError_NSString_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_objcObjCObject_NSError_NSString.fromFunction( - objc.ObjCObjectBase? Function(NSError, NSString) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_objcObjCObject_NSError_NSString_closureTrampoline) - .cast(), - (ffi.Pointer arg0, - ffi.Pointer arg1) => - fn(NSError.castFromPointer(arg0, retain: true, release: true), NSString.castFromPointer(arg1, retain: true, release: true)) - ?.retainAndReturnPointer() ?? - ffi.nullptr)); - static ffi.Pointer? _dartFuncTrampoline; - - objc.ObjCObjectBase? call(NSError arg0, NSString arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>() - (pointer, arg0.pointer, arg1.pointer) - .address == - 0 - ? null - : objc.ObjCObjectBase( - pointer.ref.invoke - .cast Function(ffi.Pointer block, ffi.Pointer arg0, ffi.Pointer arg1)>>() - .asFunction Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>()(pointer, arg0.pointer, arg1.pointer), - retain: false, - release: true); -} - -late final _sel_setUserInfoValueProviderForDomain_provider_ = - objc.registerName("setUserInfoValueProviderForDomain:provider:"); -final _objc_msgSend_163 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_userInfoValueProviderForDomain_ = - objc.registerName("userInfoValueProviderForDomain:"); -final _objc_msgSend_164 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); late final _sel_checkResourceIsReachableAndReturnError_ = objc.registerName("checkResourceIsReachableAndReturnError:"); -final _objc_msgSend_165 = objc.msgSendPointer +final _objc_msgSend_138 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7609,7 +6026,7 @@ late final _sel_fileReferenceURL = objc.registerName("fileReferenceURL"); late final _sel_filePathURL = objc.registerName("filePathURL"); late final _sel_getResourceValue_forKey_error_ = objc.registerName("getResourceValue:forKey:error:"); -final _objc_msgSend_166 = objc.msgSendPointer +final _objc_msgSend_139 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7627,7 +6044,7 @@ final _objc_msgSend_166 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_resourceValuesForKeys_error_ = objc.registerName("resourceValuesForKeys:error:"); -final _objc_msgSend_167 = objc.msgSendPointer +final _objc_msgSend_140 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7643,7 +6060,7 @@ final _objc_msgSend_167 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValue_forKey_error_ = objc.registerName("setResourceValue:forKey:error:"); -final _objc_msgSend_168 = objc.msgSendPointer +final _objc_msgSend_141 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7661,7 +6078,7 @@ final _objc_msgSend_168 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_setResourceValues_error_ = objc.registerName("setResourceValues:error:"); -final _objc_msgSend_169 = objc.msgSendPointer +final _objc_msgSend_142 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7677,7 +6094,7 @@ final _objc_msgSend_169 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_removeCachedResourceValueForKey_ = objc.registerName("removeCachedResourceValueForKey:"); -final _objc_msgSend_170 = objc.msgSendPointer +final _objc_msgSend_143 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7691,7 +6108,7 @@ late final _sel_removeAllCachedResourceValues = objc.registerName("removeAllCachedResourceValues"); late final _sel_setTemporaryResourceValue_forKey_ = objc.registerName("setTemporaryResourceValue:forKey:"); -final _objc_msgSend_171 = objc.msgSendPointer +final _objc_msgSend_144 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -7719,7 +6136,7 @@ abstract class NSURLBookmarkCreationOptions { late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_ = objc.registerName( "bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error:"); -final _objc_msgSend_172 = objc.msgSendPointer +final _objc_msgSend_145 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7748,7 +6165,7 @@ abstract class NSURLBookmarkResolutionOptions { late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_ = objc.registerName( "initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); -final _objc_msgSend_173 = objc.msgSendPointer +final _objc_msgSend_146 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7773,7 +6190,7 @@ late final _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsS "URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:"); late final _sel_resourceValuesForKeys_fromBookmarkData_ = objc.registerName("resourceValuesForKeys:fromBookmarkData:"); -final _objc_msgSend_174 = objc.msgSendPointer +final _objc_msgSend_147 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7789,7 +6206,7 @@ final _objc_msgSend_174 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_writeBookmarkData_toURL_options_error_ = objc.registerName("writeBookmarkData:toURL:options:error:"); -final _objc_msgSend_175 = objc.msgSendPointer +final _objc_msgSend_148 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -7809,7 +6226,7 @@ final _objc_msgSend_175 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_bookmarkDataWithContentsOfURL_error_ = objc.registerName("bookmarkDataWithContentsOfURL:error:"); -final _objc_msgSend_176 = objc.msgSendPointer +final _objc_msgSend_149 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -7825,7 +6242,7 @@ final _objc_msgSend_176 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_URLByResolvingAliasFileAtURL_options_error_ = objc.registerName("URLByResolvingAliasFileAtURL:options:error:"); -final _objc_msgSend_177 = objc.msgSendPointer +final _objc_msgSend_150 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -7874,7 +6291,7 @@ class NSDictionary extends NSObject { objc.ObjCObjectBase? objectForKey_(objc.ObjCObjectBase aKey) { final _ret = - _objc_msgSend_178(this.pointer, _sel_objectForKey_, aKey.pointer); + _objc_msgSend_151(this.pointer, _sel_objectForKey_, aKey.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -7885,7 +6302,6 @@ class NSDictionary extends NSObject { return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } - @override NSDictionary init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSDictionary.castFromPointer(_ret, retain: true, release: true); @@ -7895,7 +6311,7 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_179( + final _ret = _objc_msgSend_152( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -7909,7 +6325,7 @@ class NSDictionary extends NSObject { } NSArray get allKeys { - final _ret = _objc_msgSend_162(this.pointer, _sel_allKeys); + final _ret = _objc_msgSend_137(this.pointer, _sel_allKeys); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7920,7 +6336,7 @@ class NSDictionary extends NSObject { } NSArray get allValues { - final _ret = _objc_msgSend_162(this.pointer, _sel_allValues); + final _ret = _objc_msgSend_137(this.pointer, _sel_allValues); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7952,7 +6368,7 @@ class NSDictionary extends NSObject { } bool isEqualToDictionary_(NSDictionary otherDictionary) { - return _objc_msgSend_180( + return _objc_msgSend_153( this.pointer, _sel_isEqualToDictionary_, otherDictionary.pointer); } @@ -7963,7 +6379,7 @@ class NSDictionary extends NSObject { NSArray objectsForKeys_notFoundMarker_( NSArray keys, objc.ObjCObjectBase marker) { - final _ret = _objc_msgSend_181(this.pointer, + final _ret = _objc_msgSend_154(this.pointer, _sel_objectsForKeys_notFoundMarker_, keys.pointer, marker.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -7985,71 +6401,25 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int count) { - _objc_msgSend_182( + _objc_msgSend_155( this.pointer, _sel_getObjects_andKeys_count_, objects, keys, count); } objc.ObjCObjectBase? objectForKeyedSubscript_(objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_178( + final _ret = _objc_msgSend_151( this.pointer, _sel_objectForKeyedSubscript_, key.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); } - void enumerateKeysAndObjectsUsingBlock_( - ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_183( - this.pointer, _sel_enumerateKeysAndObjectsUsingBlock_, block.pointer); - } - - void enumerateKeysAndObjectsWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool block) { - _objc_msgSend_184( - this.pointer, - _sel_enumerateKeysAndObjectsWithOptions_usingBlock_, - opts, - block.pointer); - } - - NSArray keysSortedByValueUsingComparator_( - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_147( - this.pointer, _sel_keysSortedByValueUsingComparator_, cmptr.pointer); - return NSArray.castFromPointer(_ret, retain: true, release: true); - } - - NSArray keysSortedByValueWithOptions_usingComparator_(int opts, - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - final _ret = _objc_msgSend_148( - this.pointer, - _sel_keysSortedByValueWithOptions_usingComparator_, - opts, - cmptr.pointer); - return NSArray.castFromPointer(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase keysOfEntriesPassingTest_( - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_185( - this.pointer, _sel_keysOfEntriesPassingTest_, predicate.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - - objc.ObjCObjectBase keysOfEntriesWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_186(this.pointer, - _sel_keysOfEntriesWithOptions_passingTest_, opts, predicate.pointer); - return objc.ObjCObjectBase(_ret, retain: true, release: true); - } - void getObjects_andKeys_(ffi.Pointer> objects, ffi.Pointer> keys) { - _objc_msgSend_187(this.pointer, _sel_getObjects_andKeys_, objects, keys); + _objc_msgSend_156(this.pointer, _sel_getObjects_andKeys_, objects, keys); } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_188( + final _ret = _objc_msgSend_157( _class_NSDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -8057,7 +6427,7 @@ class NSDictionary extends NSObject { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_189( + final _ret = _objc_msgSend_158( _class_NSDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -8065,7 +6435,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_188( + final _ret = _objc_msgSend_157( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -8073,7 +6443,7 @@ class NSDictionary extends NSObject { } NSDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_189( + final _ret = _objc_msgSend_158( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -8086,7 +6456,7 @@ class NSDictionary extends NSObject { } bool writeToURL_atomically_(NSURL url, bool atomically) { - return _objc_msgSend_160( + return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } @@ -8097,7 +6467,7 @@ class NSDictionary extends NSObject { static NSDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_190(_class_NSDictionary, + final _ret = _objc_msgSend_159(_class_NSDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } @@ -8106,59 +6476,59 @@ class NSDictionary extends NSObject { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_179(_class_NSDictionary, + final _ret = _objc_msgSend_152(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150(_class_NSDictionary, + final _ret = _objc_msgSend_126(_class_NSDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_191( + final _ret = _objc_msgSend_160( _class_NSDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } static NSDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_192(_class_NSDictionary, + final _ret = _objc_msgSend_161(_class_NSDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_191( + final _ret = _objc_msgSend_160( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_193(this.pointer, + final _ret = _objc_msgSend_162(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } NSDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_192(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_161(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } NSDictionary? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_194( + final _ret = _objc_msgSend_163( this.pointer, _sel_initWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -8167,7 +6537,7 @@ class NSDictionary extends NSObject { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_194(_class_NSDictionary, + final _ret = _objc_msgSend_163(_class_NSDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -8175,7 +6545,7 @@ class NSDictionary extends NSObject { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_127( _class_NSDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -8184,7 +6554,7 @@ class NSDictionary extends NSObject { ffi.Pointer state, ffi.Pointer> buffer, int len) { - return _objc_msgSend_195(this.pointer, + return _objc_msgSend_164(this.pointer, _sel_countByEnumeratingWithState_objects_count_, state, buffer, len); } @@ -8207,7 +6577,7 @@ class NSDictionary extends NSObject { late final _class_NSDictionary = objc.getClass("NSDictionary"); late final _sel_objectForKey_ = objc.registerName("objectForKey:"); -final _objc_msgSend_178 = objc.msgSendPointer +final _objc_msgSend_151 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8220,7 +6590,7 @@ final _objc_msgSend_178 = objc.msgSendPointer late final _sel_keyEnumerator = objc.registerName("keyEnumerator"); late final _sel_initWithObjects_forKeys_count_ = objc.registerName("initWithObjects:forKeys:count:"); -final _objc_msgSend_179 = objc.msgSendPointer +final _objc_msgSend_152 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8243,7 +6613,7 @@ late final _sel_descriptionInStringsFileFormat = objc.registerName("descriptionInStringsFileFormat"); late final _sel_isEqualToDictionary_ = objc.registerName("isEqualToDictionary:"); -final _objc_msgSend_180 = objc.msgSendPointer +final _objc_msgSend_153 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -8255,7 +6625,7 @@ final _objc_msgSend_180 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_objectsForKeys_notFoundMarker_ = objc.registerName("objectsForKeys:notFoundMarker:"); -final _objc_msgSend_181 = objc.msgSendPointer +final _objc_msgSend_154 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8273,334 +6643,26 @@ late final _sel_keysSortedByValueUsingSelector_ = objc.registerName("keysSortedByValueUsingSelector:"); late final _sel_getObjects_andKeys_count_ = objc.registerName("getObjects:andKeys:count:"); -final _objc_msgSend_182 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - ffi.UnsignedLong)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>, - ffi.Pointer>, - int)>(); -late final _sel_objectForKeyedSubscript_ = - objc.registerName("objectForKeyedSubscript:"); -void _ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1, arg2); -void _ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool.fromFunction( - void Function(objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) - fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool.listener( - void Function(objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) - fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_objcObjCObject_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer, arg2); -} - -late final _sel_enumerateKeysAndObjectsUsingBlock_ = - objc.registerName("enumerateKeysAndObjectsUsingBlock:"); -final _objc_msgSend_183 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_enumerateKeysAndObjectsWithOptions_usingBlock_ = - objc.registerName("enumerateKeysAndObjectsWithOptions:usingBlock:"); -final _objc_msgSend_184 = objc.msgSendPointer +final _objc_msgSend_155 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -late final _sel_keysSortedByValueUsingComparator_ = - objc.registerName("keysSortedByValueUsingComparator:"); -late final _sel_keysSortedByValueWithOptions_usingComparator_ = - objc.registerName("keysSortedByValueWithOptions:usingComparator:"); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1, arg2); -bool _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as bool Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_bool_objcObjCObject_objcObjCObject_bool - extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_fnPtrTrampoline, - false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_objcObjCObject_bool.fromFunction( - bool Function( - objc.ObjCObjectBase, objc.ObjCObjectBase, ffi.Pointer) - fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1, ffi.Pointer arg2) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), objc.ObjCObjectBase(arg1, retain: true, release: true), arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, objc.ObjCObjectBase arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer, arg2); -} - -late final _sel_keysOfEntriesPassingTest_ = - objc.registerName("keysOfEntriesPassingTest:"); -final _objc_msgSend_185 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_keysOfEntriesWithOptions_passingTest_ = - objc.registerName("keysOfEntriesWithOptions:passingTest:"); -final _objc_msgSend_186 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() + ffi.Pointer>, + ffi.Pointer>, + ffi.UnsignedLong)>>() .asFunction< - ffi.Pointer Function( + void Function( ffi.Pointer, ffi.Pointer, - int, - ffi.Pointer)>(); + ffi.Pointer>, + ffi.Pointer>, + int)>(); +late final _sel_objectForKeyedSubscript_ = + objc.registerName("objectForKeyedSubscript:"); late final _sel_getObjects_andKeys_ = objc.registerName("getObjects:andKeys:"); -final _objc_msgSend_187 = objc.msgSendPointer +final _objc_msgSend_156 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8616,7 +6678,7 @@ final _objc_msgSend_187 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_dictionaryWithContentsOfFile_ = objc.registerName("dictionaryWithContentsOfFile:"); -final _objc_msgSend_188 = objc.msgSendPointer +final _objc_msgSend_157 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8628,7 +6690,7 @@ final _objc_msgSend_188 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dictionaryWithContentsOfURL_ = objc.registerName("dictionaryWithContentsOfURL:"); -final _objc_msgSend_189 = objc.msgSendPointer +final _objc_msgSend_158 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8641,7 +6703,7 @@ final _objc_msgSend_189 = objc.msgSendPointer late final _sel_dictionary = objc.registerName("dictionary"); late final _sel_dictionaryWithObject_forKey_ = objc.registerName("dictionaryWithObject:forKey:"); -final _objc_msgSend_190 = objc.msgSendPointer +final _objc_msgSend_159 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8661,7 +6723,7 @@ late final _sel_dictionaryWithObjectsAndKeys_ = objc.registerName("dictionaryWithObjectsAndKeys:"); late final _sel_dictionaryWithDictionary_ = objc.registerName("dictionaryWithDictionary:"); -final _objc_msgSend_191 = objc.msgSendPointer +final _objc_msgSend_160 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8673,7 +6735,7 @@ final _objc_msgSend_191 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dictionaryWithObjects_forKeys_ = objc.registerName("dictionaryWithObjects:forKeys:"); -final _objc_msgSend_192 = objc.msgSendPointer +final _objc_msgSend_161 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8692,7 +6754,7 @@ late final _sel_initWithObjectsAndKeys_ = late final _sel_initWithDictionary_ = objc.registerName("initWithDictionary:"); late final _sel_initWithDictionary_copyItems_ = objc.registerName("initWithDictionary:copyItems:"); -final _objc_msgSend_193 = objc.msgSendPointer +final _objc_msgSend_162 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -8708,7 +6770,7 @@ final _objc_msgSend_193 = objc.msgSendPointer bool)>(); late final _sel_initWithObjects_forKeys_ = objc.registerName("initWithObjects:forKeys:"); -final _objc_msgSend_194 = objc.msgSendPointer +final _objc_msgSend_163 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8741,7 +6803,7 @@ final class NSFastEnumerationState extends ffi.Struct { late final _sel_countByEnumeratingWithState_objects_count_ = objc.registerName("countByEnumeratingWithState:objects:count:"); -final _objc_msgSend_195 = objc.msgSendPointer +final _objc_msgSend_164 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -8759,7 +6821,7 @@ final _objc_msgSend_195 = objc.msgSendPointer int)>(); late final _sel_promisedItemResourceValuesForKeys_error_ = objc.registerName("promisedItemResourceValuesForKeys:error:"); -final _objc_msgSend_196 = objc.msgSendPointer +final _objc_msgSend_165 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8777,7 +6839,7 @@ late final _sel_checkPromisedItemIsReachableAndReturnError_ = objc.registerName("checkPromisedItemIsReachableAndReturnError:"); late final _sel_fileURLWithPathComponents_ = objc.registerName("fileURLWithPathComponents:"); -final _objc_msgSend_197 = objc.msgSendPointer +final _objc_msgSend_166 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8792,7 +6854,7 @@ late final _sel_lastPathComponent = objc.registerName("lastPathComponent"); late final _sel_pathExtension = objc.registerName("pathExtension"); late final _sel_URLByAppendingPathComponent_ = objc.registerName("URLByAppendingPathComponent:"); -final _objc_msgSend_198 = objc.msgSendPointer +final _objc_msgSend_167 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8804,7 +6866,7 @@ final _objc_msgSend_198 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_URLByAppendingPathComponent_isDirectory_ = objc.registerName("URLByAppendingPathComponent:isDirectory:"); -final _objc_msgSend_199 = objc.msgSendPointer +final _objc_msgSend_168 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -8830,7 +6892,7 @@ late final _sel_URLByResolvingSymlinksInPath = objc.registerName("URLByResolvingSymlinksInPath"); late final _sel_resourceDataUsingCache_ = objc.registerName("resourceDataUsingCache:"); -final _objc_msgSend_200 = objc.msgSendPointer +final _objc_msgSend_169 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -8840,7 +6902,7 @@ final _objc_msgSend_200 = objc.msgSendPointer ffi.Pointer, bool)>(); late final _sel_loadResourceDataNotifyingClient_usingCache_ = objc.registerName("loadResourceDataNotifyingClient:usingCache:"); -final _objc_msgSend_201 = objc.msgSendPointer +final _objc_msgSend_170 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -8857,7 +6919,7 @@ final _objc_msgSend_201 = objc.msgSendPointer late final _sel_propertyForKey_ = objc.registerName("propertyForKey:"); late final _sel_setResourceData_ = objc.registerName("setResourceData:"); late final _sel_setProperty_forKey_ = objc.registerName("setProperty:forKey:"); -final _objc_msgSend_202 = objc.msgSendPointer +final _objc_msgSend_171 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -8893,18 +6955,18 @@ class NSURLHandle extends NSObject { } static void registerURLHandleClass_(objc.ObjCObjectBase anURLHandleSubclass) { - _objc_msgSend_203(_class_NSURLHandle, _sel_registerURLHandleClass_, + _objc_msgSend_172(_class_NSURLHandle, _sel_registerURLHandleClass_, anURLHandleSubclass.pointer); } static objc.ObjCObjectBase URLHandleClassForURL_(NSURL anURL) { - final _ret = _objc_msgSend_204( + final _ret = _objc_msgSend_173( _class_NSURLHandle, _sel_URLHandleClassForURL_, anURL.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } int status() { - return _objc_msgSend_205(this.pointer, _sel_status); + return _objc_msgSend_174(this.pointer, _sel_status); } NSString failureReason() { @@ -8913,11 +6975,11 @@ class NSURLHandle extends NSObject { } void addClient_(objc.ObjCObjectBase client) { - _objc_msgSend_203(this.pointer, _sel_addClient_, client.pointer); + _objc_msgSend_172(this.pointer, _sel_addClient_, client.pointer); } void removeClient_(objc.ObjCObjectBase client) { - _objc_msgSend_203(this.pointer, _sel_removeClient_, client.pointer); + _objc_msgSend_172(this.pointer, _sel_removeClient_, client.pointer); } void loadInBackground() { @@ -8947,28 +7009,28 @@ class NSURLHandle extends NSObject { } void backgroundLoadDidFailWithReason_(NSString reason) { - _objc_msgSend_170( + _objc_msgSend_143( this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); } void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { - _objc_msgSend_206( + _objc_msgSend_175( this.pointer, _sel_didLoadBytes_loadComplete_, newBytes.pointer, yorn); } static bool canInitWithURL_(NSURL anURL) { - return _objc_msgSend_207( + return _objc_msgSend_176( _class_NSURLHandle, _sel_canInitWithURL_, anURL.pointer); } static NSURLHandle cachedHandleForURL_(NSURL anURL) { - final _ret = _objc_msgSend_208( + final _ret = _objc_msgSend_177( _class_NSURLHandle, _sel_cachedHandleForURL_, anURL.pointer); return NSURLHandle.castFromPointer(_ret, retain: true, release: true); } objc.ObjCObjectBase initWithURL_cached_(NSURL anURL, bool willCache) { - final _ret = _objc_msgSend_209( + final _ret = _objc_msgSend_178( this.pointer, _sel_initWithURL_cached_, anURL.pointer, willCache); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -8987,7 +7049,7 @@ class NSURLHandle extends NSObject { bool writeProperty_forKey_( objc.ObjCObjectBase propertyValue, NSString propertyKey) { - return _objc_msgSend_202(this.pointer, _sel_writeProperty_forKey_, + return _objc_msgSend_171(this.pointer, _sel_writeProperty_forKey_, propertyValue.pointer, propertyKey.pointer); } @@ -9008,7 +7070,6 @@ class NSURLHandle extends NSObject { _objc_msgSend_1(this.pointer, _sel_endLoadInBackground); } - @override NSURLHandle init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSURLHandle.castFromPointer(_ret, retain: true, release: true); @@ -9033,7 +7094,7 @@ class NSURLHandle extends NSObject { late final _class_NSURLHandle = objc.getClass("NSURLHandle"); late final _sel_registerURLHandleClass_ = objc.registerName("registerURLHandleClass:"); -final _objc_msgSend_203 = objc.msgSendPointer +final _objc_msgSend_172 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9045,7 +7106,7 @@ final _objc_msgSend_203 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_URLHandleClassForURL_ = objc.registerName("URLHandleClassForURL:"); -final _objc_msgSend_204 = objc.msgSendPointer +final _objc_msgSend_173 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9064,7 +7125,7 @@ abstract class NSURLHandleStatus { } late final _sel_status = objc.registerName("status"); -final _objc_msgSend_205 = objc.msgSendPointer +final _objc_msgSend_174 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function(ffi.Pointer, @@ -9088,7 +7149,7 @@ late final _sel_backgroundLoadDidFailWithReason_ = objc.registerName("backgroundLoadDidFailWithReason:"); late final _sel_didLoadBytes_loadComplete_ = objc.registerName("didLoadBytes:loadComplete:"); -final _objc_msgSend_206 = objc.msgSendPointer +final _objc_msgSend_175 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9103,7 +7164,7 @@ final _objc_msgSend_206 = objc.msgSendPointer ffi.Pointer, bool)>(); late final _sel_canInitWithURL_ = objc.registerName("canInitWithURL:"); -final _objc_msgSend_207 = objc.msgSendPointer +final _objc_msgSend_176 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9114,7 +7175,7 @@ final _objc_msgSend_207 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_cachedHandleForURL_ = objc.registerName("cachedHandleForURL:"); -final _objc_msgSend_208 = objc.msgSendPointer +final _objc_msgSend_177 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9125,7 +7186,7 @@ final _objc_msgSend_208 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithURL_cached_ = objc.registerName("initWithURL:cached:"); -final _objc_msgSend_209 = objc.msgSendPointer +final _objc_msgSend_178 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9150,7 +7211,7 @@ late final _sel_beginLoadInBackground = late final _sel_endLoadInBackground = objc.registerName("endLoadInBackground"); late final _sel_URLHandleUsingCache_ = objc.registerName("URLHandleUsingCache:"); -final _objc_msgSend_210 = objc.msgSendPointer +final _objc_msgSend_179 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9176,7 +7237,7 @@ abstract class NSDataWritingOptions { late final _sel_writeToFile_options_error_ = objc.registerName("writeToFile:options:error:"); -final _objc_msgSend_211 = objc.msgSendPointer +final _objc_msgSend_180 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9194,7 +7255,7 @@ final _objc_msgSend_211 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_writeToURL_options_error_ = objc.registerName("writeToURL:options:error:"); -final _objc_msgSend_212 = objc.msgSendPointer +final _objc_msgSend_181 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9218,180 +7279,44 @@ abstract class NSDataSearchOptions { late final _sel_rangeOfData_options_range_ = objc.registerName("rangeOfData:options:range:"); -final _objc_msgSend_213 = objc.msgSendPointer +final _objc_msgSend_182 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); -final _objc_msgSend_213Stret = objc.msgSendStretPointer + NSRange)>(); +final _objc_msgSend_182Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); -void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function(ffi.Pointer, _NSRange, - ffi.Pointer)>()(arg0, arg1, arg2); -void _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - _NSRange, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_ffiVoid_NSRange_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiVoid_NSRange_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiVoid_NSRange_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.fromFunction( - void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - fn(arg0, arg1, arg2))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiVoid_NSRange_bool.listener( - void Function(ffi.Pointer, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ffiVoid_NSRange_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - fn(arg0, arg1, arg2))); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - _NSRange, ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(ffi.Pointer arg0, _NSRange arg1, - ffi.Pointer arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Pointer)>()(pointer, arg0, arg1, arg2); -} - -late final _sel_enumerateByteRangesUsingBlock_ = - objc.registerName("enumerateByteRangesUsingBlock:"); -final _objc_msgSend_214 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); + NSRange)>(); late final _sel_data = objc.registerName("data"); late final _sel_dataWithBytes_length_ = objc.registerName("dataWithBytes:length:"); -final _objc_msgSend_215 = objc.msgSendPointer +final _objc_msgSend_183 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9406,7 +7331,7 @@ late final _sel_dataWithBytesNoCopy_length_ = objc.registerName("dataWithBytesNoCopy:length:"); late final _sel_dataWithBytesNoCopy_length_freeWhenDone_ = objc.registerName("dataWithBytesNoCopy:length:freeWhenDone:"); -final _objc_msgSend_216 = objc.msgSendPointer +final _objc_msgSend_184 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9434,7 +7359,7 @@ abstract class NSDataReadingOptions { late final _sel_dataWithContentsOfFile_options_error_ = objc.registerName("dataWithContentsOfFile:options:error:"); -final _objc_msgSend_217 = objc.msgSendPointer +final _objc_msgSend_185 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9452,7 +7377,7 @@ final _objc_msgSend_217 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_dataWithContentsOfURL_options_error_ = objc.registerName("dataWithContentsOfURL:options:error:"); -final _objc_msgSend_218 = objc.msgSendPointer +final _objc_msgSend_186 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9472,7 +7397,7 @@ late final _sel_dataWithContentsOfFile_ = objc.registerName("dataWithContentsOfFile:"); late final _sel_dataWithContentsOfURL_ = objc.registerName("dataWithContentsOfURL:"); -final _objc_msgSend_219 = objc.msgSendPointer +final _objc_msgSend_187 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9488,133 +7413,12 @@ late final _sel_initWithBytesNoCopy_length_ = objc.registerName("initWithBytesNoCopy:length:"); late final _sel_initWithBytesNoCopy_length_freeWhenDone_ = objc.registerName("initWithBytesNoCopy:length:freeWhenDone:"); -void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() - .asFunction, int)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, int))( - arg0, arg1); - -class ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, ffi.UnsignedLong arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.fromFunction( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong.listener( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>.listener( - _ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.NativeCallable< - ffi.Void Function(ffi.Pointer, ffi.Pointer, - ffi.UnsignedLong)>? _dartFuncListenerTrampoline; - - void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer block, - ffi.Pointer arg0, ffi.UnsignedLong arg1)>>() - .asFunction< - void Function(ffi.Pointer, ffi.Pointer, - int)>()(pointer, arg0, arg1); -} - -late final _sel_initWithBytesNoCopy_length_deallocator_ = - objc.registerName("initWithBytesNoCopy:length:deallocator:"); -final _objc_msgSend_220 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); late final _sel_initWithContentsOfFile_options_error_ = objc.registerName("initWithContentsOfFile:options:error:"); late final _sel_initWithContentsOfURL_options_error_ = objc.registerName("initWithContentsOfURL:options:error:"); late final _sel_initWithData_ = objc.registerName("initWithData:"); -final _objc_msgSend_221 = objc.msgSendPointer +final _objc_msgSend_188 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9632,7 +7436,7 @@ abstract class NSDataBase64DecodingOptions { late final _sel_initWithBase64EncodedString_options_ = objc.registerName("initWithBase64EncodedString:options:"); -final _objc_msgSend_222 = objc.msgSendPointer +final _objc_msgSend_189 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9656,7 +7460,7 @@ abstract class NSDataBase64EncodingOptions { late final _sel_base64EncodedStringWithOptions_ = objc.registerName("base64EncodedStringWithOptions:"); -final _objc_msgSend_223 = objc.msgSendPointer +final _objc_msgSend_190 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9666,7 +7470,7 @@ final _objc_msgSend_223 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithBase64EncodedData_options_ = objc.registerName("initWithBase64EncodedData:options:"); -final _objc_msgSend_224 = objc.msgSendPointer +final _objc_msgSend_191 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9682,7 +7486,7 @@ final _objc_msgSend_224 = objc.msgSendPointer int)>(); late final _sel_base64EncodedDataWithOptions_ = objc.registerName("base64EncodedDataWithOptions:"); -final _objc_msgSend_225 = objc.msgSendPointer +final _objc_msgSend_192 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -9700,7 +7504,7 @@ abstract class NSDataCompressionAlgorithm { late final _sel_decompressedDataUsingAlgorithm_error_ = objc.registerName("decompressedDataUsingAlgorithm:error:"); -final _objc_msgSend_226 = objc.msgSendPointer +final _objc_msgSend_193 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9726,7 +7530,7 @@ late final _sel_initWithBase64Encoding_ = late final _sel_base64Encoding = objc.registerName("base64Encoding"); late final _sel_characterSetWithBitmapRepresentation_ = objc.registerName("characterSetWithBitmapRepresentation:"); -final _objc_msgSend_227 = objc.msgSendPointer +final _objc_msgSend_194 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9738,7 +7542,7 @@ final _objc_msgSend_227 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_characterSetWithContentsOfFile_ = objc.registerName("characterSetWithContentsOfFile:"); -final _objc_msgSend_228 = objc.msgSendPointer +final _objc_msgSend_195 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9748,7 +7552,7 @@ final _objc_msgSend_228 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_229 = objc.msgSendPointer +final _objc_msgSend_196 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -9759,7 +7563,7 @@ final _objc_msgSend_229 = objc.msgSendPointer instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_characterIsMember_ = objc.registerName("characterIsMember:"); -final _objc_msgSend_230 = objc.msgSendPointer +final _objc_msgSend_197 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -9772,7 +7576,7 @@ late final _sel_bitmapRepresentation = late final _sel_invertedSet = objc.registerName("invertedSet"); late final _sel_longCharacterIsMember_ = objc.registerName("longCharacterIsMember:"); -final _objc_msgSend_231 = objc.msgSendPointer +final _objc_msgSend_198 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -9781,7 +7585,7 @@ final _objc_msgSend_231 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, int)>(); late final _sel_isSupersetOfSet_ = objc.registerName("isSupersetOfSet:"); -final _objc_msgSend_232 = objc.msgSendPointer +final _objc_msgSend_199 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -9792,7 +7596,7 @@ final _objc_msgSend_232 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_hasMemberInPlane_ = objc.registerName("hasMemberInPlane:"); -final _objc_msgSend_233 = objc.msgSendPointer +final _objc_msgSend_200 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function(ffi.Pointer, @@ -9814,137 +7618,137 @@ late final _sel_URLFragmentAllowedCharacterSet = objc.registerName("URLFragmentAllowedCharacterSet"); late final _sel_rangeOfCharacterFromSet_ = objc.registerName("rangeOfCharacterFromSet:"); -final _objc_msgSend_234 = objc.msgSendPointer +final _objc_msgSend_201 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - _NSRange Function(ffi.Pointer, + NSRange Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_234Stret = objc.msgSendStretPointer +final _objc_msgSend_201Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_rangeOfCharacterFromSet_options_ = objc.registerName("rangeOfCharacterFromSet:options:"); -final _objc_msgSend_235 = objc.msgSendPointer +final _objc_msgSend_202 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int)>(); -final _objc_msgSend_235Stret = objc.msgSendStretPointer +final _objc_msgSend_202Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, int)>(); late final _sel_rangeOfCharacterFromSet_options_range_ = objc.registerName("rangeOfCharacterFromSet:options:range:"); -final _objc_msgSend_236 = objc.msgSendPointer +final _objc_msgSend_203 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< - _NSRange Function( + NSRange Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); -final _objc_msgSend_236Stret = objc.msgSendStretPointer + NSRange)>(); +final _objc_msgSend_203Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); late final _sel_rangeOfComposedCharacterSequenceAtIndex_ = objc.registerName("rangeOfComposedCharacterSequenceAtIndex:"); -final _objc_msgSend_237 = objc.msgSendPointer +final _objc_msgSend_204 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function(ffi.Pointer, + NSRange Function(ffi.Pointer, ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - _NSRange Function(ffi.Pointer, + NSRange Function(ffi.Pointer, ffi.Pointer, int)>(); -final _objc_msgSend_237Stret = objc.msgSendStretPointer +final _objc_msgSend_204Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, + void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, int)>(); late final _sel_rangeOfComposedCharacterSequencesForRange_ = objc.registerName("rangeOfComposedCharacterSequencesForRange:"); -final _objc_msgSend_238 = objc.msgSendPointer +final _objc_msgSend_205 = objc.msgSendPointer .cast< ffi.NativeFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() + NSRange Function(ffi.Pointer, + ffi.Pointer, NSRange)>>() .asFunction< - _NSRange Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); -final _objc_msgSend_238Stret = objc.msgSendStretPointer + NSRange Function(ffi.Pointer, + ffi.Pointer, NSRange)>(); +final _objc_msgSend_205Stret = objc.msgSendStretPointer .cast< ffi.NativeFunction< ffi.Void Function( - ffi.Pointer<_NSRange>, + ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< - void Function(ffi.Pointer<_NSRange>, ffi.Pointer, - ffi.Pointer, _NSRange)>(); + void Function(ffi.Pointer, ffi.Pointer, + ffi.Pointer, NSRange)>(); late final _sel_stringByAppendingString_ = objc.registerName("stringByAppendingString:"); late final _sel_stringByAppendingFormat_ = @@ -9960,7 +7764,7 @@ late final _sel_localizedCapitalizedString = objc.registerName("localizedCapitalizedString"); late final _sel_uppercaseStringWithLocale_ = objc.registerName("uppercaseStringWithLocale:"); -final _objc_msgSend_239 = objc.msgSendPointer +final _objc_msgSend_206 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -9976,7 +7780,7 @@ late final _sel_capitalizedStringWithLocale_ = objc.registerName("capitalizedStringWithLocale:"); late final _sel_getLineStart_end_contentsEnd_forRange_ = objc.registerName("getLineStart:end:contentsEnd:forRange:"); -final _objc_msgSend_240 = objc.msgSendPointer +final _objc_msgSend_207 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -9985,7 +7789,7 @@ final _objc_msgSend_240 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( ffi.Pointer, @@ -9993,328 +7797,18 @@ final _objc_msgSend_240 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>(); + NSRange)>(); late final _sel_lineRangeForRange_ = objc.registerName("lineRangeForRange:"); late final _sel_getParagraphStart_end_contentsEnd_forRange_ = objc.registerName("getParagraphStart:end:contentsEnd:forRange:"); late final _sel_paragraphRangeForRange_ = objc.registerName("paragraphRangeForRange:"); - -abstract class NSStringEnumerationOptions { - static const int NSStringEnumerationByLines = 0; - static const int NSStringEnumerationByParagraphs = 1; - static const int NSStringEnumerationByComposedCharacterSequences = 2; - static const int NSStringEnumerationByWords = 3; - static const int NSStringEnumerationBySentences = 4; - static const int NSStringEnumerationByCaretPositions = 5; - static const int NSStringEnumerationByDeletionClusters = 6; - static const int NSStringEnumerationReverse = 256; - static const int NSStringEnumerationSubstringNotRequired = 512; - static const int NSStringEnumerationLocalized = 1024; -} - -void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>>() - .asFunction< - void Function(ffi.Pointer, _NSRange, _NSRange, - ffi.Pointer)>()(arg0, arg1, arg2, arg3); -void _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - _NSRange, _NSRange, ffi.Pointer))(arg0, arg1, arg2, arg3); - -class ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.fromFunction( - void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool.listener( - void Function(NSString?, _NSRange, _NSRange, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSString_NSRange_NSRange_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - fn(arg0.address == 0 ? null : NSString.castFromPointer(arg0, retain: true, release: true), arg1, arg2, arg3))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSString? arg0, _NSRange arg1, _NSRange arg2, - ffi.Pointer arg3) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - _NSRange arg1, - _NSRange arg2, - ffi.Pointer arg3)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - _NSRange, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1, arg2, arg3); -} - -late final _sel_enumerateSubstringsInRange_options_usingBlock_ = - objc.registerName("enumerateSubstringsInRange:options:usingBlock:"); -final _objc_msgSend_241 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - _NSRange, - int, - ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_NSString_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSString_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSString_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSString_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSString_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - objc - .newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSString_bool.fromFunction( - void Function(NSString, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSString.castFromPointer(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSString_bool.listener( - void Function(NSString, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSString_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(NSString.castFromPointer(arg0, retain: true, release: true), - arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSString arg0, ffi.Pointer arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); -} - -late final _sel_enumerateLinesUsingBlock_ = - objc.registerName("enumerateLinesUsingBlock:"); -final _objc_msgSend_242 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); late final _sel_UTF8String = objc.registerName("UTF8String"); late final _sel_fastestEncoding = objc.registerName("fastestEncoding"); late final _sel_smallestEncoding = objc.registerName("smallestEncoding"); late final _sel_dataUsingEncoding_allowLossyConversion_ = objc.registerName("dataUsingEncoding:allowLossyConversion:"); -final _objc_msgSend_243 = objc.msgSendPointer +final _objc_msgSend_208 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10323,7 +7817,7 @@ final _objc_msgSend_243 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int, bool)>(); late final _sel_dataUsingEncoding_ = objc.registerName("dataUsingEncoding:"); -final _objc_msgSend_244 = objc.msgSendPointer +final _objc_msgSend_209 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10337,7 +7831,7 @@ late final _sel_cStringUsingEncoding_ = objc.registerName("cStringUsingEncoding:"); late final _sel_getCString_maxLength_encoding_ = objc.registerName("getCString:maxLength:encoding:"); -final _objc_msgSend_245 = objc.msgSendPointer +final _objc_msgSend_210 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10358,7 +7852,7 @@ abstract class NSStringEncodingConversionOptions { late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_ = objc.registerName( "getBytes:maxLength:usedLength:encoding:options:range:remainingRange:"); -final _objc_msgSend_246 = objc.msgSendPointer +final _objc_msgSend_211 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10369,8 +7863,8 @@ final _objc_msgSend_246 = objc.msgSendPointer ffi.Pointer, ffi.UnsignedLong, ffi.Int32, - _NSRange, - ffi.Pointer<_NSRange>)>>() + NSRange, + ffi.Pointer)>>() .asFunction< bool Function( ffi.Pointer, @@ -10380,15 +7874,15 @@ final _objc_msgSend_246 = objc.msgSendPointer ffi.Pointer, int, int, - _NSRange, - ffi.Pointer<_NSRange>)>(); + NSRange, + ffi.Pointer)>(); late final _sel_maximumLengthOfBytesUsingEncoding_ = objc.registerName("maximumLengthOfBytesUsingEncoding:"); late final _sel_lengthOfBytesUsingEncoding_ = objc.registerName("lengthOfBytesUsingEncoding:"); late final _sel_availableStringEncodings = objc.registerName("availableStringEncodings"); -final _objc_msgSend_247 = objc.msgSendPointer +final _objc_msgSend_212 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -10410,7 +7904,7 @@ late final _sel_precomposedStringWithCompatibilityMapping = objc.registerName("precomposedStringWithCompatibilityMapping"); late final _sel_componentsSeparatedByString_ = objc.registerName("componentsSeparatedByString:"); -final _objc_msgSend_248 = objc.msgSendPointer +final _objc_msgSend_213 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10422,7 +7916,7 @@ final _objc_msgSend_248 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_componentsSeparatedByCharactersInSet_ = objc.registerName("componentsSeparatedByCharactersInSet:"); -final _objc_msgSend_249 = objc.msgSendPointer +final _objc_msgSend_214 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10434,7 +7928,7 @@ final _objc_msgSend_249 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByTrimmingCharactersInSet_ = objc.registerName("stringByTrimmingCharactersInSet:"); -final _objc_msgSend_250 = objc.msgSendPointer +final _objc_msgSend_215 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10446,7 +7940,7 @@ final _objc_msgSend_250 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByPaddingToLength_withString_startingAtIndex_ = objc.registerName("stringByPaddingToLength:withString:startingAtIndex:"); -final _objc_msgSend_251 = objc.msgSendPointer +final _objc_msgSend_216 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10464,7 +7958,7 @@ final _objc_msgSend_251 = objc.msgSendPointer int)>(); late final _sel_stringByFoldingWithOptions_locale_ = objc.registerName("stringByFoldingWithOptions:locale:"); -final _objc_msgSend_252 = objc.msgSendPointer +final _objc_msgSend_217 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10481,7 +7975,7 @@ final _objc_msgSend_252 = objc.msgSendPointer late final _sel_stringByReplacingOccurrencesOfString_withString_options_range_ = objc.registerName( "stringByReplacingOccurrencesOfString:withString:options:range:"); -final _objc_msgSend_253 = objc.msgSendPointer +final _objc_msgSend_218 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10490,7 +7984,7 @@ final _objc_msgSend_253 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, @@ -10498,10 +7992,10 @@ final _objc_msgSend_253 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); late final _sel_stringByReplacingOccurrencesOfString_withString_ = objc.registerName("stringByReplacingOccurrencesOfString:withString:"); -final _objc_msgSend_254 = objc.msgSendPointer +final _objc_msgSend_219 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10517,23 +8011,23 @@ final _objc_msgSend_254 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_stringByReplacingCharactersInRange_withString_ = objc.registerName("stringByReplacingCharactersInRange:withString:"); -final _objc_msgSend_255 = objc.msgSendPointer +final _objc_msgSend_220 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>(); late final _sel_stringByApplyingTransform_reverse_ = objc.registerName("stringByApplyingTransform:reverse:"); -final _objc_msgSend_256 = objc.msgSendPointer +final _objc_msgSend_221 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -10549,7 +8043,7 @@ final _objc_msgSend_256 = objc.msgSendPointer bool)>(); late final _sel_writeToURL_atomically_encoding_error_ = objc.registerName("writeToURL:atomically:encoding:error:"); -final _objc_msgSend_257 = objc.msgSendPointer +final _objc_msgSend_222 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10569,7 +8063,7 @@ final _objc_msgSend_257 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_writeToFile_atomically_encoding_error_ = objc.registerName("writeToFile:atomically:encoding:error:"); -final _objc_msgSend_258 = objc.msgSendPointer +final _objc_msgSend_223 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -10589,7 +8083,7 @@ final _objc_msgSend_258 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithCharactersNoCopy_length_freeWhenDone_ = objc.registerName("initWithCharactersNoCopy:length:freeWhenDone:"); -final _objc_msgSend_259 = objc.msgSendPointer +final _objc_msgSend_224 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10604,141 +8098,10 @@ final _objc_msgSend_259 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, - bool)>(); -void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1)>>() - .asFunction, int)>()( - arg0, arg1); -void _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - int arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, int))(arg0, arg1); - -class ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunctionPointer( - ffi - .Pointer< - ffi - .NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.UnsignedLong arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.fromFunction( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong.listener( - void Function(ffi.Pointer, int) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>.listener( - _ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, int arg1) => fn(arg0, arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>? _dartFuncListenerTrampoline; - - void call(ffi.Pointer arg0, int arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.UnsignedLong arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>()(pointer, arg0, arg1); -} - -late final _sel_initWithCharactersNoCopy_length_deallocator_ = - objc.registerName("initWithCharactersNoCopy:length:deallocator:"); -final _objc_msgSend_260 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); + bool)>(); late final _sel_initWithCharacters_length_ = objc.registerName("initWithCharacters:length:"); -final _objc_msgSend_261 = objc.msgSendPointer +final _objc_msgSend_225 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10753,7 +8116,7 @@ final _objc_msgSend_261 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_initWithUTF8String_ = objc.registerName("initWithUTF8String:"); -final _objc_msgSend_262 = objc.msgSendPointer +final _objc_msgSend_226 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -10762,38 +8125,9 @@ final _objc_msgSend_262 = objc.msgSendPointer instancetype Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithFormat_ = objc.registerName("initWithFormat:"); - -final class __va_list_tag extends ffi.Struct { - @ffi.UnsignedInt() - external int gp_offset; - - @ffi.UnsignedInt() - external int fp_offset; - - external ffi.Pointer overflow_arg_area; - - external ffi.Pointer reg_save_area; -} - -late final _sel_initWithFormat_arguments_ = - objc.registerName("initWithFormat:arguments:"); -final _objc_msgSend_263 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>(); late final _sel_initWithFormat_locale_ = objc.registerName("initWithFormat:locale:"); -final _objc_msgSend_264 = objc.msgSendPointer +final _objc_msgSend_227 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10807,27 +8141,9 @@ final _objc_msgSend_264 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -late final _sel_initWithFormat_locale_arguments_ = - objc.registerName("initWithFormat:locale:arguments:"); -final _objc_msgSend_265 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>)>(); late final _sel_initWithValidatedFormat_validFormatSpecifiers_error_ = objc.registerName("initWithValidatedFormat:validFormatSpecifiers:error:"); -final _objc_msgSend_266 = objc.msgSendPointer +final _objc_msgSend_228 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10846,49 +8162,7 @@ final _objc_msgSend_266 = objc.msgSendPointer late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_ = objc.registerName( "initWithValidatedFormat:validFormatSpecifiers:locale:error:"); -final _objc_msgSend_267 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_ = - objc.registerName( - "initWithValidatedFormat:validFormatSpecifiers:arguments:error:"); -final _objc_msgSend_268 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer<__va_list_tag>, - ffi.Pointer>)>(); -late final _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_ = - objc.registerName( - "initWithValidatedFormat:validFormatSpecifiers:locale:arguments:error:"); -final _objc_msgSend_269 = objc.msgSendPointer +final _objc_msgSend_229 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10897,7 +8171,6 @@ final _objc_msgSend_269 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer<__va_list_tag>, ffi.Pointer>)>>() .asFunction< instancetype Function( @@ -10906,11 +8179,10 @@ final _objc_msgSend_269 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer<__va_list_tag>, ffi.Pointer>)>(); late final _sel_initWithData_encoding_ = objc.registerName("initWithData:encoding:"); -final _objc_msgSend_270 = objc.msgSendPointer +final _objc_msgSend_230 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10926,7 +8198,7 @@ final _objc_msgSend_270 = objc.msgSendPointer int)>(); late final _sel_initWithBytes_length_encoding_ = objc.registerName("initWithBytes:length:encoding:"); -final _objc_msgSend_271 = objc.msgSendPointer +final _objc_msgSend_231 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10940,7 +8212,7 @@ final _objc_msgSend_271 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, int)>(); late final _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_ = objc.registerName("initWithBytesNoCopy:length:encoding:freeWhenDone:"); -final _objc_msgSend_272 = objc.msgSendPointer +final _objc_msgSend_232 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -10958,26 +8230,6 @@ final _objc_msgSend_272 = objc.msgSendPointer int, int, bool)>(); -late final _sel_initWithBytesNoCopy_length_encoding_deallocator_ = - objc.registerName("initWithBytesNoCopy:length:encoding:deallocator:"); -final _objc_msgSend_273 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong, - ffi.UnsignedLong, - ffi.Pointer)>>() - .asFunction< - instancetype Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - int, - ffi.Pointer)>(); late final _sel_string = objc.registerName("string"); late final _sel_stringWithString_ = objc.registerName("stringWithString:"); late final _sel_stringWithCharacters_length_ = @@ -10994,7 +8246,7 @@ late final _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_ "localizedStringWithValidatedFormat:validFormatSpecifiers:error:"); late final _sel_initWithCString_encoding_ = objc.registerName("initWithCString:encoding:"); -final _objc_msgSend_274 = objc.msgSendPointer +final _objc_msgSend_233 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11009,7 +8261,7 @@ late final _sel_stringWithCString_encoding_ = objc.registerName("stringWithCString:encoding:"); late final _sel_initWithContentsOfURL_encoding_error_ = objc.registerName("initWithContentsOfURL:encoding:error:"); -final _objc_msgSend_275 = objc.msgSendPointer +final _objc_msgSend_234 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11027,7 +8279,7 @@ final _objc_msgSend_275 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithContentsOfFile_encoding_error_ = objc.registerName("initWithContentsOfFile:encoding:error:"); -final _objc_msgSend_276 = objc.msgSendPointer +final _objc_msgSend_235 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11049,7 +8301,7 @@ late final _sel_stringWithContentsOfFile_encoding_error_ = objc.registerName("stringWithContentsOfFile:encoding:error:"); late final _sel_initWithContentsOfURL_usedEncoding_error_ = objc.registerName("initWithContentsOfURL:usedEncoding:error:"); -final _objc_msgSend_277 = objc.msgSendPointer +final _objc_msgSend_236 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11067,7 +8319,7 @@ final _objc_msgSend_277 = objc.msgSendPointer ffi.Pointer>)>(); late final _sel_initWithContentsOfFile_usedEncoding_error_ = objc.registerName("initWithContentsOfFile:usedEncoding:error:"); -final _objc_msgSend_278 = objc.msgSendPointer +final _objc_msgSend_237 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -11090,7 +8342,7 @@ late final _sel_stringWithContentsOfFile_usedEncoding_error_ = late final _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_ = objc.registerName( "stringEncodingForData:encodingOptions:convertedString:usedLossyConversion:"); -final _objc_msgSend_279 = objc.msgSendPointer +final _objc_msgSend_238 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -11111,7 +8363,7 @@ final _objc_msgSend_279 = objc.msgSendPointer late final _sel_propertyList = objc.registerName("propertyList"); late final _sel_propertyListFromStringsFileFormat = objc.registerName("propertyListFromStringsFileFormat"); -final _objc_msgSend_280 = objc.msgSendPointer +final _objc_msgSend_239 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -11123,7 +8375,7 @@ late final _sel_cString = objc.registerName("cString"); late final _sel_lossyCString = objc.registerName("lossyCString"); late final _sel_cStringLength = objc.registerName("cStringLength"); late final _sel_getCString_ = objc.registerName("getCString:"); -final _objc_msgSend_281 = objc.msgSendPointer +final _objc_msgSend_240 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11133,7 +8385,7 @@ final _objc_msgSend_281 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_getCString_maxLength_ = objc.registerName("getCString:maxLength:"); -final _objc_msgSend_282 = objc.msgSendPointer +final _objc_msgSend_241 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11146,7 +8398,7 @@ final _objc_msgSend_282 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int)>(); late final _sel_getCString_maxLength_range_remainingRange_ = objc.registerName("getCString:maxLength:range:remainingRange:"); -final _objc_msgSend_283 = objc.msgSendPointer +final _objc_msgSend_242 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11154,23 +8406,23 @@ final _objc_msgSend_283 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.UnsignedLong, - _NSRange, - ffi.Pointer<_NSRange>)>>() + NSRange, + ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, int, - _NSRange, - ffi.Pointer<_NSRange>)>(); + NSRange, + ffi.Pointer)>(); late final _sel_stringWithContentsOfFile_ = objc.registerName("stringWithContentsOfFile:"); late final _sel_stringWithContentsOfURL_ = objc.registerName("stringWithContentsOfURL:"); late final _sel_initWithCStringNoCopy_length_freeWhenDone_ = objc.registerName("initWithCStringNoCopy:length:freeWhenDone:"); -final _objc_msgSend_284 = objc.msgSendPointer +final _objc_msgSend_243 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11193,7 +8445,7 @@ late final _sel_stringWithCString_length_ = objc.registerName("stringWithCString:length:"); late final _sel_stringWithCString_ = objc.registerName("stringWithCString:"); late final _sel_getCharacters_ = objc.registerName("getCharacters:"); -final _objc_msgSend_285 = objc.msgSendPointer +final _objc_msgSend_244 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11205,7 +8457,7 @@ final _objc_msgSend_285 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_stringByAddingPercentEncodingWithAllowedCharacters_ = objc.registerName("stringByAddingPercentEncodingWithAllowedCharacters:"); -final _objc_msgSend_286 = objc.msgSendPointer +final _objc_msgSend_245 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11219,7 +8471,7 @@ late final _sel_stringByRemovingPercentEncoding = objc.registerName("stringByRemovingPercentEncoding"); late final _sel_stringByAddingPercentEscapesUsingEncoding_ = objc.registerName("stringByAddingPercentEscapesUsingEncoding:"); -final _objc_msgSend_287 = objc.msgSendPointer +final _objc_msgSend_246 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -11232,7 +8484,7 @@ late final _sel_stringByReplacingPercentEscapesUsingEncoding_ = late final _sel_debugDescription = objc.registerName("debugDescription"); late final _sel_version = objc.registerName("version"); late final _sel_setVersion_ = objc.registerName("setVersion:"); -final _objc_msgSend_288 = objc.msgSendPointer +final _objc_msgSend_247 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -11251,7 +8503,7 @@ late final _sel_autoContentAccessingProxy = late final _sel_attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_ = objc.registerName( "attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo:"); -final _objc_msgSend_289 = objc.msgSendPointer +final _objc_msgSend_248 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11273,66 +8525,230 @@ final _objc_msgSend_289 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_attemptRecoveryFromError_optionIndex_ = objc.registerName("attemptRecoveryFromError:optionIndex:"); -final _objc_msgSend_290 = objc.msgSendPointer +final _objc_msgSend_249 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.UnsignedLong)>>() + .asFunction< + bool Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + int)>(); +late final _sel_URL_resourceDataDidBecomeAvailable_ = + objc.registerName("URL:resourceDataDidBecomeAvailable:"); +final _objc_msgSend_250 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); +late final _sel_URLResourceDidFinishLoading_ = + objc.registerName("URLResourceDidFinishLoading:"); +final _objc_msgSend_251 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_URLResourceDidCancelLoading_ = + objc.registerName("URLResourceDidCancelLoading:"); +late final _sel_URL_resourceDidFailLoadingWithReason_ = + objc.registerName("URL:resourceDidFailLoadingWithReason:"); +final _objc_msgSend_252 = objc.msgSendPointer + .cast< + ffi.NativeFunction< + ffi.Void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>>() + .asFunction< + void Function( + ffi.Pointer, + ffi.Pointer, + ffi.Pointer, + ffi.Pointer)>(); + +class NSMutableIndexSet extends NSIndexSet { + NSMutableIndexSet._(ffi.Pointer pointer, + {bool retain = false, bool release = false}) + : super.castFromPointer(pointer, retain: retain, release: release); + + /// Constructs a [NSMutableIndexSet] that points to the same underlying object as [other]. + NSMutableIndexSet.castFrom(objc.ObjCObjectBase other) + : this._(other.pointer, retain: true, release: true); + + /// Constructs a [NSMutableIndexSet] that wraps the given raw object pointer. + NSMutableIndexSet.castFromPointer(ffi.Pointer other, + {bool retain = false, bool release = false}) + : this._(other, retain: retain, release: release); + + /// Returns whether [obj] is an instance of [NSMutableIndexSet]. + static bool isInstance(objc.ObjCObjectBase obj) { + return _objc_msgSend_0( + obj.pointer, _sel_isKindOfClass_, _class_NSMutableIndexSet); + } + + void addIndexes_(NSIndexSet indexSet) { + _objc_msgSend_253(this.pointer, _sel_addIndexes_, indexSet.pointer); + } + + void removeIndexes_(NSIndexSet indexSet) { + _objc_msgSend_253(this.pointer, _sel_removeIndexes_, indexSet.pointer); + } + + void removeAllIndexes() { + _objc_msgSend_1(this.pointer, _sel_removeAllIndexes); + } + + void addIndex_(int value) { + _objc_msgSend_254(this.pointer, _sel_addIndex_, value); + } + + void removeIndex_(int value) { + _objc_msgSend_254(this.pointer, _sel_removeIndex_, value); + } + + void addIndexesInRange_(NSRange range) { + _objc_msgSend_255(this.pointer, _sel_addIndexesInRange_, range); + } + + void removeIndexesInRange_(NSRange range) { + _objc_msgSend_255(this.pointer, _sel_removeIndexesInRange_, range); + } + + void shiftIndexesStartingAtIndex_by_(int index, int delta) { + _objc_msgSend_256( + this.pointer, _sel_shiftIndexesStartingAtIndex_by_, index, delta); + } + + static NSMutableIndexSet indexSet() { + final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_indexSet); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSMutableIndexSet indexSetWithIndex_(int value) { + final _ret = _objc_msgSend_99( + _class_NSMutableIndexSet, _sel_indexSetWithIndex_, value); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSMutableIndexSet indexSetWithIndexesInRange_(NSRange range) { + final _ret = _objc_msgSend_117( + _class_NSMutableIndexSet, _sel_indexSetWithIndexesInRange_, range); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + NSMutableIndexSet initWithIndexesInRange_(NSRange range) { + final _ret = + _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + NSMutableIndexSet initWithIndexSet_(NSIndexSet indexSet) { + final _ret = _objc_msgSend_118( + this.pointer, _sel_initWithIndexSet_, indexSet.pointer); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + NSMutableIndexSet initWithIndex_(int value) { + final _ret = _objc_msgSend_99(this.pointer, _sel_initWithIndex_, value); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + NSMutableIndexSet init() { + final _ret = _objc_msgSend_2(this.pointer, _sel_init); + return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); + } + + static NSMutableIndexSet new1() { + final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_new); + return NSMutableIndexSet.castFromPointer(_ret, + retain: false, release: true); + } + + static NSMutableIndexSet allocWithZone_(ffi.Pointer<_NSZone> zone) { + final _ret = + _objc_msgSend_3(_class_NSMutableIndexSet, _sel_allocWithZone_, zone); + return NSMutableIndexSet.castFromPointer(_ret, + retain: false, release: true); + } + + static NSMutableIndexSet alloc() { + final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_alloc); + return NSMutableIndexSet.castFromPointer(_ret, + retain: false, release: true); + } +} + +late final _class_NSMutableIndexSet = objc.getClass("NSMutableIndexSet"); +late final _sel_addIndexes_ = objc.registerName("addIndexes:"); +final _objc_msgSend_253 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Bool Function( + ffi.Void Function( ffi.Pointer, ffi.Pointer, - ffi.Pointer, - ffi.UnsignedLong)>>() + ffi.Pointer)>>() .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_URL_resourceDataDidBecomeAvailable_ = - objc.registerName("URL:resourceDataDidBecomeAvailable:"); -final _objc_msgSend_291 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, ffi.Pointer)>(); +late final _sel_removeIndexes_ = objc.registerName("removeIndexes:"); +late final _sel_removeAllIndexes = objc.registerName("removeAllIndexes"); +late final _sel_addIndex_ = objc.registerName("addIndex:"); +final _objc_msgSend_254 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_URLResourceDidFinishLoading_ = - objc.registerName("URLResourceDidFinishLoading:"); -final _objc_msgSend_292 = objc.msgSendPointer + void Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_removeIndex_ = objc.registerName("removeIndex:"); +late final _sel_addIndexesInRange_ = objc.registerName("addIndexesInRange:"); +final _objc_msgSend_255 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, NSRange)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_URLResourceDidCancelLoading_ = - objc.registerName("URLResourceDidCancelLoading:"); -late final _sel_URL_resourceDidFailLoadingWithReason_ = - objc.registerName("URL:resourceDidFailLoadingWithReason:"); -final _objc_msgSend_293 = objc.msgSendPointer + ffi.Pointer, NSRange)>(); +late final _sel_removeIndexesInRange_ = + objc.registerName("removeIndexesInRange:"); +late final _sel_shiftIndexesStartingAtIndex_by_ = + objc.registerName("shiftIndexesStartingAtIndex:by:"); +final _objc_msgSend_256 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Void Function(ffi.Pointer, + ffi.Pointer, ffi.UnsignedLong, ffi.Long)>>() .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); + void Function(ffi.Pointer, + ffi.Pointer, int, int)>(); + +abstract class NSBinarySearchingOptions { + static const int NSBinarySearchingFirstEqual = 256; + static const int NSBinarySearchingLastEqual = 512; + static const int NSBinarySearchingInsertionIndex = 1024; +} class NSMutableArray extends NSArray { NSMutableArray._(ffi.Pointer pointer, @@ -11355,11 +8771,11 @@ class NSMutableArray extends NSArray { } void addObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_203(this.pointer, _sel_addObject_, anObject.pointer); + _objc_msgSend_172(this.pointer, _sel_addObject_, anObject.pointer); } void insertObject_atIndex_(objc.ObjCObjectBase anObject, int index) { - _objc_msgSend_294( + _objc_msgSend_257( this.pointer, _sel_insertObject_atIndex_, anObject.pointer, index); } @@ -11368,16 +8784,15 @@ class NSMutableArray extends NSArray { } void removeObjectAtIndex_(int index) { - _objc_msgSend_295(this.pointer, _sel_removeObjectAtIndex_, index); + _objc_msgSend_254(this.pointer, _sel_removeObjectAtIndex_, index); } void replaceObjectAtIndex_withObject_( int index, objc.ObjCObjectBase anObject) { - _objc_msgSend_296(this.pointer, _sel_replaceObjectAtIndex_withObject_, + _objc_msgSend_258(this.pointer, _sel_replaceObjectAtIndex_withObject_, index, anObject.pointer); } - @override NSMutableArray init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); @@ -11389,7 +8804,6 @@ class NSMutableArray extends NSArray { return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableArray? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -11399,12 +8813,12 @@ class NSMutableArray extends NSArray { } void addObjectsFromArray_(NSArray otherArray) { - _objc_msgSend_297( + _objc_msgSend_259( this.pointer, _sel_addObjectsFromArray_, otherArray.pointer); } void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) { - _objc_msgSend_298(this.pointer, + _objc_msgSend_260(this.pointer, _sel_exchangeObjectAtIndex_withObjectAtIndex_, idx1, idx2); } @@ -11412,44 +8826,44 @@ class NSMutableArray extends NSArray { _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } - void removeObject_inRange_(objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_299( + void removeObject_inRange_(objc.ObjCObjectBase anObject, NSRange range) { + _objc_msgSend_261( this.pointer, _sel_removeObject_inRange_, anObject.pointer, range); } void removeObject_(objc.ObjCObjectBase anObject) { - _objc_msgSend_203(this.pointer, _sel_removeObject_, anObject.pointer); + _objc_msgSend_172(this.pointer, _sel_removeObject_, anObject.pointer); } void removeObjectIdenticalTo_inRange_( - objc.ObjCObjectBase anObject, _NSRange range) { - _objc_msgSend_299(this.pointer, _sel_removeObjectIdenticalTo_inRange_, + objc.ObjCObjectBase anObject, NSRange range) { + _objc_msgSend_261(this.pointer, _sel_removeObjectIdenticalTo_inRange_, anObject.pointer, range); } void removeObjectIdenticalTo_(objc.ObjCObjectBase anObject) { - _objc_msgSend_203( + _objc_msgSend_172( this.pointer, _sel_removeObjectIdenticalTo_, anObject.pointer); } void removeObjectsFromIndices_numIndices_( ffi.Pointer indices, int cnt) { - _objc_msgSend_300( + _objc_msgSend_262( this.pointer, _sel_removeObjectsFromIndices_numIndices_, indices, cnt); } void removeObjectsInArray_(NSArray otherArray) { - _objc_msgSend_297( + _objc_msgSend_259( this.pointer, _sel_removeObjectsInArray_, otherArray.pointer); } - void removeObjectsInRange_(_NSRange range) { - _objc_msgSend_301(this.pointer, _sel_removeObjectsInRange_, range); + void removeObjectsInRange_(NSRange range) { + _objc_msgSend_255(this.pointer, _sel_removeObjectsInRange_, range); } void replaceObjectsInRange_withObjectsFromArray_range_( - _NSRange range, NSArray otherArray, _NSRange otherRange) { - _objc_msgSend_302( + NSRange range, NSArray otherArray, NSRange otherRange) { + _objc_msgSend_263( this.pointer, _sel_replaceObjectsInRange_withObjectsFromArray_range_, range, @@ -11458,8 +8872,8 @@ class NSMutableArray extends NSArray { } void replaceObjectsInRange_withObjectsFromArray_( - _NSRange range, NSArray otherArray) { - _objc_msgSend_303( + NSRange range, NSArray otherArray) { + _objc_msgSend_264( this.pointer, _sel_replaceObjectsInRange_withObjectsFromArray_, range, @@ -11467,7 +8881,7 @@ class NSMutableArray extends NSArray { } void setArray_(NSArray otherArray) { - _objc_msgSend_297(this.pointer, _sel_setArray_, otherArray.pointer); + _objc_msgSend_259(this.pointer, _sel_setArray_, otherArray.pointer); } void sortUsingFunction_context_( @@ -11477,7 +8891,7 @@ class NSMutableArray extends NSArray { ffi.Pointer, ffi.Pointer)>> compare, ffi.Pointer context) { - _objc_msgSend_304( + _objc_msgSend_265( this.pointer, _sel_sortUsingFunction_context_, compare, context); } @@ -11486,37 +8900,26 @@ class NSMutableArray extends NSArray { } void insertObjects_atIndexes_(NSArray objects, NSIndexSet indexes) { - _objc_msgSend_305(this.pointer, _sel_insertObjects_atIndexes_, + _objc_msgSend_266(this.pointer, _sel_insertObjects_atIndexes_, objects.pointer, indexes.pointer); } void removeObjectsAtIndexes_(NSIndexSet indexes) { - _objc_msgSend_306( + _objc_msgSend_253( this.pointer, _sel_removeObjectsAtIndexes_, indexes.pointer); } void replaceObjectsAtIndexes_withObjects_( NSIndexSet indexes, NSArray objects) { - _objc_msgSend_307(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, + _objc_msgSend_267(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, indexes.pointer, objects.pointer); } void setObject_atIndexedSubscript_(objc.ObjCObjectBase obj, int idx) { - _objc_msgSend_294( + _objc_msgSend_257( this.pointer, _sel_setObject_atIndexedSubscript_, obj.pointer, idx); } - void sortUsingComparator_( - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_308(this.pointer, _sel_sortUsingComparator_, cmptr.pointer); - } - - void sortWithOptions_usingComparator_(int opts, - ObjCBlock_NSComparisonResult_objcObjCObject_objcObjCObject cmptr) { - _objc_msgSend_309(this.pointer, _sel_sortWithOptions_usingComparator_, opts, - cmptr.pointer); - } - static NSMutableArray arrayWithCapacity_(int numItems) { final _ret = _objc_msgSend_99( _class_NSMutableArray, _sel_arrayWithCapacity_, numItems); @@ -11524,7 +8927,7 @@ class NSMutableArray extends NSArray { } static NSArray? arrayWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_158( + final _ret = _objc_msgSend_133( _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -11532,7 +8935,7 @@ class NSMutableArray extends NSArray { } static NSArray? arrayWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_159( + final _ret = _objc_msgSend_134( _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -11540,7 +8943,7 @@ class NSMutableArray extends NSArray { } NSMutableArray? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_310( + final _ret = _objc_msgSend_268( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -11548,7 +8951,7 @@ class NSMutableArray extends NSArray { } NSMutableArray? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_311( + final _ret = _objc_msgSend_269( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -11556,10 +8959,9 @@ class NSMutableArray extends NSArray { } void applyDifference_(objc.ObjCObjectBase difference) { - _objc_msgSend_203(this.pointer, _sel_applyDifference_, difference.pointer); + _objc_msgSend_172(this.pointer, _sel_applyDifference_, difference.pointer); } - @override NSMutableArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -11573,7 +8975,7 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } @@ -11586,41 +8988,38 @@ class NSMutableArray extends NSArray { } static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } static NSMutableArray arrayWithArray_(NSArray array) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_127( _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableArray initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { - final _ret = _objc_msgSend_152( + final _ret = _objc_msgSend_128( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_153(_class_NSMutableArray, + final _ret = _objc_msgSend_129(_class_NSMutableArray, _sel_arrayWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -11648,7 +9047,7 @@ late final _class_NSMutableArray = objc.getClass("NSMutableArray"); late final _sel_addObject_ = objc.registerName("addObject:"); late final _sel_insertObject_atIndex_ = objc.registerName("insertObject:atIndex:"); -final _objc_msgSend_294 = objc.msgSendPointer +final _objc_msgSend_257 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11665,17 +9064,9 @@ final _objc_msgSend_294 = objc.msgSendPointer late final _sel_removeLastObject = objc.registerName("removeLastObject"); late final _sel_removeObjectAtIndex_ = objc.registerName("removeObjectAtIndex:"); -final _objc_msgSend_295 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.UnsignedLong)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, int)>(); late final _sel_replaceObjectAtIndex_withObject_ = objc.registerName("replaceObjectAtIndex:withObject:"); -final _objc_msgSend_296 = objc.msgSendPointer +final _objc_msgSend_258 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11692,7 +9083,7 @@ final _objc_msgSend_296 = objc.msgSendPointer late final _sel_initWithCapacity_ = objc.registerName("initWithCapacity:"); late final _sel_addObjectsFromArray_ = objc.registerName("addObjectsFromArray:"); -final _objc_msgSend_297 = objc.msgSendPointer +final _objc_msgSend_259 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11704,7 +9095,7 @@ final _objc_msgSend_297 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_exchangeObjectAtIndex_withObjectAtIndex_ = objc.registerName("exchangeObjectAtIndex:withObjectAtIndex:"); -final _objc_msgSend_298 = objc.msgSendPointer +final _objc_msgSend_260 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11718,20 +9109,20 @@ final _objc_msgSend_298 = objc.msgSendPointer late final _sel_removeAllObjects = objc.registerName("removeAllObjects"); late final _sel_removeObject_inRange_ = objc.registerName("removeObject:inRange:"); -final _objc_msgSend_299 = objc.msgSendPointer +final _objc_msgSend_261 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - _NSRange)>(); + NSRange)>(); late final _sel_removeObject_ = objc.registerName("removeObject:"); late final _sel_removeObjectIdenticalTo_inRange_ = objc.registerName("removeObjectIdenticalTo:inRange:"); @@ -11739,7 +9130,7 @@ late final _sel_removeObjectIdenticalTo_ = objc.registerName("removeObjectIdenticalTo:"); late final _sel_removeObjectsFromIndices_numIndices_ = objc.registerName("removeObjectsFromIndices:numIndices:"); -final _objc_msgSend_300 = objc.msgSendPointer +final _objc_msgSend_262 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11757,52 +9148,44 @@ late final _sel_removeObjectsInArray_ = objc.registerName("removeObjectsInArray:"); late final _sel_removeObjectsInRange_ = objc.registerName("removeObjectsInRange:"); -final _objc_msgSend_301 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, _NSRange)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, _NSRange)>(); late final _sel_replaceObjectsInRange_withObjectsFromArray_range_ = objc.registerName("replaceObjectsInRange:withObjectsFromArray:range:"); -final _objc_msgSend_302 = objc.msgSendPointer +final _objc_msgSend_263 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer, - _NSRange)>>() + NSRange)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer, - _NSRange)>(); + NSRange)>(); late final _sel_replaceObjectsInRange_withObjectsFromArray_ = objc.registerName("replaceObjectsInRange:withObjectsFromArray:"); -final _objc_msgSend_303 = objc.msgSendPointer +final _objc_msgSend_264 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>(); late final _sel_setArray_ = objc.registerName("setArray:"); late final _sel_sortUsingFunction_context_ = objc.registerName("sortUsingFunction:context:"); -final _objc_msgSend_304 = objc.msgSendPointer +final _objc_msgSend_265 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11827,7 +9210,7 @@ final _objc_msgSend_304 = objc.msgSendPointer late final _sel_sortUsingSelector_ = objc.registerName("sortUsingSelector:"); late final _sel_insertObjects_atIndexes_ = objc.registerName("insertObjects:atIndexes:"); -final _objc_msgSend_305 = objc.msgSendPointer +final _objc_msgSend_266 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11843,19 +9226,9 @@ final _objc_msgSend_305 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_removeObjectsAtIndexes_ = objc.registerName("removeObjectsAtIndexes:"); -final _objc_msgSend_306 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); late final _sel_replaceObjectsAtIndexes_withObjects_ = objc.registerName("replaceObjectsAtIndexes:withObjects:"); -final _objc_msgSend_307 = objc.msgSendPointer +final _objc_msgSend_267 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -11871,34 +9244,8 @@ final _objc_msgSend_307 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_setObject_atIndexedSubscript_ = objc.registerName("setObject:atIndexedSubscript:"); -late final _sel_sortUsingComparator_ = - objc.registerName("sortUsingComparator:"); -final _objc_msgSend_308 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_sortWithOptions_usingComparator_ = - objc.registerName("sortWithOptions:usingComparator:"); -final _objc_msgSend_309 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); late final _sel_arrayWithCapacity_ = objc.registerName("arrayWithCapacity:"); -final _objc_msgSend_310 = objc.msgSendPointer +final _objc_msgSend_268 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11908,7 +9255,7 @@ final _objc_msgSend_310 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_311 = objc.msgSendPointer +final _objc_msgSend_269 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -11944,13 +9291,12 @@ class NSMutableData extends NSData { return _objc_msgSend_34(this.pointer, _sel_mutableBytes); } - @override int get length { return _objc_msgSend_11(this.pointer, _sel_length); } set length(int value) { - return _objc_msgSend_312(this.pointer, _sel_setLength_, value); + return _objc_msgSend_270(this.pointer, _sel_setLength_, value); } void appendBytes_length_(ffi.Pointer bytes, int length) { @@ -11958,35 +9304,35 @@ class NSMutableData extends NSData { } void appendData_(NSData other) { - _objc_msgSend_313(this.pointer, _sel_appendData_, other.pointer); + _objc_msgSend_271(this.pointer, _sel_appendData_, other.pointer); } void increaseLengthBy_(int extraLength) { - _objc_msgSend_295(this.pointer, _sel_increaseLengthBy_, extraLength); + _objc_msgSend_254(this.pointer, _sel_increaseLengthBy_, extraLength); } void replaceBytesInRange_withBytes_( - _NSRange range, ffi.Pointer bytes) { - _objc_msgSend_314( + NSRange range, ffi.Pointer bytes) { + _objc_msgSend_272( this.pointer, _sel_replaceBytesInRange_withBytes_, range, bytes); } - void resetBytesInRange_(_NSRange range) { - _objc_msgSend_301(this.pointer, _sel_resetBytesInRange_, range); + void resetBytesInRange_(NSRange range) { + _objc_msgSend_255(this.pointer, _sel_resetBytesInRange_, range); } void setData_(NSData data) { - _objc_msgSend_313(this.pointer, _sel_setData_, data.pointer); + _objc_msgSend_271(this.pointer, _sel_setData_, data.pointer); } - void replaceBytesInRange_withBytes_length_(_NSRange range, + void replaceBytesInRange_withBytes_length_(NSRange range, ffi.Pointer replacementBytes, int replacementLength) { - _objc_msgSend_315(this.pointer, _sel_replaceBytesInRange_withBytes_length_, + _objc_msgSend_273(this.pointer, _sel_replaceBytesInRange_withBytes_length_, range, replacementBytes, replacementLength); } static NSMutableData? dataWithCapacity_(int aNumItems) { - final _ret = _objc_msgSend_316( + final _ret = _objc_msgSend_274( _class_NSMutableData, _sel_dataWithCapacity_, aNumItems); return _ret.address == 0 ? null @@ -11995,7 +9341,7 @@ class NSMutableData extends NSData { static NSMutableData? dataWithLength_(int length) { final _ret = - _objc_msgSend_316(_class_NSMutableData, _sel_dataWithLength_, length); + _objc_msgSend_274(_class_NSMutableData, _sel_dataWithLength_, length); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); @@ -12003,14 +9349,14 @@ class NSMutableData extends NSData { NSMutableData? initWithCapacity_(int capacity) { final _ret = - _objc_msgSend_316(this.pointer, _sel_initWithCapacity_, capacity); + _objc_msgSend_274(this.pointer, _sel_initWithCapacity_, capacity); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } NSMutableData? initWithLength_(int length) { - final _ret = _objc_msgSend_316(this.pointer, _sel_initWithLength_, length); + final _ret = _objc_msgSend_274(this.pointer, _sel_initWithLength_, length); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); @@ -12018,13 +9364,13 @@ class NSMutableData extends NSData { bool decompressUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - return _objc_msgSend_317( + return _objc_msgSend_275( this.pointer, _sel_decompressUsingAlgorithm_error_, algorithm, error); } bool compressUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - return _objc_msgSend_317( + return _objc_msgSend_275( this.pointer, _sel_compressUsingAlgorithm_error_, algorithm, error); } @@ -12035,28 +9381,28 @@ class NSMutableData extends NSData { static NSMutableData dataWithBytes_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( _class_NSMutableData, _sel_dataWithBytes_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } static NSMutableData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( _class_NSMutableData, _sel_dataWithBytesNoCopy_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_216(_class_NSMutableData, + final _ret = _objc_msgSend_184(_class_NSMutableData, _sel_dataWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } static NSMutableData? dataWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_185( _class_NSMutableData, _sel_dataWithContentsOfFile_options_error_, path.pointer, @@ -12069,7 +9415,7 @@ class NSMutableData extends NSData { static NSMutableData? dataWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_218( + final _ret = _objc_msgSend_186( _class_NSMutableData, _sel_dataWithContentsOfURL_options_error_, url.pointer, @@ -12089,54 +9435,36 @@ class NSMutableData extends NSData { } static NSMutableData? dataWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( _class_NSMutableData, _sel_dataWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData initWithBytes_length_(ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData initWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_215( + final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - @override NSMutableData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { - final _ret = _objc_msgSend_216(this.pointer, + final _ret = _objc_msgSend_184(this.pointer, _sel_initWithBytesNoCopy_length_freeWhenDone_, bytes, length, b); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - @override - NSMutableData initWithBytesNoCopy_length_deallocator_( - ffi.Pointer bytes, - int length, - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_220( - this.pointer, - _sel_initWithBytesNoCopy_length_deallocator_, - bytes, - length, - deallocator?.pointer ?? ffi.nullptr); - return NSMutableData.castFromPointer(_ret, retain: false, release: true); - } - - @override NSMutableData? initWithContentsOfFile_options_error_(NSString path, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_217( + final _ret = _objc_msgSend_185( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, @@ -12147,10 +9475,9 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, ffi.Pointer> errorPtr) { - final _ret = _objc_msgSend_218( + final _ret = _objc_msgSend_186( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, @@ -12161,7 +9488,6 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -12170,32 +9496,29 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData initWithData_(NSData data) { final _ret = - _objc_msgSend_221(this.pointer, _sel_initWithData_, data.pointer); + _objc_msgSend_188(this.pointer, _sel_initWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } static NSMutableData dataWithData_(NSData data) { - final _ret = _objc_msgSend_221( + final _ret = _objc_msgSend_188( _class_NSMutableData, _sel_dataWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? initWithBase64EncodedString_options_( NSString base64String, int options) { - final _ret = _objc_msgSend_222( + final _ret = _objc_msgSend_189( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, @@ -12205,30 +9528,27 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? initWithBase64EncodedData_options_( NSData base64Data, int options) { - final _ret = _objc_msgSend_224(this.pointer, + final _ret = _objc_msgSend_191(this.pointer, _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? decompressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_226(this.pointer, + final _ret = _objc_msgSend_193(this.pointer, _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableData? compressedDataUsingAlgorithm_error_( int algorithm, ffi.Pointer> error) { - final _ret = _objc_msgSend_226(this.pointer, + final _ret = _objc_msgSend_193(this.pointer, _sel_compressedDataUsingAlgorithm_error_, algorithm, error); return _ret.address == 0 ? null @@ -12243,7 +9563,6 @@ class NSMutableData extends NSData { : objc.ObjCObjectBase(_ret, retain: true, release: true); } - @override NSMutableData init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableData.castFromPointer(_ret, retain: true, release: true); @@ -12269,7 +9588,7 @@ class NSMutableData extends NSData { late final _class_NSMutableData = objc.getClass("NSMutableData"); late final _sel_mutableBytes = objc.registerName("mutableBytes"); late final _sel_setLength_ = objc.registerName("setLength:"); -final _objc_msgSend_312 = objc.msgSendPointer +final _objc_msgSend_270 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function(ffi.Pointer, @@ -12279,7 +9598,7 @@ final _objc_msgSend_312 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_appendBytes_length_ = objc.registerName("appendBytes:length:"); late final _sel_appendData_ = objc.registerName("appendData:"); -final _objc_msgSend_313 = objc.msgSendPointer +final _objc_msgSend_271 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -12292,39 +9611,39 @@ final _objc_msgSend_313 = objc.msgSendPointer late final _sel_increaseLengthBy_ = objc.registerName("increaseLengthBy:"); late final _sel_replaceBytesInRange_withBytes_ = objc.registerName("replaceBytesInRange:withBytes:"); -final _objc_msgSend_314 = objc.msgSendPointer +final _objc_msgSend_272 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< void Function(ffi.Pointer, - ffi.Pointer, _NSRange, ffi.Pointer)>(); + ffi.Pointer, NSRange, ffi.Pointer)>(); late final _sel_resetBytesInRange_ = objc.registerName("resetBytesInRange:"); late final _sel_setData_ = objc.registerName("setData:"); late final _sel_replaceBytesInRange_withBytes_length_ = objc.registerName("replaceBytesInRange:withBytes:length:"); -final _objc_msgSend_315 = objc.msgSendPointer +final _objc_msgSend_273 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer, int)>(); late final _sel_dataWithCapacity_ = objc.registerName("dataWithCapacity:"); -final _objc_msgSend_316 = objc.msgSendPointer +final _objc_msgSend_274 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -12336,7 +9655,7 @@ late final _sel_dataWithLength_ = objc.registerName("dataWithLength:"); late final _sel_initWithLength_ = objc.registerName("initWithLength:"); late final _sel_decompressUsingAlgorithm_error_ = objc.registerName("decompressUsingAlgorithm:error:"); -final _objc_msgSend_317 = objc.msgSendPointer +final _objc_msgSend_275 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -12386,7 +9705,7 @@ class NSNotification extends NSObject { } NSDictionary? get userInfo { - final _ret = _objc_msgSend_280(this.pointer, _sel_userInfo); + final _ret = _objc_msgSend_239(this.pointer, _sel_userInfo); return _ret.address == 0 ? null : NSDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12394,7 +9713,7 @@ class NSNotification extends NSObject { NSNotification initWithName_object_userInfo_( NSString name, objc.ObjCObjectBase? object, NSDictionary? userInfo) { - final _ret = _objc_msgSend_318( + final _ret = _objc_msgSend_276( this.pointer, _sel_initWithName_object_userInfo_, name.pointer, @@ -12413,7 +9732,7 @@ class NSNotification extends NSObject { static NSNotification notificationWithName_object_( NSString aName, objc.ObjCObjectBase? anObject) { - final _ret = _objc_msgSend_264( + final _ret = _objc_msgSend_227( _class_NSNotification, _sel_notificationWithName_object_, aName.pointer, @@ -12423,7 +9742,7 @@ class NSNotification extends NSObject { static NSNotification notificationWithName_object_userInfo_( NSString aName, objc.ObjCObjectBase? anObject, NSDictionary? aUserInfo) { - final _ret = _objc_msgSend_318( + final _ret = _objc_msgSend_276( _class_NSNotification, _sel_notificationWithName_object_userInfo_, aName.pointer, @@ -12432,7 +9751,6 @@ class NSNotification extends NSObject { return NSNotification.castFromPointer(_ret, retain: true, release: true); } - @override NSNotification init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSNotification.castFromPointer(_ret, retain: true, release: true); @@ -12460,7 +9778,7 @@ late final _sel_name = objc.registerName("name"); late final _sel_object = objc.registerName("object"); late final _sel_initWithName_object_userInfo_ = objc.registerName("initWithName:object:userInfo:"); -final _objc_msgSend_318 = objc.msgSendPointer +final _objc_msgSend_276 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -12507,14 +9825,13 @@ class NSDate extends NSObject { : _objc_msgSend_83(_class_NSDate, _sel_timeIntervalSinceReferenceDate); } - @override NSDate init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } @@ -12529,9 +9846,9 @@ class NSDate extends NSObject { double timeIntervalSinceDate_(NSDate anotherDate) { return objc.useMsgSendVariants - ? _objc_msgSend_320Fpret( + ? _objc_msgSend_278Fpret( this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer) - : _objc_msgSend_320( + : _objc_msgSend_278( this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer); } @@ -12549,34 +9866,34 @@ class NSDate extends NSObject { objc.ObjCObjectBase addTimeInterval_(double seconds) { final _ret = - _objc_msgSend_319(this.pointer, _sel_addTimeInterval_, seconds); + _objc_msgSend_277(this.pointer, _sel_addTimeInterval_, seconds); return objc.ObjCObjectBase(_ret, retain: true, release: true); } NSDate dateByAddingTimeInterval_(double ti) { final _ret = - _objc_msgSend_319(this.pointer, _sel_dateByAddingTimeInterval_, ti); + _objc_msgSend_277(this.pointer, _sel_dateByAddingTimeInterval_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate earlierDate_(NSDate anotherDate) { final _ret = - _objc_msgSend_321(this.pointer, _sel_earlierDate_, anotherDate.pointer); + _objc_msgSend_279(this.pointer, _sel_earlierDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate laterDate_(NSDate anotherDate) { final _ret = - _objc_msgSend_321(this.pointer, _sel_laterDate_, anotherDate.pointer); + _objc_msgSend_279(this.pointer, _sel_laterDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } int compare_(NSDate other) { - return _objc_msgSend_322(this.pointer, _sel_compare_, other.pointer); + return _objc_msgSend_280(this.pointer, _sel_compare_, other.pointer); } bool isEqualToDate_(NSDate otherDate) { - return _objc_msgSend_323( + return _objc_msgSend_281( this.pointer, _sel_isEqualToDate_, otherDate.pointer); } @@ -12597,59 +9914,59 @@ class NSDate extends NSObject { } static NSDate dateWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeIntervalSinceReferenceDate_(double ti) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate dateWithTimeInterval_sinceDate_( double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_324(_class_NSDate, + final _ret = _objc_msgSend_282(_class_NSDate, _sel_dateWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getDistantFuture() { - final _ret = _objc_msgSend_325(_class_NSDate, _sel_distantFuture); + final _ret = _objc_msgSend_283(_class_NSDate, _sel_distantFuture); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getDistantPast() { - final _ret = _objc_msgSend_325(_class_NSDate, _sel_distantPast); + final _ret = _objc_msgSend_283(_class_NSDate, _sel_distantPast); return NSDate.castFromPointer(_ret, retain: true, release: true); } static NSDate getNow() { - final _ret = _objc_msgSend_325(_class_NSDate, _sel_now); + final _ret = _objc_msgSend_283(_class_NSDate, _sel_now); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeIntervalSinceNow_(double secs) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeIntervalSince1970_(double secs) { - final _ret = _objc_msgSend_319( + final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate date) { - final _ret = _objc_msgSend_324(this.pointer, + final _ret = _objc_msgSend_282(this.pointer, _sel_initWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } @@ -12675,7 +9992,7 @@ late final _sel_timeIntervalSinceReferenceDate = objc.registerName("timeIntervalSinceReferenceDate"); late final _sel_initWithTimeIntervalSinceReferenceDate_ = objc.registerName("initWithTimeIntervalSinceReferenceDate:"); -final _objc_msgSend_319 = objc.msgSendPointer +final _objc_msgSend_277 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function(ffi.Pointer, @@ -12685,7 +10002,7 @@ final _objc_msgSend_319 = objc.msgSendPointer ffi.Pointer, double)>(); late final _sel_timeIntervalSinceDate_ = objc.registerName("timeIntervalSinceDate:"); -final _objc_msgSend_320 = objc.msgSendPointer +final _objc_msgSend_278 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Double Function( @@ -12695,7 +10012,7 @@ final _objc_msgSend_320 = objc.msgSendPointer .asFunction< double Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_320Fpret = objc.msgSendFpretPointer +final _objc_msgSend_278Fpret = objc.msgSendFpretPointer .cast< ffi.NativeFunction< ffi.Double Function( @@ -12713,7 +10030,7 @@ late final _sel_addTimeInterval_ = objc.registerName("addTimeInterval:"); late final _sel_dateByAddingTimeInterval_ = objc.registerName("dateByAddingTimeInterval:"); late final _sel_earlierDate_ = objc.registerName("earlierDate:"); -final _objc_msgSend_321 = objc.msgSendPointer +final _objc_msgSend_279 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -12724,7 +10041,7 @@ final _objc_msgSend_321 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_laterDate_ = objc.registerName("laterDate:"); -final _objc_msgSend_322 = objc.msgSendPointer +final _objc_msgSend_280 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Int32 Function( @@ -12735,7 +10052,7 @@ final _objc_msgSend_322 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_isEqualToDate_ = objc.registerName("isEqualToDate:"); -final _objc_msgSend_323 = objc.msgSendPointer +final _objc_msgSend_281 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -12754,7 +10071,7 @@ late final _sel_dateWithTimeIntervalSince1970_ = objc.registerName("dateWithTimeIntervalSince1970:"); late final _sel_dateWithTimeInterval_sinceDate_ = objc.registerName("dateWithTimeInterval:sinceDate:"); -final _objc_msgSend_324 = objc.msgSendPointer +final _objc_msgSend_282 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -12769,7 +10086,7 @@ final _objc_msgSend_324 = objc.msgSendPointer double, ffi.Pointer)>(); late final _sel_distantFuture = objc.registerName("distantFuture"); -final _objc_msgSend_325 = objc.msgSendPointer +final _objc_msgSend_283 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -12807,16 +10124,15 @@ class NSMutableDictionary extends NSDictionary { } void removeObjectForKey_(objc.ObjCObjectBase aKey) { - _objc_msgSend_203(this.pointer, _sel_removeObjectForKey_, aKey.pointer); + _objc_msgSend_172(this.pointer, _sel_removeObjectForKey_, aKey.pointer); } void setObject_forKey_( objc.ObjCObjectBase anObject, objc.ObjCObjectBase aKey) { - _objc_msgSend_326( + _objc_msgSend_284( this.pointer, _sel_setObject_forKey_, anObject.pointer, aKey.pointer); } - @override NSMutableDictionary init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableDictionary.castFromPointer(_ret, @@ -12830,7 +10146,6 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } - @override NSMutableDictionary? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -12841,7 +10156,7 @@ class NSMutableDictionary extends NSDictionary { } void addEntriesFromDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_327( + _objc_msgSend_285( this.pointer, _sel_addEntriesFromDictionary_, otherDictionary.pointer); } @@ -12850,18 +10165,18 @@ class NSMutableDictionary extends NSDictionary { } void removeObjectsForKeys_(NSArray keyArray) { - _objc_msgSend_297( + _objc_msgSend_259( this.pointer, _sel_removeObjectsForKeys_, keyArray.pointer); } void setDictionary_(NSDictionary otherDictionary) { - _objc_msgSend_327( + _objc_msgSend_285( this.pointer, _sel_setDictionary_, otherDictionary.pointer); } void setObject_forKeyedSubscript_( objc.ObjCObjectBase? obj, objc.ObjCObjectBase key) { - _objc_msgSend_328(this.pointer, _sel_setObject_forKeyedSubscript_, + _objc_msgSend_286(this.pointer, _sel_setObject_forKeyedSubscript_, obj?.pointer ?? ffi.nullptr, key.pointer); } @@ -12873,7 +10188,7 @@ class NSMutableDictionary extends NSDictionary { } static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_188(_class_NSMutableDictionary, + final _ret = _objc_msgSend_157(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -12881,7 +10196,7 @@ class NSMutableDictionary extends NSDictionary { } static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_189(_class_NSMutableDictionary, + final _ret = _objc_msgSend_158(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -12889,7 +10204,7 @@ class NSMutableDictionary extends NSDictionary { } NSMutableDictionary? initWithContentsOfFile_(NSString path) { - final _ret = _objc_msgSend_329( + final _ret = _objc_msgSend_287( this.pointer, _sel_initWithContentsOfFile_, path.pointer); return _ret.address == 0 ? null @@ -12898,7 +10213,7 @@ class NSMutableDictionary extends NSDictionary { } NSMutableDictionary? initWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_330( + final _ret = _objc_msgSend_288( this.pointer, _sel_initWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -12908,18 +10223,17 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithSharedKeySet_( objc.ObjCObjectBase keyset) { - final _ret = _objc_msgSend_331(_class_NSMutableDictionary, + final _ret = _objc_msgSend_289(_class_NSMutableDictionary, _sel_dictionaryWithSharedKeySet_, keyset.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableDictionary initWithObjects_forKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_179( + final _ret = _objc_msgSend_152( this.pointer, _sel_initWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12933,7 +10247,7 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { - final _ret = _objc_msgSend_190(_class_NSMutableDictionary, + final _ret = _objc_msgSend_159(_class_NSMutableDictionary, _sel_dictionaryWithObject_forKey_, object.pointer, key.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12943,7 +10257,7 @@ class NSMutableDictionary extends NSDictionary { ffi.Pointer> objects, ffi.Pointer> keys, int cnt) { - final _ret = _objc_msgSend_179(_class_NSMutableDictionary, + final _ret = _objc_msgSend_152(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_count_, objects, keys, cnt); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12951,14 +10265,14 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150(_class_NSMutableDictionary, + final _ret = _objc_msgSend_126(_class_NSMutableDictionary, _sel_dictionaryWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { - final _ret = _objc_msgSend_191(_class_NSMutableDictionary, + final _ret = _objc_msgSend_160(_class_NSMutableDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -12966,40 +10280,36 @@ class NSMutableDictionary extends NSDictionary { static NSMutableDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_192(_class_NSMutableDictionary, + final _ret = _objc_msgSend_161(_class_NSMutableDictionary, _sel_dictionaryWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { - final _ret = _objc_msgSend_191( + final _ret = _objc_msgSend_160( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { - final _ret = _objc_msgSend_193(this.pointer, + final _ret = _objc_msgSend_162(this.pointer, _sel_initWithDictionary_copyItems_, otherDictionary.pointer, flag); return NSMutableDictionary.castFromPointer(_ret, retain: false, release: true); } - @override NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { - final _ret = _objc_msgSend_192(this.pointer, _sel_initWithObjects_forKeys_, + final _ret = _objc_msgSend_161(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); @@ -13007,7 +10317,7 @@ class NSMutableDictionary extends NSDictionary { static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { - final _ret = _objc_msgSend_194(_class_NSMutableDictionary, + final _ret = _objc_msgSend_163(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_error_, url.pointer, error); return _ret.address == 0 ? null @@ -13015,7 +10325,7 @@ class NSMutableDictionary extends NSDictionary { } static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_127( _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } @@ -13043,7 +10353,7 @@ class NSMutableDictionary extends NSDictionary { late final _class_NSMutableDictionary = objc.getClass("NSMutableDictionary"); late final _sel_removeObjectForKey_ = objc.registerName("removeObjectForKey:"); late final _sel_setObject_forKey_ = objc.registerName("setObject:forKey:"); -final _objc_msgSend_326 = objc.msgSendPointer +final _objc_msgSend_284 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -13059,7 +10369,7 @@ final _objc_msgSend_326 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_addEntriesFromDictionary_ = objc.registerName("addEntriesFromDictionary:"); -final _objc_msgSend_327 = objc.msgSendPointer +final _objc_msgSend_285 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -13074,7 +10384,7 @@ late final _sel_removeObjectsForKeys_ = late final _sel_setDictionary_ = objc.registerName("setDictionary:"); late final _sel_setObject_forKeyedSubscript_ = objc.registerName("setObject:forKeyedSubscript:"); -final _objc_msgSend_328 = objc.msgSendPointer +final _objc_msgSend_286 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -13090,7 +10400,7 @@ final _objc_msgSend_328 = objc.msgSendPointer ffi.Pointer)>(); late final _sel_dictionaryWithCapacity_ = objc.registerName("dictionaryWithCapacity:"); -final _objc_msgSend_329 = objc.msgSendPointer +final _objc_msgSend_287 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13100,7 +10410,7 @@ final _objc_msgSend_329 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_330 = objc.msgSendPointer +final _objc_msgSend_288 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13112,7 +10422,7 @@ final _objc_msgSend_330 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dictionaryWithSharedKeySet_ = objc.registerName("dictionaryWithSharedKeySet:"); -final _objc_msgSend_331 = objc.msgSendPointer +final _objc_msgSend_289 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13147,7 +10457,7 @@ class NSSet extends NSObject { } objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_178(this.pointer, _sel_member_, object.pointer); + final _ret = _objc_msgSend_151(this.pointer, _sel_member_, object.pointer); return _ret.address == 0 ? null : objc.ObjCObjectBase(_ret, retain: true, release: true); @@ -13158,7 +10468,6 @@ class NSSet extends NSObject { return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } - @override NSSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSSet.castFromPointer(_ret, retain: true, release: true); @@ -13180,7 +10489,7 @@ class NSSet extends NSObject { } NSArray get allObjects { - final _ret = _objc_msgSend_162(this.pointer, _sel_allObjects); + final _ret = _objc_msgSend_137(this.pointer, _sel_allObjects); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -13208,17 +10517,17 @@ class NSSet extends NSObject { } bool intersectsSet_(NSSet otherSet) { - return _objc_msgSend_332( + return _objc_msgSend_290( this.pointer, _sel_intersectsSet_, otherSet.pointer); } bool isEqualToSet_(NSSet otherSet) { - return _objc_msgSend_332( + return _objc_msgSend_290( this.pointer, _sel_isEqualToSet_, otherSet.pointer); } bool isSubsetOfSet_(NSSet otherSet) { - return _objc_msgSend_332( + return _objc_msgSend_290( this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); } @@ -13229,49 +10538,24 @@ class NSSet extends NSObject { void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, - aSelector, argument?.pointer ?? ffi.nullptr); - } - - NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { - final _ret = _objc_msgSend_333( - this.pointer, _sel_setByAddingObject_, anObject.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet setByAddingObjectsFromSet_(NSSet other) { - final _ret = _objc_msgSend_334( - this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - NSSet setByAddingObjectsFromArray_(NSArray other) { - final _ret = _objc_msgSend_335( - this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); - return NSSet.castFromPointer(_ret, retain: true, release: true); - } - - void enumerateObjectsUsingBlock_( - ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_336( - this.pointer, _sel_enumerateObjectsUsingBlock_, block.pointer); + aSelector, argument?.pointer ?? ffi.nullptr); } - void enumerateObjectsWithOptions_usingBlock_( - int opts, ObjCBlock_ffiVoid_objcObjCObject_bool block) { - _objc_msgSend_337(this.pointer, - _sel_enumerateObjectsWithOptions_usingBlock_, opts, block.pointer); + NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { + final _ret = _objc_msgSend_291( + this.pointer, _sel_setByAddingObject_, anObject.pointer); + return NSSet.castFromPointer(_ret, retain: true, release: true); } - NSSet objectsPassingTest_(ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_338( - this.pointer, _sel_objectsPassingTest_, predicate.pointer); + NSSet setByAddingObjectsFromSet_(NSSet other) { + final _ret = _objc_msgSend_292( + this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } - NSSet objectsWithOptions_passingTest_( - int opts, ObjCBlock_bool_objcObjCObject_bool predicate) { - final _ret = _objc_msgSend_339(this.pointer, - _sel_objectsWithOptions_passingTest_, opts, predicate.pointer); + NSSet setByAddingObjectsFromArray_(NSArray other) { + final _ret = _objc_msgSend_293( + this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -13282,7 +10566,7 @@ class NSSet extends NSObject { static NSSet setWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_150(_class_NSSet, _sel_setWithObject_, object.pointer); + _objc_msgSend_126(_class_NSSet, _sel_setWithObject_, object.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -13295,42 +10579,42 @@ class NSSet extends NSObject { static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = - _objc_msgSend_150(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); + _objc_msgSend_126(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } static NSSet setWithSet_(NSSet set) { - final _ret = _objc_msgSend_340(_class_NSSet, _sel_setWithSet_, set.pointer); + final _ret = _objc_msgSend_294(_class_NSSet, _sel_setWithSet_, set.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } static NSSet setWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(_class_NSSet, _sel_setWithArray_, array.pointer); + _objc_msgSend_127(_class_NSSet, _sel_setWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } NSSet initWithSet_(NSSet set) { final _ret = - _objc_msgSend_340(this.pointer, _sel_initWithSet_, set.pointer); + _objc_msgSend_294(this.pointer, _sel_initWithSet_, set.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } NSSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_341( + final _ret = _objc_msgSend_295( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSSet.castFromPointer(_ret, retain: false, release: true); } NSSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } @@ -13354,7 +10638,7 @@ late final _class_NSSet = objc.getClass("NSSet"); late final _sel_member_ = objc.registerName("member:"); late final _sel_anyObject = objc.registerName("anyObject"); late final _sel_intersectsSet_ = objc.registerName("intersectsSet:"); -final _objc_msgSend_332 = objc.msgSendPointer +final _objc_msgSend_290 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -13367,7 +10651,7 @@ final _objc_msgSend_332 = objc.msgSendPointer late final _sel_isEqualToSet_ = objc.registerName("isEqualToSet:"); late final _sel_isSubsetOfSet_ = objc.registerName("isSubsetOfSet:"); late final _sel_setByAddingObject_ = objc.registerName("setByAddingObject:"); -final _objc_msgSend_333 = objc.msgSendPointer +final _objc_msgSend_291 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13379,7 +10663,7 @@ final _objc_msgSend_333 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_setByAddingObjectsFromSet_ = objc.registerName("setByAddingObjectsFromSet:"); -final _objc_msgSend_334 = objc.msgSendPointer +final _objc_msgSend_292 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13391,7 +10675,7 @@ final _objc_msgSend_334 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_setByAddingObjectsFromArray_ = objc.registerName("setByAddingObjectsFromArray:"); -final _objc_msgSend_335 = objc.msgSendPointer +final _objc_msgSend_293 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -13401,271 +10685,13 @@ final _objc_msgSend_335 = objc.msgSendPointer .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._( - objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_bool.fromFunction( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_bool.listener( - void Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_bool_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); -} - -final _objc_msgSend_336 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -final _objc_msgSend_337 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); -bool _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -bool _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as bool Function( - ffi.Pointer, ffi.Pointer))(arg0, arg1); - -class ObjCBlock_bool_objcObjCObject_bool extends objc.ObjCBlockBase { - ObjCBlock_bool_objcObjCObject_bool._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_bool_objcObjCObject_bool castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_bool_objcObjCObject_bool._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Bool Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_fnPtrTrampoline, false) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_bool_objcObjCObject_bool.fromFunction( - bool Function(objc.ObjCObjectBase, ffi.Pointer) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_bool_objcObjCObject_bool_closureTrampoline, false) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => - fn(objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1))); - static ffi.Pointer? _dartFuncTrampoline; - - bool call(objc.ObjCObjectBase arg0, ffi.Pointer arg1) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(pointer, arg0.pointer, arg1); -} - -late final _sel_objectsPassingTest_ = objc.registerName("objectsPassingTest:"); -final _objc_msgSend_338 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_objectsWithOptions_passingTest_ = - objc.registerName("objectsWithOptions:passingTest:"); -final _objc_msgSend_339 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); late final _sel_set = objc.registerName("set"); late final _sel_setWithObject_ = objc.registerName("setWithObject:"); late final _sel_setWithObjects_count_ = objc.registerName("setWithObjects:count:"); late final _sel_setWithObjects_ = objc.registerName("setWithObjects:"); late final _sel_setWithSet_ = objc.registerName("setWithSet:"); -final _objc_msgSend_340 = objc.msgSendPointer +final _objc_msgSend_294 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -13679,7 +10705,7 @@ late final _sel_setWithArray_ = objc.registerName("setWithArray:"); late final _sel_initWithSet_ = objc.registerName("initWithSet:"); late final _sel_initWithSet_copyItems_ = objc.registerName("initWithSet:copyItems:"); -final _objc_msgSend_341 = objc.msgSendPointer +final _objc_msgSend_295 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -13715,14 +10741,13 @@ class NSMutableSet extends NSSet { } void addObject_(objc.ObjCObjectBase object) { - _objc_msgSend_203(this.pointer, _sel_addObject_, object.pointer); + _objc_msgSend_172(this.pointer, _sel_addObject_, object.pointer); } void removeObject_(objc.ObjCObjectBase object) { - _objc_msgSend_203(this.pointer, _sel_removeObject_, object.pointer); + _objc_msgSend_172(this.pointer, _sel_removeObject_, object.pointer); } - @override NSMutableSet? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -13731,7 +10756,6 @@ class NSMutableSet extends NSSet { : NSMutableSet.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); @@ -13744,15 +10768,15 @@ class NSMutableSet extends NSSet { } void addObjectsFromArray_(NSArray array) { - _objc_msgSend_297(this.pointer, _sel_addObjectsFromArray_, array.pointer); + _objc_msgSend_259(this.pointer, _sel_addObjectsFromArray_, array.pointer); } void intersectSet_(NSSet otherSet) { - _objc_msgSend_342(this.pointer, _sel_intersectSet_, otherSet.pointer); + _objc_msgSend_296(this.pointer, _sel_intersectSet_, otherSet.pointer); } void minusSet_(NSSet otherSet) { - _objc_msgSend_342(this.pointer, _sel_minusSet_, otherSet.pointer); + _objc_msgSend_296(this.pointer, _sel_minusSet_, otherSet.pointer); } void removeAllObjects() { @@ -13760,11 +10784,11 @@ class NSMutableSet extends NSSet { } void unionSet_(NSSet otherSet) { - _objc_msgSend_342(this.pointer, _sel_unionSet_, otherSet.pointer); + _objc_msgSend_296(this.pointer, _sel_unionSet_, otherSet.pointer); } void setSet_(NSSet otherSet) { - _objc_msgSend_342(this.pointer, _sel_setSet_, otherSet.pointer); + _objc_msgSend_296(this.pointer, _sel_setSet_, otherSet.pointer); } static NSMutableSet setWithCapacity_(int numItems) { @@ -13773,7 +10797,6 @@ class NSMutableSet extends NSSet { return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -13787,7 +10810,7 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObject_(objc.ObjCObjectBase object) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSMutableSet, _sel_setWithObject_, object.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13800,48 +10823,44 @@ class NSMutableSet extends NSSet { } static NSMutableSet setWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( _class_NSMutableSet, _sel_setWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithSet_(NSSet set) { final _ret = - _objc_msgSend_340(_class_NSMutableSet, _sel_setWithSet_, set.pointer); + _objc_msgSend_294(_class_NSMutableSet, _sel_setWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } static NSMutableSet setWithArray_(NSArray array) { - final _ret = _objc_msgSend_151( + final _ret = _objc_msgSend_127( _class_NSMutableSet, _sel_setWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableSet initWithObjects_(objc.ObjCObjectBase firstObj) { - final _ret = _objc_msgSend_150( + final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableSet initWithSet_(NSSet set) { final _ret = - _objc_msgSend_340(this.pointer, _sel_initWithSet_, set.pointer); + _objc_msgSend_294(this.pointer, _sel_initWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableSet initWithSet_copyItems_(NSSet set, bool flag) { - final _ret = _objc_msgSend_341( + final _ret = _objc_msgSend_295( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } - @override NSMutableSet initWithArray_(NSArray array) { final _ret = - _objc_msgSend_151(this.pointer, _sel_initWithArray_, array.pointer); + _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } @@ -13864,7 +10883,7 @@ class NSMutableSet extends NSSet { late final _class_NSMutableSet = objc.getClass("NSMutableSet"); late final _sel_intersectSet_ = objc.registerName("intersectSet:"); -final _objc_msgSend_342 = objc.msgSendPointer +final _objc_msgSend_296 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -13899,47 +10918,19 @@ class NSItemProvider extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSItemProvider); } - @override NSItemProvider init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } - void registerDataRepresentationForTypeIdentifier_visibility_loadHandler_( - NSString typeIdentifier, - int visibility, - ObjCBlock_NSProgress_ffiVoidNSDataNSError loadHandler) { - _objc_msgSend_343( - this.pointer, - _sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_, - typeIdentifier.pointer, - visibility, - loadHandler.pointer); - } - - void - registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_( - NSString typeIdentifier, - int fileOptions, - int visibility, - ObjCBlock_NSProgress_ffiVoidNSURLboolNSError loadHandler) { - _objc_msgSend_344( - this.pointer, - _sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_, - typeIdentifier.pointer, - fileOptions, - visibility, - loadHandler.pointer); - } - NSArray get registeredTypeIdentifiers { final _ret = - _objc_msgSend_162(this.pointer, _sel_registeredTypeIdentifiers); + _objc_msgSend_137(this.pointer, _sel_registeredTypeIdentifiers); return NSArray.castFromPointer(_ret, retain: true, release: true); } NSArray registeredTypeIdentifiersWithFileOptions_(int fileOptions) { - final _ret = _objc_msgSend_345(this.pointer, + final _ret = _objc_msgSend_297(this.pointer, _sel_registeredTypeIdentifiersWithFileOptions_, fileOptions); return NSArray.castFromPointer(_ret, retain: true, release: true); } @@ -13951,46 +10942,13 @@ class NSItemProvider extends NSObject { bool hasRepresentationConformingToTypeIdentifier_fileOptions_( NSString typeIdentifier, int fileOptions) { - return _objc_msgSend_346( + return _objc_msgSend_298( this.pointer, _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_, typeIdentifier.pointer, fileOptions); } - NSProgress loadDataRepresentationForTypeIdentifier_completionHandler_( - NSString typeIdentifier, - ObjCBlock_ffiVoid_NSData_NSError completionHandler) { - final _ret = _objc_msgSend_347( - this.pointer, - _sel_loadDataRepresentationForTypeIdentifier_completionHandler_, - typeIdentifier.pointer, - completionHandler.pointer); - return NSProgress.castFromPointer(_ret, retain: true, release: true); - } - - NSProgress loadFileRepresentationForTypeIdentifier_completionHandler_( - NSString typeIdentifier, - ObjCBlock_ffiVoid_NSURL_NSError completionHandler) { - final _ret = _objc_msgSend_348( - this.pointer, - _sel_loadFileRepresentationForTypeIdentifier_completionHandler_, - typeIdentifier.pointer, - completionHandler.pointer); - return NSProgress.castFromPointer(_ret, retain: true, release: true); - } - - NSProgress loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_( - NSString typeIdentifier, - ObjCBlock_ffiVoid_NSURL_bool_NSError completionHandler) { - final _ret = _objc_msgSend_349( - this.pointer, - _sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_, - typeIdentifier.pointer, - completionHandler.pointer); - return NSProgress.castFromPointer(_ret, retain: true, release: true); - } - NSString? get suggestedName { final _ret = _objc_msgSend_58(this.pointer, _sel_suggestedName); return _ret.address == 0 @@ -13999,51 +10957,29 @@ class NSItemProvider extends NSObject { } set suggestedName(NSString? value) { - return _objc_msgSend_350( + return _objc_msgSend_299( this.pointer, _sel_setSuggestedName_, value?.pointer ?? ffi.nullptr); } NSItemProvider initWithObject_(objc.ObjCObjectBase object) { final _ret = - _objc_msgSend_150(this.pointer, _sel_initWithObject_, object.pointer); + _objc_msgSend_126(this.pointer, _sel_initWithObject_, object.pointer); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } void registerObject_visibility_(objc.ObjCObjectBase object, int visibility) { - _objc_msgSend_351(this.pointer, _sel_registerObject_visibility_, + _objc_msgSend_300(this.pointer, _sel_registerObject_visibility_, object.pointer, visibility); } - void registerObjectOfClass_visibility_loadHandler_( - objc.ObjCObjectBase aClass, - int visibility, - ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError loadHandler) { - _objc_msgSend_352( - this.pointer, - _sel_registerObjectOfClass_visibility_loadHandler_, - aClass.pointer, - visibility, - loadHandler.pointer); - } - bool canLoadObjectOfClass_(objc.ObjCObjectBase aClass) { return _objc_msgSend_0( this.pointer, _sel_canLoadObjectOfClass_, aClass.pointer); } - NSProgress loadObjectOfClass_completionHandler_(objc.ObjCObjectBase aClass, - ObjCBlock_ffiVoid_objcObjCObject_NSError completionHandler) { - final _ret = _objc_msgSend_353( - this.pointer, - _sel_loadObjectOfClass_completionHandler_, - aClass.pointer, - completionHandler.pointer); - return NSProgress.castFromPointer(_ret, retain: true, release: true); - } - NSItemProvider initWithItem_typeIdentifier_( objc.ObjCObjectBase? item, NSString? typeIdentifier) { - final _ret = _objc_msgSend_354( + final _ret = _objc_msgSend_301( this.pointer, _sel_initWithItem_typeIdentifier_, item?.pointer ?? ffi.nullptr, @@ -14052,61 +10988,13 @@ class NSItemProvider extends NSObject { } NSItemProvider? initWithContentsOfURL_(NSURL fileURL) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, fileURL.pointer); return _ret.address == 0 ? null : NSItemProvider.castFromPointer(_ret, retain: true, release: true); } - void registerItemForTypeIdentifier_loadHandler_( - NSString typeIdentifier, - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary - loadHandler) { - _objc_msgSend_355( - this.pointer, - _sel_registerItemForTypeIdentifier_loadHandler_, - typeIdentifier.pointer, - loadHandler.pointer); - } - - void loadItemForTypeIdentifier_options_completionHandler_( - NSString typeIdentifier, - NSDictionary? options, - ObjCBlock_ffiVoid_objcObjCObject_NSError1? completionHandler) { - _objc_msgSend_356( - this.pointer, - _sel_loadItemForTypeIdentifier_options_completionHandler_, - typeIdentifier.pointer, - options?.pointer ?? ffi.nullptr, - completionHandler?.pointer ?? ffi.nullptr); - } - - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary? - get previewImageHandler { - final _ret = _objc_msgSend_357(this.pointer, _sel_previewImageHandler); - return _ret.address == 0 - ? null - : ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary - .castFromPointer(_ret, retain: true, release: true); - } - - set previewImageHandler( - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary? - value) { - return _objc_msgSend_358(this.pointer, _sel_setPreviewImageHandler_, - value?.pointer ?? ffi.nullptr); - } - - void loadPreviewImageWithOptions_completionHandler_(NSDictionary options, - ObjCBlock_ffiVoid_objcObjCObject_NSError1 completionHandler) { - _objc_msgSend_359( - this.pointer, - _sel_loadPreviewImageWithOptions_completionHandler_, - options.pointer, - completionHandler.pointer); - } - static NSItemProvider new1() { final _ret = _objc_msgSend_2(_class_NSItemProvider, _sel_new); return NSItemProvider.castFromPointer(_ret, retain: false, release: true); @@ -14125,738 +11013,44 @@ class NSItemProvider extends NSObject { } late final _class_NSItemProvider = objc.getClass("NSItemProvider"); - -abstract class NSItemProviderRepresentationVisibility { - static const int NSItemProviderRepresentationVisibilityAll = 0; - static const int NSItemProviderRepresentationVisibilityTeam = 1; - static const int NSItemProviderRepresentationVisibilityGroup = 2; - static const int NSItemProviderRepresentationVisibilityOwnProcess = 3; -} - -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidNSDataNSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - block.ref.target - .cast< - ffi - .NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer)>()(arg0); -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - (objc.getBlockClosure(block) as ffi.Pointer Function( - ffi.Pointer))(arg0); - -class ObjCBlock_NSProgress_ffiVoidNSDataNSError extends objc.ObjCBlockBase { - ObjCBlock_NSProgress_ffiVoidNSDataNSError._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_NSProgress_ffiVoidNSDataNSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_NSProgress_ffiVoidNSDataNSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidNSDataNSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidNSDataNSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidNSDataNSError.fromFunction( - NSProgress? Function(ObjCBlock_ffiVoid_NSData_NSError) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidNSDataNSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0) => - fn(ObjCBlock_ffiVoid_NSData_NSError.castFromPointer(arg0, - retain: true, release: true)) - ?.retainAndReturnPointer() ?? - ffi.nullptr)); - static ffi.Pointer? _dartFuncTrampoline; - - NSProgress? call(ObjCBlock_ffiVoid_NSData_NSError arg0) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer block, - ffi.Pointer arg0)>>() - .asFunction Function(ffi.Pointer, ffi.Pointer)>() - (pointer, arg0.pointer) - .address == - 0 - ? null - : NSProgress.castFromPointer( - pointer.ref.invoke.cast Function(ffi.Pointer block, ffi.Pointer arg0)>>().asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>()(pointer, arg0.pointer), - retain: false, - release: true); -} - -class NSProgress extends objc.ObjCObjectBase { - NSProgress._(ffi.Pointer pointer, - {bool retain = false, bool release = false}) - : super(pointer, retain: retain, release: release); - - /// Constructs a [NSProgress] that points to the same underlying object as [other]. - NSProgress.castFrom(objc.ObjCObjectBase other) - : this._(other.pointer, retain: true, release: true); - - /// Constructs a [NSProgress] that wraps the given raw object pointer. - NSProgress.castFromPointer(ffi.Pointer other, - {bool retain = false, bool release = false}) - : this._(other, retain: retain, release: release); - - /// Returns whether [obj] is an instance of [NSProgress]. - static bool isInstance(objc.ObjCObjectBase obj) { - return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSProgress); - } -} - -late final _class_NSProgress = objc.getClass("NSProgress"); -void _ObjCBlock_ffiVoid_NSData_NSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_NSData_NSError extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSData_NSError._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSData_NSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSData_NSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSData_NSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSData_NSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSData_NSError.fromFunction(void Function(NSData?, NSError?) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSData.castFromPointer(arg0, retain: true, release: true), - arg1.address == 0 - ? null - : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSData_NSError.listener(void Function(NSData?, NSError?) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSData_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSData.castFromPointer(arg0, retain: true, release: true), - arg1.address == 0 - ? null - : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSData? arg0, NSError? arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1?.pointer ?? ffi.nullptr); -} - -late final _sel_registerDataRepresentationForTypeIdentifier_visibility_loadHandler_ = - objc.registerName( - "registerDataRepresentationForTypeIdentifier:visibility:loadHandler:"); -final _objc_msgSend_343 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); +late final _sel_registeredTypeIdentifiers = + objc.registerName("registeredTypeIdentifiers"); abstract class NSItemProviderFileOptions { static const int NSItemProviderFileOptionOpenInPlace = 1; } -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer)>()(arg0); -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - (objc.getBlockClosure(block) as ffi.Pointer Function( - ffi.Pointer))(arg0); - -class ObjCBlock_NSProgress_ffiVoidNSURLboolNSError extends objc.ObjCBlockBase { - ObjCBlock_NSProgress_ffiVoidNSURLboolNSError._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_NSProgress_ffiVoidNSURLboolNSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_NSProgress_ffiVoidNSURLboolNSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidNSURLboolNSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidNSURLboolNSError.fromFunction( - NSProgress? Function(ObjCBlock_ffiVoid_NSURL_bool_NSError) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidNSURLboolNSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0) => - fn(ObjCBlock_ffiVoid_NSURL_bool_NSError.castFromPointer(arg0, retain: true, release: true)) - ?.retainAndReturnPointer() ?? - ffi.nullptr)); - static ffi.Pointer? _dartFuncTrampoline; - - NSProgress? call(ObjCBlock_ffiVoid_NSURL_bool_NSError arg0) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer block, - ffi.Pointer arg0)>>() - .asFunction Function(ffi.Pointer, ffi.Pointer)>() - (pointer, arg0.pointer) - .address == - 0 - ? null - : NSProgress.castFromPointer( - pointer.ref.invoke.cast Function(ffi.Pointer block, ffi.Pointer arg0)>>().asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>()(pointer, arg0.pointer), - retain: false, - release: true); -} - -void _ObjCBlock_ffiVoid_NSURL_bool_NSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - bool arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Bool arg1, ffi.Pointer arg2)>>() - .asFunction< - void Function(ffi.Pointer, bool, - ffi.Pointer)>()(arg0, arg1, arg2); -void _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - bool arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - bool, ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_NSURL_bool_NSError extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSURL_bool_NSError._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSURL_bool_NSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSURL_bool_NSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_bool_NSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Bool arg1, ffi.Pointer arg2)>> - ptr) - : this._( - objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_bool_NSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_bool_NSError.fromFunction(void Function(NSURL?, bool, NSError?) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0, bool arg1, ffi.Pointer arg2) => fn( - arg0.address == 0 - ? null - : NSURL.castFromPointer(arg0, retain: true, release: true), - arg1, - arg2.address == 0 ? null : NSError.castFromPointer(arg2, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSURL_bool_NSError.listener( - void Function(NSURL?, bool, NSError?) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSURL_bool_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, bool arg1, ffi.Pointer arg2) => fn( - arg0.address == 0 ? null : NSURL.castFromPointer(arg0, retain: true, release: true), - arg1, - arg2.address == 0 ? null : NSError.castFromPointer(arg2, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Bool, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSURL? arg0, bool arg1, NSError? arg2) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Bool arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - bool, - ffi.Pointer)>()(pointer, - arg0?.pointer ?? ffi.nullptr, arg1, arg2?.pointer ?? ffi.nullptr); -} - -late final _sel_registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler_ = - objc.registerName( - "registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:"); -final _objc_msgSend_344 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - int, - ffi.Pointer)>(); -late final _sel_registeredTypeIdentifiers = - objc.registerName("registeredTypeIdentifiers"); late final _sel_registeredTypeIdentifiersWithFileOptions_ = objc.registerName("registeredTypeIdentifiersWithFileOptions:"); -final _objc_msgSend_345 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() - .asFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, int)>(); -late final _sel_hasItemConformingToTypeIdentifier_ = - objc.registerName("hasItemConformingToTypeIdentifier:"); -late final _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_ = objc - .registerName("hasRepresentationConformingToTypeIdentifier:fileOptions:"); -final _objc_msgSend_346 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32)>>() - .asFunction< - bool Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int)>(); -late final _sel_loadDataRepresentationForTypeIdentifier_completionHandler_ = - objc.registerName( - "loadDataRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_347 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -void _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_NSURL_NSError extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_NSURL_NSError._(ffi.Pointer pointer, - {bool retain = false, bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_NSURL_NSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_NSURL_NSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_NSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_NSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_NSURL_NSError.fromFunction( - void Function(NSURL?, NSError?) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSURL.castFromPointer(arg0, retain: true, release: true), - arg1.address == 0 ? null : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_NSURL_NSError.listener(void Function(NSURL?, NSError?) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_NSURL_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : NSURL.castFromPointer(arg0, retain: true, release: true), - arg1.address == 0 - ? null - : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(NSURL? arg0, NSError? arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1?.pointer ?? ffi.nullptr); -} - -late final _sel_loadFileRepresentationForTypeIdentifier_completionHandler_ = - objc.registerName( - "loadFileRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_348 = objc.msgSendPointer +final _objc_msgSend_297 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, ffi.Int32)>>() .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_loadInPlaceFileRepresentationForTypeIdentifier_completionHandler_ = - objc.registerName( - "loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:"); -final _objc_msgSend_349 = objc.msgSendPointer + ffi.Pointer Function(ffi.Pointer, + ffi.Pointer, int)>(); +late final _sel_hasItemConformingToTypeIdentifier_ = + objc.registerName("hasItemConformingToTypeIdentifier:"); +late final _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_ = objc + .registerName("hasRepresentationConformingToTypeIdentifier:fileOptions:"); +final _objc_msgSend_298 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Pointer Function( + ffi.Bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>>() + ffi.Int32)>>() .asFunction< - ffi.Pointer Function( + bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Pointer)>(); + int)>(); late final _sel_suggestedName = objc.registerName("suggestedName"); late final _sel_setSuggestedName_ = objc.registerName("setSuggestedName:"); -final _objc_msgSend_350 = objc.msgSendPointer +final _objc_msgSend_299 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14867,9 +11061,17 @@ final _objc_msgSend_350 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithObject_ = objc.registerName("initWithObject:"); + +abstract class NSItemProviderRepresentationVisibility { + static const int NSItemProviderRepresentationVisibilityAll = 0; + static const int NSItemProviderRepresentationVisibilityTeam = 1; + static const int NSItemProviderRepresentationVisibilityGroup = 2; + static const int NSItemProviderRepresentationVisibilityOwnProcess = 3; +} + late final _sel_registerObject_visibility_ = objc.registerName("registerObject:visibility:"); -final _objc_msgSend_351 = objc.msgSendPointer +final _objc_msgSend_300 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -14883,267 +11085,11 @@ final _objc_msgSend_351 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int)>(); -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer)>()(arg0); -ffi.Pointer - _ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0) => - (objc.getBlockClosure(block) as ffi.Pointer Function( - ffi.Pointer))(arg0); - -class ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError - extends objc.ObjCBlockBase { - ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer arg0)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError.fromFunction( - NSProgress? Function(ObjCBlock_ffiVoid_objcObjCObject_NSError) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_NSProgress_ffiVoidobjcObjCObjectNSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0) => - fn(ObjCBlock_ffiVoid_objcObjCObject_NSError.castFromPointer(arg0, retain: true, release: true)) - ?.retainAndReturnPointer() ?? - ffi.nullptr)); - static ffi.Pointer? _dartFuncTrampoline; - - NSProgress? call(ObjCBlock_ffiVoid_objcObjCObject_NSError arg0) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer block, - ffi.Pointer arg0)>>() - .asFunction Function(ffi.Pointer, ffi.Pointer)>() - (pointer, arg0.pointer) - .address == - 0 - ? null - : NSProgress.castFromPointer( - pointer.ref.invoke.cast Function(ffi.Pointer block, ffi.Pointer arg0)>>().asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>()(pointer, arg0.pointer), - retain: false, - release: true); -} - -void _ObjCBlock_ffiVoid_objcObjCObject_NSError_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_objcObjCObject_NSError_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_objcObjCObject_NSError extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_NSError._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_NSError castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_NSError._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_NSError.fromFunctionPointer( - ffi - .Pointer< - ffi - .NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_NSError_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_NSError.fromFunction( - void Function(objc.ObjCObjectBase?, NSError?) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_NSError_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1.address == 0 ? null : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_NSError.listener( - void Function(objc.ObjCObjectBase?, NSError?) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_NSError_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 ? null : objc.ObjCObjectBase(arg0, retain: true, release: true), - arg1.address == 0 ? null : NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(objc.ObjCObjectBase? arg0, NSError? arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1?.pointer ?? ffi.nullptr); -} - -late final _sel_registerObjectOfClass_visibility_loadHandler_ = - objc.registerName("registerObjectOfClass:visibility:loadHandler:"); -final _objc_msgSend_352 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Int32, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - int, - ffi.Pointer)>(); late final _sel_canLoadObjectOfClass_ = objc.registerName("canLoadObjectOfClass:"); -late final _sel_loadObjectOfClass_completionHandler_ = - objc.registerName("loadObjectOfClass:completionHandler:"); -final _objc_msgSend_353 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); late final _sel_initWithItem_typeIdentifier_ = objc.registerName("initWithItem:typeIdentifier:"); -final _objc_msgSend_354 = objc.msgSendPointer +final _objc_msgSend_301 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( @@ -15157,349 +11103,20 @@ final _objc_msgSend_354 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -void - _ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()(arg0, arg1, arg2); -void - _ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - (objc.getBlockClosure(block) as void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer))(arg0, arg1, arg2); - -class ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary - extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary - castFromPointer(ffi.Pointer pointer, - {bool retain = false, bool release = false}) { - return ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary - ._(pointer, retain: retain, release: release); - } - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary.fromFunction(void Function(ObjCBlock_ffiVoid_objcObjCObject_NSError1, objc.ObjCObjectBase, NSDictionary) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary_closureTrampoline) - .cast(), - (ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - fn( - ObjCBlock_ffiVoid_objcObjCObject_NSError1.castFromPointer(arg0, retain: true, release: true), - objc.ObjCObjectBase(arg1, retain: true, release: true), - NSDictionary.castFromPointer(arg2, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary.listener( - void Function(ObjCBlock_ffiVoid_objcObjCObject_NSError1, - objc.ObjCObjectBase, NSDictionary) - fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= - ffi.NativeCallable, ffi.Pointer, ffi.Pointer, ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_ffiVoidobjcObjCObjectNSError_objcObjCObject_NSDictionary_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2) => - fn( - ObjCBlock_ffiVoid_objcObjCObject_NSError1.castFromPointer(arg0, retain: true, release: true), - objc.ObjCObjectBase(arg1, retain: true, release: true), - NSDictionary.castFromPointer(arg2, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(ObjCBlock_ffiVoid_objcObjCObject_NSError1 arg0, - objc.ObjCObjectBase arg1, NSDictionary arg2) => - pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1, - ffi.Pointer arg2)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0.pointer, arg1.pointer, arg2.pointer); -} - -void _ObjCBlock_ffiVoid_objcObjCObject_NSError1_fnPtrTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - block.ref.target - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer)>()(arg0, arg1); -void _ObjCBlock_ffiVoid_objcObjCObject_NSError1_closureTrampoline( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1) => - (objc.getBlockClosure(block) as void Function(ffi.Pointer, - ffi.Pointer))(arg0, arg1); - -class ObjCBlock_ffiVoid_objcObjCObject_NSError1 extends objc.ObjCBlockBase { - ObjCBlock_ffiVoid_objcObjCObject_NSError1._( - ffi.Pointer pointer, - {bool retain = false, - bool release = true}) - : super(pointer, retain: retain, release: release); - - /// Returns a block that wraps the given raw block pointer. - static ObjCBlock_ffiVoid_objcObjCObject_NSError1 castFromPointer( - ffi.Pointer pointer, - {bool retain = false, - bool release = false}) { - return ObjCBlock_ffiVoid_objcObjCObject_NSError1._(pointer, - retain: retain, release: release); - } - - /// Creates a block from a C function pointer. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_NSError1.fromFunctionPointer( - ffi.Pointer< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer arg0, - ffi.Pointer arg1)>> - ptr) - : this._(objc.newPointerBlock( - _cFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_NSError1_fnPtrTrampoline) - .cast(), - ptr.cast())); - static ffi.Pointer? _cFuncTrampoline; - - /// Creates a block from a Dart function. - /// - /// This block must be invoked by native code running on the same thread as - /// the isolate that registered it. Invoking the block on the wrong thread - /// will result in a crash. - ObjCBlock_ffiVoid_objcObjCObject_NSError1.fromFunction( - void Function(objc.ObjCObjectBase?, NSError) fn) - : this._(objc.newClosureBlock( - _dartFuncTrampoline ??= ffi.Pointer.fromFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>( - _ObjCBlock_ffiVoid_objcObjCObject_NSError1_closureTrampoline) - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : objc.ObjCObjectBase(arg0, retain: true, release: true), - NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.Pointer? _dartFuncTrampoline; - - /// Creates a listener block from a Dart function. - /// - /// This is based on FFI's NativeCallable.listener, and has the same - /// capabilities and limitations. This block can be invoked from any thread, - /// but only supports void functions, and is not run synchronously. See - /// NativeCallable.listener for more details. - /// - /// Note that unlike the default behavior of NativeCallable.listener, listener - /// blocks do not keep the isolate alive. - ObjCBlock_ffiVoid_objcObjCObject_NSError1.listener( - void Function(objc.ObjCObjectBase?, NSError) fn) - : this._(objc.newClosureBlock( - (_dartFuncListenerTrampoline ??= ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>.listener( - _ObjCBlock_ffiVoid_objcObjCObject_NSError1_closureTrampoline) - ..keepIsolateAlive = false) - .nativeFunction - .cast(), - (ffi.Pointer arg0, ffi.Pointer arg1) => fn( - arg0.address == 0 - ? null - : objc.ObjCObjectBase(arg0, retain: true, release: true), - NSError.castFromPointer(arg1, retain: true, release: true)))); - static ffi.NativeCallable< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>? _dartFuncListenerTrampoline; - - void call(objc.ObjCObjectBase? arg0, NSError arg1) => pointer.ref.invoke - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer block, - ffi.Pointer arg0, - ffi.Pointer arg1)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>()( - pointer, arg0?.pointer ?? ffi.nullptr, arg1.pointer); +abstract class NSStringEnumerationOptions { + static const int NSStringEnumerationByLines = 0; + static const int NSStringEnumerationByParagraphs = 1; + static const int NSStringEnumerationByComposedCharacterSequences = 2; + static const int NSStringEnumerationByWords = 3; + static const int NSStringEnumerationBySentences = 4; + static const int NSStringEnumerationByCaretPositions = 5; + static const int NSStringEnumerationByDeletionClusters = 6; + static const int NSStringEnumerationReverse = 256; + static const int NSStringEnumerationSubstringNotRequired = 512; + static const int NSStringEnumerationLocalized = 1024; } -late final _sel_registerItemForTypeIdentifier_loadHandler_ = - objc.registerName("registerItemForTypeIdentifier:loadHandler:"); -final _objc_msgSend_355 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_loadItemForTypeIdentifier_options_completionHandler_ = - objc.registerName("loadItemForTypeIdentifier:options:completionHandler:"); -final _objc_msgSend_356 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); -late final _sel_previewImageHandler = objc.registerName("previewImageHandler"); -final _objc_msgSend_357 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Pointer Function(ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - ffi.Pointer Function( - ffi.Pointer, ffi.Pointer)>(); -late final _sel_setPreviewImageHandler_ = - objc.registerName("setPreviewImageHandler:"); -final _objc_msgSend_358 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>>() - .asFunction< - void Function(ffi.Pointer, - ffi.Pointer, ffi.Pointer)>(); -late final _sel_loadPreviewImageWithOptions_completionHandler_ = - objc.registerName("loadPreviewImageWithOptions:completionHandler:"); -final _objc_msgSend_359 = objc.msgSendPointer - .cast< - ffi.NativeFunction< - ffi.Void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>>() - .asFunction< - void Function( - ffi.Pointer, - ffi.Pointer, - ffi.Pointer, - ffi.Pointer)>(); - class NSMutableString extends NSString { NSMutableString._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -15520,35 +11137,35 @@ class NSMutableString extends NSString { obj.pointer, _sel_isKindOfClass_, _class_NSMutableString); } - void replaceCharactersInRange_withString_(_NSRange range, NSString aString) { - _objc_msgSend_360(this.pointer, _sel_replaceCharactersInRange_withString_, + void replaceCharactersInRange_withString_(NSRange range, NSString aString) { + _objc_msgSend_302(this.pointer, _sel_replaceCharactersInRange_withString_, range, aString.pointer); } void insertString_atIndex_(NSString aString, int loc) { - _objc_msgSend_361( + _objc_msgSend_303( this.pointer, _sel_insertString_atIndex_, aString.pointer, loc); } - void deleteCharactersInRange_(_NSRange range) { - _objc_msgSend_301(this.pointer, _sel_deleteCharactersInRange_, range); + void deleteCharactersInRange_(NSRange range) { + _objc_msgSend_255(this.pointer, _sel_deleteCharactersInRange_, range); } void appendString_(NSString aString) { - _objc_msgSend_170(this.pointer, _sel_appendString_, aString.pointer); + _objc_msgSend_143(this.pointer, _sel_appendString_, aString.pointer); } void appendFormat_(NSString format) { - _objc_msgSend_170(this.pointer, _sel_appendFormat_, format.pointer); + _objc_msgSend_143(this.pointer, _sel_appendFormat_, format.pointer); } void setString_(NSString aString) { - _objc_msgSend_170(this.pointer, _sel_setString_, aString.pointer); + _objc_msgSend_143(this.pointer, _sel_setString_, aString.pointer); } - int replaceOccurrencesOfString_withString_options_range_(NSString target, - NSString replacement, int options, _NSRange searchRange) { - return _objc_msgSend_362( + int replaceOccurrencesOfString_withString_options_range_( + NSString target, NSString replacement, int options, NSRange searchRange) { + return _objc_msgSend_304( this.pointer, _sel_replaceOccurrencesOfString_withString_options_range_, target.pointer, @@ -15558,8 +11175,8 @@ class NSMutableString extends NSString { } bool applyTransform_reverse_range_updatedRange_(NSString transform, - bool reverse, _NSRange range, ffi.Pointer<_NSRange> resultingRange) { - return _objc_msgSend_363( + bool reverse, NSRange range, ffi.Pointer resultingRange) { + return _objc_msgSend_305( this.pointer, _sel_applyTransform_reverse_range_updatedRange_, transform.pointer, @@ -15570,23 +11187,21 @@ class NSMutableString extends NSString { NSMutableString initWithCapacity_(int capacity) { final _ret = - _objc_msgSend_364(this.pointer, _sel_initWithCapacity_, capacity); + _objc_msgSend_306(this.pointer, _sel_initWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString stringWithCapacity_(int capacity) { - final _ret = _objc_msgSend_364( + final _ret = _objc_msgSend_306( _class_NSMutableString, _sel_stringWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -15596,7 +11211,7 @@ class NSMutableString extends NSString { } static ffi.Pointer getAvailableStringEncodings() { - return _objc_msgSend_247( + return _objc_msgSend_212( _class_NSMutableString, _sel_availableStringEncodings); } @@ -15611,10 +11226,9 @@ class NSMutableString extends NSString { _class_NSMutableString, _sel_defaultCStringEncoding); } - @override NSMutableString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { - final _ret = _objc_msgSend_259( + final _ret = _objc_msgSend_224( this.pointer, _sel_initWithCharactersNoCopy_length_freeWhenDone_, characters, @@ -15623,86 +11237,46 @@ class NSMutableString extends NSString { return NSMutableString.castFromPointer(_ret, retain: false, release: true); } - @override - NSMutableString initWithCharactersNoCopy_length_deallocator_( - ffi.Pointer chars, - int len, - ObjCBlock_ffiVoid_ffiUnsignedShort_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_260( - this.pointer, - _sel_initWithCharactersNoCopy_length_deallocator_, - chars, - len, - deallocator?.pointer ?? ffi.nullptr); - return NSMutableString.castFromPointer(_ret, retain: false, release: true); - } - - @override NSMutableString initWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_261( + final _ret = _objc_msgSend_225( this.pointer, _sel_initWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_226( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString initWithString_(NSString aString) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithString_, aString.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString initWithFormat_(NSString format) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableString initWithFormat_arguments_( - NSString format, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_263( - this.pointer, _sel_initWithFormat_arguments_, format.pointer, argList); - return NSMutableString.castFromPointer(_ret, retain: true, release: true); - } - - @override NSMutableString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { - final _ret = _objc_msgSend_264(this.pointer, _sel_initWithFormat_locale_, + final _ret = _objc_msgSend_227(this.pointer, _sel_initWithFormat_locale_, format.pointer, locale?.pointer ?? ffi.nullptr); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableString initWithFormat_locale_arguments_(NSString format, - objc.ObjCObjectBase? locale, ffi.Pointer<__va_list_tag> argList) { - final _ret = _objc_msgSend_265( - this.pointer, - _sel_initWithFormat_locale_arguments_, - format.pointer, - locale?.pointer ?? ffi.nullptr, - argList); - return NSMutableString.castFromPointer(_ret, retain: true, release: true); - } - - @override NSMutableString? initWithValidatedFormat_validFormatSpecifiers_error_( NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15713,13 +11287,12 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( NSString format, NSString validFormatSpecifiers, objc.ObjCObjectBase? locale, ffi.Pointer> error) { - final _ret = _objc_msgSend_267( + final _ret = _objc_msgSend_229( this.pointer, _sel_initWithValidatedFormat_validFormatSpecifiers_locale_error_, format.pointer, @@ -15731,69 +11304,26 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override - NSMutableString? - initWithValidatedFormat_validFormatSpecifiers_arguments_error_( - NSString format, - NSString validFormatSpecifiers, - ffi.Pointer<__va_list_tag> argList, - ffi.Pointer> error) { - final _ret = _objc_msgSend_268( - this.pointer, - _sel_initWithValidatedFormat_validFormatSpecifiers_arguments_error_, - format.pointer, - validFormatSpecifiers.pointer, - argList, - error); - return _ret.address == 0 - ? null - : NSMutableString.castFromPointer(_ret, retain: true, release: true); - } - - @override - NSMutableString? - initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_( - NSString format, - NSString validFormatSpecifiers, - objc.ObjCObjectBase? locale, - ffi.Pointer<__va_list_tag> argList, - ffi.Pointer> error) { - final _ret = _objc_msgSend_269( - this.pointer, - _sel_initWithValidatedFormat_validFormatSpecifiers_locale_arguments_error_, - format.pointer, - validFormatSpecifiers.pointer, - locale?.pointer ?? ffi.nullptr, - argList, - error); - return _ret.address == 0 - ? null - : NSMutableString.castFromPointer(_ret, retain: true, release: true); - } - - @override NSMutableString? initWithData_encoding_(NSData data, int encoding) { - final _ret = _objc_msgSend_270( + final _ret = _objc_msgSend_230( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { - final _ret = _objc_msgSend_271(this.pointer, + final _ret = _objc_msgSend_231(this.pointer, _sel_initWithBytes_length_encoding_, bytes, len, encoding); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { - final _ret = _objc_msgSend_272( + final _ret = _objc_msgSend_232( this.pointer, _sel_initWithBytesNoCopy_length_encoding_freeWhenDone_, bytes, @@ -15805,24 +11335,6 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: false, release: true); } - @override - NSMutableString? initWithBytesNoCopy_length_encoding_deallocator_( - ffi.Pointer bytes, - int len, - int encoding, - ObjCBlock_ffiVoid_ffiVoid_ffiUnsignedLong? deallocator) { - final _ret = _objc_msgSend_273( - this.pointer, - _sel_initWithBytesNoCopy_length_encoding_deallocator_, - bytes, - len, - encoding, - deallocator?.pointer ?? ffi.nullptr); - return _ret.address == 0 - ? null - : NSMutableString.castFromPointer(_ret, retain: false, release: true); - } - static NSMutableString string() { final _ret = _objc_msgSend_2(_class_NSMutableString, _sel_string); return NSMutableString.castFromPointer(_ret, retain: true, release: true); @@ -15836,14 +11348,14 @@ class NSMutableString extends NSString { static NSMutableString stringWithCharacters_length_( ffi.Pointer characters, int length) { - final _ret = _objc_msgSend_261(_class_NSMutableString, + final _ret = _objc_msgSend_225(_class_NSMutableString, _sel_stringWithCharacters_length_, characters, length); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } static NSMutableString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { - final _ret = _objc_msgSend_262(_class_NSMutableString, + final _ret = _objc_msgSend_226(_class_NSMutableString, _sel_stringWithUTF8String_, nullTerminatedCString); return _ret.address == 0 ? null @@ -15867,7 +11379,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( _class_NSMutableString, _sel_stringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15883,7 +11395,7 @@ class NSMutableString extends NSString { NSString format, NSString validFormatSpecifiers, ffi.Pointer> error) { - final _ret = _objc_msgSend_266( + final _ret = _objc_msgSend_228( _class_NSMutableString, _sel_localizedStringWithValidatedFormat_validFormatSpecifiers_error_, format.pointer, @@ -15894,10 +11406,9 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { - final _ret = _objc_msgSend_274(this.pointer, _sel_initWithCString_encoding_, + final _ret = _objc_msgSend_233(this.pointer, _sel_initWithCString_encoding_, nullTerminatedCString, encoding); return _ret.address == 0 ? null @@ -15906,27 +11417,25 @@ class NSMutableString extends NSString { static NSMutableString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_233( _class_NSMutableString, _sel_stringWithCString_encoding_, cString, enc); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_275(this.pointer, + final _ret = _objc_msgSend_234(this.pointer, _sel_initWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_276(this.pointer, + final _ret = _objc_msgSend_235(this.pointer, _sel_initWithContentsOfFile_encoding_error_, path.pointer, enc, error); return _ret.address == 0 ? null @@ -15935,7 +11444,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_275(_class_NSMutableString, + final _ret = _objc_msgSend_234(_class_NSMutableString, _sel_stringWithContentsOfURL_encoding_error_, url.pointer, enc, error); return _ret.address == 0 ? null @@ -15944,7 +11453,7 @@ class NSMutableString extends NSString { static NSMutableString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_276( + final _ret = _objc_msgSend_235( _class_NSMutableString, _sel_stringWithContentsOfFile_encoding_error_, path.pointer, @@ -15955,12 +11464,11 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithContentsOfURL_usedEncoding_error_( NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_236( this.pointer, _sel_initWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -15971,12 +11479,11 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } - @override NSMutableString? initWithContentsOfFile_usedEncoding_error_( NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_278( + final _ret = _objc_msgSend_237( this.pointer, _sel_initWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -15991,7 +11498,7 @@ class NSMutableString extends NSString { NSURL url, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_277( + final _ret = _objc_msgSend_236( _class_NSMutableString, _sel_stringWithContentsOfURL_usedEncoding_error_, url.pointer, @@ -16006,7 +11513,7 @@ class NSMutableString extends NSString { NSString path, ffi.Pointer enc, ffi.Pointer> error) { - final _ret = _objc_msgSend_278( + final _ret = _objc_msgSend_237( _class_NSMutableString, _sel_stringWithContentsOfFile_usedEncoding_error_, path.pointer, @@ -16023,7 +11530,7 @@ class NSMutableString extends NSString { NSDictionary? opts, ffi.Pointer> string, ffi.Pointer usedLossyConversion) { - return _objc_msgSend_279( + return _objc_msgSend_238( _class_NSMutableString, _sel_stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_, data.pointer, @@ -16041,7 +11548,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { - final _ret = _objc_msgSend_219( + final _ret = _objc_msgSend_187( _class_NSMutableString, _sel_stringWithContentsOfURL_, url.pointer); return _ret.address == 0 ? null @@ -16050,7 +11557,7 @@ class NSMutableString extends NSString { static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { - final _ret = _objc_msgSend_274( + final _ret = _objc_msgSend_233( _class_NSMutableString, _sel_stringWithCString_length_, bytes, length); return _ret.address == 0 ? null @@ -16058,7 +11565,7 @@ class NSMutableString extends NSString { } static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { - final _ret = _objc_msgSend_262( + final _ret = _objc_msgSend_226( _class_NSMutableString, _sel_stringWithCString_, bytes); return _ret.address == 0 ? null @@ -16085,23 +11592,23 @@ class NSMutableString extends NSString { late final _class_NSMutableString = objc.getClass("NSMutableString"); late final _sel_replaceCharactersInRange_withString_ = objc.registerName("replaceCharactersInRange:withString:"); -final _objc_msgSend_360 = objc.msgSendPointer +final _objc_msgSend_302 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>>() .asFunction< void Function( ffi.Pointer, ffi.Pointer, - _NSRange, + NSRange, ffi.Pointer)>(); late final _sel_insertString_atIndex_ = objc.registerName("insertString:atIndex:"); -final _objc_msgSend_361 = objc.msgSendPointer +final _objc_msgSend_303 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -16122,7 +11629,7 @@ late final _sel_appendFormat_ = objc.registerName("appendFormat:"); late final _sel_setString_ = objc.registerName("setString:"); late final _sel_replaceOccurrencesOfString_withString_options_range_ = objc.registerName("replaceOccurrencesOfString:withString:options:range:"); -final _objc_msgSend_362 = objc.msgSendPointer +final _objc_msgSend_304 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.UnsignedLong Function( @@ -16131,7 +11638,7 @@ final _objc_msgSend_362 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Int32, - _NSRange)>>() + NSRange)>>() .asFunction< int Function( ffi.Pointer, @@ -16139,10 +11646,10 @@ final _objc_msgSend_362 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, int, - _NSRange)>(); + NSRange)>(); late final _sel_applyTransform_reverse_range_updatedRange_ = objc.registerName("applyTransform:reverse:range:updatedRange:"); -final _objc_msgSend_363 = objc.msgSendPointer +final _objc_msgSend_305 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Bool Function( @@ -16150,17 +11657,17 @@ final _objc_msgSend_363 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Bool, - _NSRange, - ffi.Pointer<_NSRange>)>>() + NSRange, + ffi.Pointer)>>() .asFunction< bool Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, bool, - _NSRange, - ffi.Pointer<_NSRange>)>(); -final _objc_msgSend_364 = objc.msgSendPointer + NSRange, + ffi.Pointer)>(); +final _objc_msgSend_306 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, @@ -16170,6 +11677,16 @@ final _objc_msgSend_364 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_stringWithCapacity_ = objc.registerName("stringWithCapacity:"); +abstract class NSEnumerationOptions { + static const int NSEnumerationConcurrent = 1; + static const int NSEnumerationReverse = 2; +} + +abstract class NSSortOptions { + static const int NSSortConcurrent = 1; + static const int NSSortStable = 16; +} + class NSProxy extends objc.ObjCObjectBase { NSProxy._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -16211,7 +11728,7 @@ class NSProxy extends objc.ObjCObjectBase { NSMethodSignature? methodSignatureForSelector_( ffi.Pointer sel) { final _ret = - _objc_msgSend_365(this.pointer, _sel_methodSignatureForSelector_, sel); + _objc_msgSend_307(this.pointer, _sel_methodSignatureForSelector_, sel); return _ret.address == 0 ? null : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); @@ -16249,7 +11766,7 @@ class NSProxy extends objc.ObjCObjectBase { } late final _class_NSProxy = objc.getClass("NSProxy"); -final _objc_msgSend_365 = objc.msgSendPointer +final _objc_msgSend_307 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function( @@ -16286,13 +11803,11 @@ class DartProxyBuilder extends NSObject { return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); } - @override DartProxyBuilder init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return DartProxyBuilder.castFromPointer(_ret, retain: true, release: true); } - @override void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } @@ -16301,7 +11816,7 @@ class DartProxyBuilder extends NSObject { ffi.Pointer sel, NSMethodSignature signature, ffi.Pointer block) { - _objc_msgSend_366( + _objc_msgSend_308( this.pointer, _sel_implementMethod_withSignature_andBlock_, sel, @@ -16324,7 +11839,7 @@ class DartProxyBuilder extends NSObject { late final _class_DartProxyBuilder = objc.getClass("DartProxyBuilder"); late final _sel_implementMethod_withSignature_andBlock_ = objc.registerName("implementMethod:withSignature:andBlock:"); -final _objc_msgSend_366 = objc.msgSendPointer +final _objc_msgSend_308 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Void Function( @@ -16361,18 +11876,17 @@ class DartProxy extends NSProxy { } static DartProxy newFromBuilder_(DartProxyBuilder builder) { - final _ret = _objc_msgSend_367( + final _ret = _objc_msgSend_309( _class_DartProxy, _sel_newFromBuilder_, builder.pointer); return DartProxy.castFromPointer(_ret, retain: false, release: true); } DartProxy initFromBuilder_(DartProxyBuilder builder) { final _ret = - _objc_msgSend_367(this.pointer, _sel_initFromBuilder_, builder.pointer); + _objc_msgSend_309(this.pointer, _sel_initFromBuilder_, builder.pointer); return DartProxy.castFromPointer(_ret, retain: true, release: true); } - @override void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } @@ -16389,7 +11903,6 @@ class DartProxy extends NSProxy { return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } - @override void forwardInvocation_(NSInvocation invocation) { _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); } @@ -16402,7 +11915,7 @@ class DartProxy extends NSProxy { late final _class_DartProxy = objc.getClass("DartProxy"); late final _sel_newFromBuilder_ = objc.registerName("newFromBuilder:"); -final _objc_msgSend_367 = objc.msgSendPointer +final _objc_msgSend_309 = objc.msgSendPointer .cast< ffi.NativeFunction< instancetype Function( From c77954321c86bf52ebb702b40fa56e5ae2ee36a8 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 5 Jun 2024 13:41:28 +1200 Subject: [PATCH 23/30] Fix analysis --- .../lib/src/code_generator/compound.dart | 7 ++-- .../objc_built_in_functions.dart | 2 +- .../src/code_generator/objc_interface.dart | 4 ++- .../lib/src/code_generator/objc_methods.dart | 4 ++- .../lib/src/code_generator/objc_protocol.dart | 4 ++- .../ffigen/lib/src/code_generator/struct.dart | 2 +- pkgs/ffigen/lib/src/code_generator/union.dart | 2 +- pkgs/objective_c/ffigen_objc.yaml | 1 - pkgs/objective_c/lib/objective_c.dart | 2 +- .../test/interface_lists_test.dart | 32 +++++++++++++++++++ 10 files changed, 49 insertions(+), 11 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/compound.dart b/pkgs/ffigen/lib/src/code_generator/compound.dart index 025cc61550..c959d89e43 100644 --- a/pkgs/ffigen/lib/src/code_generator/compound.dart +++ b/pkgs/ffigen/lib/src/code_generator/compound.dart @@ -34,7 +34,7 @@ abstract class Compound extends BindingType { bool get isStruct => compoundType == CompoundType.struct; bool get isUnion => compoundType == CompoundType.union; - ObjCBuiltInFunctions objCBuiltInFunctions; + ObjCBuiltInFunctions? objCBuiltInFunctions; Compound({ super.usr, @@ -46,7 +46,7 @@ abstract class Compound extends BindingType { super.dartDoc, List? members, super.isInternal, - required this.objCBuiltInFunctions, + this.objCBuiltInFunctions, }) : members = members ?? []; factory Compound.fromType({ @@ -94,7 +94,8 @@ abstract class Compound extends BindingType { return type.getCType(w); } - bool get _isBuiltIn => objCBuiltInFunctions.isBuiltInInterface(originalName); + bool get _isBuiltIn => + objCBuiltInFunctions?.isBuiltInInterface(originalName) ?? false; @override BindingString toBindingString(Writer w) { diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index b89364e734..d4197a7620 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -66,8 +66,8 @@ class ObjCBuiltInFunctions { 'Protocol', }; static const builtInCompounds = { - 'NSRange', 'NSFastEnumerationState', + 'NSRange', }; // TODO(https://github.com/dart-lang/native/issues/1173): Ideally this check diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 90e69bcadc..e12b1e6b96 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -38,11 +38,13 @@ class ObjCInterface extends BindingType with ObjCMethods { bool filled = false; final String lookupName; - final ObjCBuiltInFunctions builtInFunctions; late final ObjCInternalGlobal _classObject; late final ObjCInternalGlobal _isKindOfClass; late final ObjCMsgSendFunc _isKindOfClassMsgSend; + @override + final ObjCBuiltInFunctions builtInFunctions; + ObjCInterface({ super.usr, required String super.originalName, diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index 90201a89a7..b79c4f4f58 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -204,7 +204,9 @@ class ObjCMethod { Iterable get childTypes sync* { yield returnType; - for (final p in params) yield p.type; + for (final p in params) { + yield p.type; + } } @override diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index c5dfc5784e..59266e4e46 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -11,9 +11,11 @@ import 'writer.dart'; class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final superProtos = []; final String lookupName; - final ObjCBuiltInFunctions builtInFunctions; late final ObjCInternalGlobal _protocolPointer; + @override + final ObjCBuiltInFunctions builtInFunctions; + ObjCProtocol({ super.usr, required String super.originalName, diff --git a/pkgs/ffigen/lib/src/code_generator/struct.dart b/pkgs/ffigen/lib/src/code_generator/struct.dart index 7e67e2ed71..e5e61e8955 100644 --- a/pkgs/ffigen/lib/src/code_generator/struct.dart +++ b/pkgs/ffigen/lib/src/code_generator/struct.dart @@ -38,6 +38,6 @@ class Struct extends Compound { super.dartDoc, super.members, super.isInternal, - required super.objCBuiltInFunctions, + super.objCBuiltInFunctions, }) : super(compoundType: CompoundType.struct); } diff --git a/pkgs/ffigen/lib/src/code_generator/union.dart b/pkgs/ffigen/lib/src/code_generator/union.dart index dc483f43f8..b627e4053c 100644 --- a/pkgs/ffigen/lib/src/code_generator/union.dart +++ b/pkgs/ffigen/lib/src/code_generator/union.dart @@ -36,6 +36,6 @@ class Union extends Compound { super.pack, super.dartDoc, super.members, - required super.objCBuiltInFunctions, + super.objCBuiltInFunctions, }) : super(compoundType: CompoundType.union); } diff --git a/pkgs/objective_c/ffigen_objc.yaml b/pkgs/objective_c/ffigen_objc.yaml index 34e51249da..672b8044a4 100644 --- a/pkgs/objective_c/ffigen_objc.yaml +++ b/pkgs/objective_c/ffigen_objc.yaml @@ -37,7 +37,6 @@ objc-interfaces: - NSNotification - NSNumber - NSObject - - NSProgress - NSProxy - NSSet - NSString diff --git a/pkgs/objective_c/lib/objective_c.dart b/pkgs/objective_c/lib/objective_c.dart index c852fb381f..99778f1e62 100644 --- a/pkgs/objective_c/lib/objective_c.dart +++ b/pkgs/objective_c/lib/objective_c.dart @@ -41,10 +41,10 @@ export 'src/objective_c_bindings_generated.dart' NSMutableIndexSet, NSMutableSet, NSMutableString, + NSFastEnumerationState, NSNotification, NSNumber, NSObject, - NSProgress, NSProxy, NSRange, NSSet, diff --git a/pkgs/objective_c/test/interface_lists_test.dart b/pkgs/objective_c/test/interface_lists_test.dart index 56f896f354..5fa1b47bcb 100644 --- a/pkgs/objective_c/test/interface_lists_test.dart +++ b/pkgs/objective_c/test/interface_lists_test.dart @@ -14,18 +14,29 @@ import 'package:yaml/yaml.dart'; void main() { group('Verify interface lists', () { late List yamlInterfaces; + late List yamlStructs; + setUpAll(() { final yaml = loadYaml(File('ffigen_objc.yaml').readAsStringSync()); yamlInterfaces = yaml['objc-interfaces']['include'] .map((dynamic i) => i as String) .toList() as List ..sort(); + final structRenames = yaml['structs']['rename']; + yamlStructs = yaml['structs']['include'] + .map((dynamic name) => (structRenames[name] ?? name) as String) + .toList() as List + ..sort(); }); test('ObjCBuiltInFunctions.builtInInterfaces', () { expect(ObjCBuiltInFunctions.builtInInterfaces, yamlInterfaces); }); + test('ObjCBuiltInFunctions.builtInStructs', () { + expect(ObjCBuiltInFunctions.builtInCompounds, yamlStructs); + }); + test('package:objective_c exports all the interfaces', () { final exportFile = File('lib/objective_c.dart').readAsStringSync(); for (final intf in yamlInterfaces) { @@ -33,6 +44,13 @@ void main() { } }); + test('package:objective_c exports all the structs', () { + final exportFile = File('lib/objective_c.dart').readAsStringSync(); + for (final struct in yamlStructs) { + expect(exportFile, contains(struct)); + } + }); + test('All code genned interfaces are included in the list', () { final classNameRegExp = RegExp(r'^class (\w+) '); final allClassNames = []; @@ -49,5 +67,19 @@ void main() { allClassNames.sort(); expect(allClassNames, yamlInterfaces); }); + + test('All code genned structs are included in the list', () { + final structNameRegExp = RegExp(r'^final class (\w+) extends ffi\.Struct'); + final allStructNames = []; + for (final line in File('lib/src/objective_c_bindings_generated.dart') + .readAsLinesSync()) { + final match = structNameRegExp.firstMatch(line); + if (match != null) { + allStructNames.add(match[1]!); + } + } + allStructNames.sort(); + expect(allStructNames, yamlStructs); + }); }); } From 93aa9ff26d3284c89955705d1c8ee9616e5f4e16 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 5 Jun 2024 13:45:20 +1200 Subject: [PATCH 24/30] fmt --- pkgs/objective_c/test/interface_lists_test.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/objective_c/test/interface_lists_test.dart b/pkgs/objective_c/test/interface_lists_test.dart index 5fa1b47bcb..fc1570b71e 100644 --- a/pkgs/objective_c/test/interface_lists_test.dart +++ b/pkgs/objective_c/test/interface_lists_test.dart @@ -24,7 +24,8 @@ void main() { ..sort(); final structRenames = yaml['structs']['rename']; yamlStructs = yaml['structs']['include'] - .map((dynamic name) => (structRenames[name] ?? name) as String) + .map( + (dynamic name) => (structRenames[name] ?? name) as String) .toList() as List ..sort(); }); @@ -69,7 +70,8 @@ void main() { }); test('All code genned structs are included in the list', () { - final structNameRegExp = RegExp(r'^final class (\w+) extends ffi\.Struct'); + final structNameRegExp = + RegExp(r'^final class (\w+) extends ffi\.Struct'); final allStructNames = []; for (final line in File('lib/src/objective_c_bindings_generated.dart') .readAsLinesSync()) { From 14b6a81e36eb5221b8c42bd42cc0890a8a1cfcf8 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Mon, 17 Jun 2024 15:46:23 +1200 Subject: [PATCH 25/30] Refactor method implementation flow to eliminate extra void* arg --- .../lib/src/code_generator/objc_block.dart | 5 +- .../src/code_generator/objc_interface.dart | 7 ++- .../lib/src/code_generator/objc_protocol.dart | 42 +++++++++++---- .../test/native_objc_test/protocol_test.dart | 51 +++++++------------ pkgs/objective_c/lib/src/internal.dart | 7 ++- .../objective_c/lib/src/protocol_builder.dart | 41 +++++++++++---- 6 files changed, 95 insertions(+), 58 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_block.dart b/pkgs/ffigen/lib/src/code_generator/objc_block.dart index 573f0aa0af..685aede547 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_block.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_block.dart @@ -62,6 +62,8 @@ class ObjCBlock extends BindingType { return usr.toString(); } + bool get hasListener => returnType == voidType; + @override BindingString toBindingString(Writer w) { final s = StringBuffer(); @@ -71,7 +73,6 @@ class ObjCBlock extends BindingType { params.add(Parameter(name: 'arg$i', type: argTypes[i])); } - final isVoid = returnType == voidType; final voidPtr = PointerType(voidType).getCType(w); final blockPtr = PointerType(objCBlockType); final funcType = FunctionType(returnType: returnType, parameters: params); @@ -171,7 +172,7 @@ class $name extends ${ObjCBuiltInFunctions.blockBase.gen(w)} { '''); // Listener block constructor is only available for void blocks. - if (isVoid) { + if (hasListener) { s.write(''' /// Creates a listener block from a Dart function. /// diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index 57aa77fde9..7c6c54039b 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -73,7 +73,7 @@ class ObjCInterface extends BindingType with ObjCMethods { } final s = StringBuffer(); - s.write(makeDartDoc(dartDoc)); + s.write(makeDartDoc(dartDoc ?? originalName)); final uniqueNamer = UniqueNamer({name, 'pointer'}, parent: w.topLevelUniqueNamer); @@ -84,8 +84,7 @@ class ObjCInterface extends BindingType with ObjCMethods { final superTypeIsInPkgObjc = superType == null; // Class declaration. - s.write(''' -class $name extends ${superType?.getDartType(w) ?? wrapObjType} { + s.write('''class $name extends ${superType?.getDartType(w) ?? wrapObjType} { $name._($rawObjType pointer, {bool retain = false, bool release = false}) : ${superTypeIsInPkgObjc ? 'super' : 'super.castFromPointer'} @@ -126,7 +125,7 @@ class $name extends ${superType?.getDartType(w) ?? wrapObjType} { } // The method declaration. - s.write(makeDartDoc(m.dartDoc)); + s.write(makeDartDoc(m.dartDoc ?? m.originalName)); s.write(' '); if (isStatic) { s.write('static '); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 59266e4e46..856c42a62e 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -44,20 +44,43 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final methodName = method.getDartMethodName(uniqueNamer); final fieldName = methodName; final argName = methodName; - final blockType = method.protocolBlock!.getDartType(w); + final block = method.protocolBlock!; + final blockType = block.getDartType(w); + + // The function type omits the first arg of the block, which is unused. + final func = FunctionType(returnType: block.returnType, parameters: [ + for (int i = 1; i < block.argTypes.length; ++i) + Parameter(name: 'arg$i', type: block.argTypes[i]), + ]); + final funcType = func.getDartType(w); if (method.isOptional) { - buildArgs.add('$blockType? $argName'); + buildArgs.add('$funcType? $argName'); + } else { + buildArgs.add('required $funcType $argName'); + } + + final blockFirstArg = block.argTypes[0].getDartType(w); + final argsReceived = func.parameters + .map((p) => '${p.type.getDartType(w)} ${p.name}') + .join(', '); + final argsPassed = func.parameters.map((p) => p.name).join(', '); + final wrapper = '($blockFirstArg _, $argsReceived) => func($argsPassed)'; + + late final listenerBuilder; + if (block.hasListener) { + listenerBuilder = '(Function func) => $blockType.listener($wrapper)'; } else { - buildArgs.add('required $blockType $argName'); + final msg = '${method.originalName} cannot be a listener because ' + 'it has a non-void return type'; + listenerBuilder = "(Function func) => throw UnsupportedError('$msg')"; } buildImplementations.write(''' builder.implementMethod($name.$fieldName, $argName);'''); - methodFields.write(''' - ${makeDartDoc(method.dartDoc)} - static final $fieldName = $protoMethod( + methodFields.write(makeDartDoc(method.dartDoc ?? method.originalName)); + methodFields.write('''static final $fieldName = $protoMethod( ${method.selObject!.name}, $getSignature( ${_protocolPointer.name}, @@ -65,15 +88,16 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { isRequired: ${method.isRequired}, isInstance: ${method.isInstance}, ), - ($blockBase block) => block is $blockType, + (Function func) => func is $funcType, + (Function func) => $blockType.fromFunction($wrapper), + $listenerBuilder, ); '''); } final args = buildArgs.isEmpty ? '' : '{${buildArgs.join(', ')}}'; final mainString = ''' -${makeDartDoc(dartDoc)} -abstract final class $name { +${makeDartDoc(dartDoc ?? originalName)}abstract final class $name { /// Builds an object that implements the $originalName protocol. To implement /// multiple protocols, use [addToBuilder] or [$protoBuilder] directly. static $objectBase implement($args) { diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index a98b812f4a..32dcf06d3e 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -66,14 +66,12 @@ void main() { final consumer = ProtocolConsumer.new1(); final myProto = MyProtocol.implement( - instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( - (Pointer p, NSString s, double x) { + instanceMethod_withDouble_: (NSString s, double x) { return 'MyProtocol: $s: $x'.toNSString(); - }), - optionalMethod_: - OptionalMethodBlock.fromFunction((Pointer p, SomeStruct s) { + }, + optionalMethod_: (SomeStruct s) { return s.y - s.x; - }), + }, ); // Required instance method. @@ -89,16 +87,14 @@ void main() { final consumer = ProtocolConsumer.new1(); final protoBuilder = ObjCProtocolBuilder(); - MyProtocol.addToBuilder(protoBuilder, instanceMethod_withDouble_: - InstanceMethodBlock.fromFunction( - (Pointer p, NSString s, double x) { + MyProtocol.addToBuilder(protoBuilder, + instanceMethod_withDouble_: (NSString s, double x) { return 'ProtoBuilder: $s: $x'.toNSString(); - })); - SecondaryProtocol.addToBuilder(protoBuilder, otherMethod_b_c_d_: - OtherMethodBlock.fromFunction( - (Pointer p, int a, int b, int c, int d) { + }); + SecondaryProtocol.addToBuilder(protoBuilder, + otherMethod_b_c_d_: (int a, int b, int c, int d) { return a * b * c * d; - })); + }); final protoImpl = protoBuilder.build(); // Required instance method. @@ -115,15 +111,13 @@ void main() { final protoBuilder = ObjCProtocolBuilder(); protoBuilder.implementMethod(MyProtocol.instanceMethod_withDouble_, - InstanceMethodBlock.fromFunction( - (Pointer p, NSString s, double x) { + (NSString s, double x) { return 'ProtoBuilder: $s: $x'.toNSString(); - })); + }); protoBuilder.implementMethod(SecondaryProtocol.otherMethod_b_c_d_, - OtherMethodBlock.fromFunction( - (Pointer p, int a, int b, int c, int d) { + (int a, int b, int c, int d) { return a * b * c * d; - })); + }); final protoImpl = protoBuilder.build(); // Required instance method. @@ -139,10 +133,9 @@ void main() { final consumer = ProtocolConsumer.new1(); final myProto = MyProtocol.implement( - instanceMethod_withDouble_: InstanceMethodBlock.fromFunction( - (Pointer p, NSString s, double x) { + instanceMethod_withDouble_: (NSString s, double x) { throw UnimplementedError(); - }), + }, ); // Optional instance method, not implemented. @@ -214,24 +207,18 @@ void main() { }); test('Threading stress test', () async { - final proxyBuilder = DartProxyBuilder.new1(); final consumer = ProtocolConsumer.new1(); - final proto = getProtocol('MyProtocol'); final completer = Completer(); int count = 0; - final sel = registerName('voidMethod:'); - final signature = getProtocolMethodSignature(proto, sel, - isRequired: false, isInstance: true); - final block = VoidMethodBlock.listener((Pointer p, int x) { + final protoBuilder = ObjCProtocolBuilder(); + protoBuilder.implementMethodAsListener(MyProtocol.voidMethod_, (int x) { expect(x, 123); ++count; if (count == 1000) completer.complete(); }); - proxyBuilder.implementMethod_withSignature_andBlock_( - sel, signature, block.pointer.cast()); - final proxy = DartProxy.newFromBuilder_(proxyBuilder); + final proxy = protoBuilder.build(); for (int i = 0; i < 1000; ++i) { consumer.callMethodOnRandomThread_(proxy); diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index 0fb467dfaf..7501c4ebbb 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -289,9 +289,12 @@ Function getBlockClosure(Pointer block) { class ObjCProtocolMethod { final Pointer sel; final objc.NSMethodSignature signature; - final bool Function(ObjCBlockBase) isCorrectBlockType; + final bool Function(Function) isCorrectFunctionType; + final ObjCBlockBase Function(Function) createBlock; + final ObjCBlockBase Function(Function) createListenerBlock; - ObjCProtocolMethod(this.sel, this.signature, this.isCorrectBlockType); + ObjCProtocolMethod(this.sel, this.signature, this.isCorrectFunctionType, + this.createBlock, this.createListenerBlock); } // Not exported by ../objective_c.dart, because they're only for testing. diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart index 55aa73492c..c004da09f7 100644 --- a/pkgs/objective_c/lib/src/protocol_builder.dart +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -9,23 +9,46 @@ import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; class ObjCProtocolBuilder { final _builder = objc.DartProxyBuilder.new1(); - /// Implement a protocol [method] using a [block]. + /// Implement an ObjC protocol [method] using a Dart [function]. + /// + /// The implemented method must be invoked by ObjC code running on the same + /// thread as the isolate that called [implementMethod]. Invoking the method + /// on the wrong thread will result in a crash. /// /// The recommended way of getting the [method] object is to use ffigen to /// generate bindings for the protocol you want to implement. The generated /// bindings will include a [ObjCProtocolMethod] for each method of the /// protocol. - void implementMethod(ObjCProtocolMethod method, ObjCBlockBase? block) { - if (block != null) { - assert(method.isCorrectBlockType(block)); - _builder.implementMethod_withSignature_andBlock_( - method.sel, method.signature, block.pointer.cast()); - } - } + void implementMethod(ObjCProtocolMethod method, Function? function) => + _implement(method, function, method.createBlock); + + /// Implement an ObjC protocol [method] as a listener using a Dart [function]. + /// + /// This is based on FFI's NativeCallable.listener, and has the same + /// capabilities and limitations. This method can be invoked by ObjC from any + /// thread, but only supports void functions, and is not run synchronously. + /// See NativeCallable.listener for more details. + /// + /// The recommended way of getting the [method] object is to use ffigen to + /// generate bindings for the protocol you want to implement. The generated + /// bindings will include a [ObjCProtocolMethod] for each method of the + /// protocol. + void implementMethodAsListener( + ObjCProtocolMethod method, Function? function) => + _implement(method, function, method.createListenerBlock); /// Builds the object. /// /// This can be called multiple times to construct multiple object instances - /// that all implement the same protocol methods using the same blocks. + /// that all implement the same protocol methods using the same functions. objc.DartProxy build() => objc.DartProxy.newFromBuilder_(_builder); + + void _implement(ObjCProtocolMethod method, Function? function, + ObjCBlockBase Function(Function) blockMaker) { + if (function != null) { + assert(method.isCorrectFunctionType(function)); + _builder.implementMethod_withSignature_andBlock_( + method.sel, method.signature, blockMaker(function).pointer.cast()); + } + } } From a992a082bb8a5f75a47585f14096c11529ae270b Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Mon, 17 Jun 2024 16:28:47 +1200 Subject: [PATCH 26/30] Fix analysis --- pkgs/ffigen/lib/src/code_generator/objc_protocol.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 856c42a62e..0092f50dba 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -31,7 +31,6 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final protoMethod = ObjCBuiltInFunctions.protoMethod.gen(w); final protoBuilder = ObjCBuiltInFunctions.protoBuilder.gen(w); final objectBase = ObjCBuiltInFunctions.objectBase.gen(w); - final blockBase = ObjCBuiltInFunctions.blockBase.gen(w); final getSignature = ObjCBuiltInFunctions.getProtocolMethodSignature.gen(w); final buildArgs = []; @@ -52,7 +51,7 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { for (int i = 1; i < block.argTypes.length; ++i) Parameter(name: 'arg$i', type: block.argTypes[i]), ]); - final funcType = func.getDartType(w); + final funcType = func.getDartType(w, writeArgumentNames: false); if (method.isOptional) { buildArgs.add('$funcType? $argName'); @@ -67,7 +66,7 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final argsPassed = func.parameters.map((p) => p.name).join(', '); final wrapper = '($blockFirstArg _, $argsReceived) => func($argsPassed)'; - late final listenerBuilder; + late final String listenerBuilder; if (block.hasListener) { listenerBuilder = '(Function func) => $blockType.listener($wrapper)'; } else { From e9a627401b390e8aa24982b84f5fbb6d34c79237 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 18 Jun 2024 15:36:03 +1200 Subject: [PATCH 27/30] Daco's comments --- .../objc_built_in_functions.dart | 6 +- .../src/code_generator/objc_interface.dart | 6 +- .../lib/src/code_generator/objc_methods.dart | 10 +- .../lib/src/code_generator/objc_protocol.dart | 50 +- .../lib/src/header_parser/includer.dart | 2 +- .../sub_parsers/objcinterfacedecl_parser.dart | 8 +- .../sub_parsers/objcprotocoldecl_parser.dart | 22 +- pkgs/ffigen/lib/src/header_parser/utils.dart | 9 +- .../ffigen/test/header_parser_tests/typedef.h | 6 +- .../test/native_objc_test/protocol_test.dart | 76 +- .../test/native_objc_test/protocol_test.m | 26 +- .../lib/src/c_bindings_generated.dart | 2 +- pkgs/objective_c/lib/src/internal.dart | 15 +- .../src/objective_c_bindings_generated.dart | 1856 ++++++++++++++--- .../objective_c/lib/src/protocol_builder.dart | 8 +- pkgs/objective_c/src/objective_c_runtime.h | 2 +- 16 files changed, 1703 insertions(+), 401 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart index d4197a7620..f312609abe 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_built_in_functions.dart @@ -27,8 +27,10 @@ class ObjCBuiltInFunctions { static const getProtocol = ObjCImport('getProtocol'); static const objectBase = ObjCImport('ObjCObjectBase'); static const blockBase = ObjCImport('ObjCBlockBase'); - static const protoMethod = ObjCImport('ObjCProtocolMethod'); - static const protoBuilder = ObjCImport('ObjCProtocolBuilder'); + static const protocolMethod = ObjCImport('ObjCProtocolMethod'); + static const protocolListenableMethod = + ObjCImport('ObjCProtocolListenableMethod'); + static const protocolBuilder = ObjCImport('ObjCProtocolBuilder'); static const dartProxy = ObjCImport('DartProxy'); // Keep in sync with pkgs/objective_c/ffigen_objc.yaml. diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index d6c0aa1e94..c93f95da80 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -114,7 +114,7 @@ class ObjCInterface extends BindingType with ObjCMethods { // Methods. for (final m in methods) { final methodName = m.getDartMethodName(uniqueNamer); - final isStatic = m.isClass; + final isStatic = m.isClassMethod; final isStret = m.msgSend!.isStret; var returnType = m.returnType; @@ -245,7 +245,7 @@ class ObjCInterface extends BindingType with ObjCMethods { // method needs to return the subclass, not the super class. // Note: instancetype is only allowed as a return type, not an arg type. for (final m in superType!.methods) { - if (m.isClass && + if (m.isClassMethod && !_excludedNSObjectClassMethods.contains(m.originalName)) { addMethod(m); } else if (ObjCBuiltInFunctions.isInstanceType(m.returnType)) { @@ -264,7 +264,7 @@ class ObjCInterface extends BindingType with ObjCMethods { while (superType_ != null) { for (final method in methods) { final superMethod = superType_.getMethod(method.originalName); - if (superMethod != null && !superMethod.isClass && !method.isClass) { + if (superMethod != null && !superMethod.isClassMethod && !method.isClassMethod) { if (superMethod.returnType.typealiasType is! ObjCNullable && method.returnType.typealiasType is ObjCNullable) { superMethod.returnType = ObjCNullable(superMethod.returnType); diff --git a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart index b79c4f4f58..1876e4bb6c 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_methods.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_methods.dart @@ -115,19 +115,19 @@ class ObjCMethod { Type returnType; final List params; final ObjCMethodKind kind; - final bool isClass; + final bool isClassMethod; final bool isOptional; bool returnsRetained = false; ObjCInternalGlobal? selObject; ObjCMsgSendFunc? msgSend; - ObjCBlock? protocolBlock; + late ObjCBlock protocolBlock; ObjCMethod({ required this.originalName, this.property, this.dartDoc, required this.kind, - required this.isClass, + required this.isClassMethod, required this.isOptional, required this.returnType, List? params_, @@ -137,7 +137,7 @@ class ObjCMethod { kind == ObjCMethodKind.propertyGetter || kind == ObjCMethodKind.propertySetter; bool get isRequired => !isOptional; - bool get isInstance => !isClass; + bool get isInstanceMethod => !isClassMethod; void addDependencies( Set dependencies, @@ -189,7 +189,7 @@ class ObjCMethod { bool sameAs(ObjCMethod other) { if (originalName != other.originalName) return false; if (kind != other.kind) return false; - if (isClass != other.isClass) return false; + if (isClassMethod != other.isClassMethod) return false; if (isOptional != other.isOptional) return false; // msgSend is deduped by signature, so this check covers the signature. return msgSend == other.msgSend; diff --git a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart index 0092f50dba..eec3b90482 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_protocol.dart @@ -9,7 +9,7 @@ import 'utils.dart'; import 'writer.dart'; class ObjCProtocol extends NoLookUpBinding with ObjCMethods { - final superProtos = []; + final superProtocols = []; final String lookupName; late final ObjCInternalGlobal _protocolPointer; @@ -28,8 +28,10 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { @override BindingString toBindingString(Writer w) { - final protoMethod = ObjCBuiltInFunctions.protoMethod.gen(w); - final protoBuilder = ObjCBuiltInFunctions.protoBuilder.gen(w); + final protocolMethod = ObjCBuiltInFunctions.protocolMethod.gen(w); + final protocolListenableMethod = + ObjCBuiltInFunctions.protocolListenableMethod.gen(w); + final protocolBuilder = ObjCBuiltInFunctions.protocolBuilder.gen(w); final objectBase = ObjCBuiltInFunctions.objectBase.gen(w); final getSignature = ObjCBuiltInFunctions.getProtocolMethodSignature.gen(w); @@ -43,8 +45,10 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final methodName = method.getDartMethodName(uniqueNamer); final fieldName = methodName; final argName = methodName; - final block = method.protocolBlock!; + final block = method.protocolBlock; final blockType = block.getDartType(w); + final methodCtor = + block.hasListener ? protocolListenableMethod : protocolMethod; // The function type omits the first arg of the block, which is unused. final func = FunctionType(returnType: block.returnType, parameters: [ @@ -66,30 +70,26 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final argsPassed = func.parameters.map((p) => p.name).join(', '); final wrapper = '($blockFirstArg _, $argsReceived) => func($argsPassed)'; - late final String listenerBuilder; + String listenerBuilder = ''; if (block.hasListener) { - listenerBuilder = '(Function func) => $blockType.listener($wrapper)'; - } else { - final msg = '${method.originalName} cannot be a listener because ' - 'it has a non-void return type'; - listenerBuilder = "(Function func) => throw UnsupportedError('$msg')"; + listenerBuilder = '(Function func) => $blockType.listener($wrapper),'; } buildImplementations.write(''' builder.implementMethod($name.$fieldName, $argName);'''); methodFields.write(makeDartDoc(method.dartDoc ?? method.originalName)); - methodFields.write('''static final $fieldName = $protoMethod( + methodFields.write('''static final $fieldName = $methodCtor( ${method.selObject!.name}, $getSignature( ${_protocolPointer.name}, ${method.selObject!.name}, isRequired: ${method.isRequired}, - isInstance: ${method.isInstance}, + isInstanceMethod: ${method.isInstanceMethod}, ), (Function func) => func is $funcType, (Function func) => $blockType.fromFunction($wrapper), - $listenerBuilder, + $listenerBuilder ); '''); } @@ -98,16 +98,16 @@ class ObjCProtocol extends NoLookUpBinding with ObjCMethods { final mainString = ''' ${makeDartDoc(dartDoc ?? originalName)}abstract final class $name { /// Builds an object that implements the $originalName protocol. To implement - /// multiple protocols, use [addToBuilder] or [$protoBuilder] directly. + /// multiple protocols, use [addToBuilder] or [$protocolBuilder] directly. static $objectBase implement($args) { - final builder = $protoBuilder(); + final builder = $protocolBuilder(); $buildImplementations return builder.build(); } /// Adds the implementation of the $originalName protocol to an existing - /// [$protoBuilder]. - static void addToBuilder($protoBuilder builder, $args) { + /// [$protocolBuilder]. + static void addToBuilder($protocolBuilder builder, $args) { $buildImplementations } @@ -125,27 +125,27 @@ ${makeDartDoc(dartDoc ?? originalName)}abstract final class $name { dependencies.add(this); _protocolPointer = ObjCInternalGlobal( - '_proto_$originalName', + '_protocol_$originalName', (Writer w) => '${ObjCBuiltInFunctions.getProtocol.gen(w)}("$lookupName")') ..addDependencies(dependencies); - for (final superProto in superProtos) { - superProto.addDependencies(dependencies); + for (final superProtocol in superProtocols) { + superProtocol.addDependencies(dependencies); } addMethodDependencies(dependencies, needProtocolBlock: true); - for (final superProto in superProtos) { - _copyMethodsFromSuperType(superProto); + for (final superProtocol in superProtocols) { + _copyMethodsFromSuperType(superProtocol); } // Add dependencies for any methods that were added. addMethodDependencies(dependencies, needProtocolBlock: true); } - void _copyMethodsFromSuperType(ObjCProtocol superProto) { - if (builtInFunctions.isNSObject(superProto.originalName)) { + void _copyMethodsFromSuperType(ObjCProtocol superProtocol) { + if (builtInFunctions.isNSObject(superProtocol.originalName)) { // When writing a protocol that doesn't inherit from any other protocols, // it's typical to have it inherit from NSObject instead. But NSObject has // heaps of methods that users are very unlikely to want to implement, so @@ -157,7 +157,7 @@ ${makeDartDoc(dartDoc ?? originalName)}abstract final class $name { // Protocols have very different inheritance semantics than Dart classes. // So copy across all the methods explicitly, rather than trying to use Dart // inheritance to get them implicitly. - for (final method in superProto.methods) { + for (final method in superProtocol.methods) { addMethod(method); } } diff --git a/pkgs/ffigen/lib/src/header_parser/includer.dart b/pkgs/ffigen/lib/src/header_parser/includer.dart index 009c4e7aca..e988fc65ef 100644 --- a/pkgs/ffigen/lib/src/header_parser/includer.dart +++ b/pkgs/ffigen/lib/src/header_parser/includer.dart @@ -76,7 +76,7 @@ bool shouldIncludeObjCInterface(String usr, String name) { } bool shouldIncludeObjCProtocol(String usr, String name) { - return _shouldIncludeDecl(usr, name, bindingsIndex.isSeenObjCProto, + return _shouldIncludeDecl(usr, name, bindingsIndex.isSeenObjCProtocol, config.objcProtocols.shouldInclude); } diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart index 31fd1cdb38..1d7fa1a84e 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcinterfacedecl_parser.dart @@ -116,7 +116,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { final propertyAttributes = clang.clang_Cursor_getObjCPropertyAttributes(cursor, 0); - final isClass = propertyAttributes & + final isClassMethod = propertyAttributes & clang_types.CXObjCPropertyAttrKind.CXObjCPropertyAttr_class > 0; final isReadOnly = propertyAttributes & @@ -136,7 +136,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { property: property, dartDoc: dartDoc, kind: ObjCMethodKind.propertyGetter, - isClass: isClass, + isClassMethod: isClassMethod, isOptional: isOptionalMethod, returnType: fieldType, ); @@ -151,7 +151,7 @@ void _parseProperty(clang_types.CXCursor cursor, ObjCInterface itf) { property: property, dartDoc: dartDoc, kind: ObjCMethodKind.propertySetter, - isClass: isClass, + isClassMethod: isClassMethod, isOptional: isOptionalMethod, returnType: NativeType(SupportedNativeType.Void)); setter.params.add(ObjCMethodParam(fieldType, 'value')); @@ -182,7 +182,7 @@ ObjCMethod? parseObjCMethod(clang_types.CXCursor cursor, String itfName) { originalName: methodName, dartDoc: getCursorDocComment(cursor), kind: ObjCMethodKind.method, - isClass: isClassMethod, + isClassMethod: isClassMethod, isOptional: isOptionalMethod, returnType: returnType, ); diff --git a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart index 915634f84d..fa257ab2e1 100644 --- a/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart +++ b/pkgs/ffigen/lib/src/header_parser/sub_parsers/objcprotocoldecl_parser.dart @@ -20,9 +20,9 @@ ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, } final usr = cursor.usr(); - final cachedProto = bindingsIndex.getSeenObjCProto(usr); - if (cachedProto != null) { - return cachedProto; + final cachedProtocol = bindingsIndex.getSeenObjCProtocol(usr); + if (cachedProtocol != null) { + return cachedProtocol; } final name = cursor.spelling(); @@ -34,7 +34,7 @@ ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, _logger.fine('++++ Adding ObjC protocol: ' 'Name: $name, ${cursor.completeStringRepr()}'); - final proto = ObjCProtocol( + final protocol = ObjCProtocol( usr: usr, originalName: name, name: config.objcProtocols.renameUsingConfig(name), @@ -43,29 +43,29 @@ ObjCProtocol? parseObjCProtocolDeclaration(clang_types.CXCursor cursor, builtInFunctions: objCBuiltInFunctions, ); - // Make sure to add the proto to the index before parsing the AST, to break + // Make sure to add the protocol to the index before parsing the AST, to break // cycles. - bindingsIndex.addObjCProtoToSeen(usr, proto); + bindingsIndex.addObjCProtocolToSeen(usr, protocol); cursor.visitChildren((child) { switch (child.kind) { case clang_types.CXCursorKind.CXCursor_ObjCProtocolRef: final decl = clang.clang_getCursorDefinition(child); _logger.fine(' > Super protocol: ${decl.completeStringRepr()}'); - final superProto = + final superProtocol = parseObjCProtocolDeclaration(decl, ignoreFilter: true); - if (superProto != null) { - proto.superProtos.add(superProto); + if (superProtocol != null) { + protocol.superProtocols.add(superProtocol); } break; case clang_types.CXCursorKind.CXCursor_ObjCInstanceMethodDecl: case clang_types.CXCursorKind.CXCursor_ObjCClassMethodDecl: final method = parseObjCMethod(child, name); if (method != null) { - proto.addMethod(method); + protocol.addMethod(method); } break; } }); - return proto; + return protocol; } diff --git a/pkgs/ffigen/lib/src/header_parser/utils.dart b/pkgs/ffigen/lib/src/header_parser/utils.dart index 3c45b435a4..2fd34f457a 100644 --- a/pkgs/ffigen/lib/src/header_parser/utils.dart +++ b/pkgs/ffigen/lib/src/header_parser/utils.dart @@ -437,7 +437,7 @@ class BindingsIndex { final Map _macros = {}; final Map _globals = {}; final Map _objcBlocks = {}; - final Map _objcProtos = {}; + final Map _objcProtocols = {}; /// Contains usr for typedefs which cannot be generated. final Set _unsupportedTypealiases = {}; @@ -473,9 +473,10 @@ class BindingsIndex { bool? getSeenHeaderStatus(String source) => _headerCache[source]; void addObjCBlockToSeen(String key, ObjCBlock t) => _objcBlocks[key] = t; ObjCBlock? getSeenObjCBlock(String key) => _objcBlocks[key]; - void addObjCProtoToSeen(String usr, ObjCProtocol t) => _objcProtos[usr] = t; - ObjCProtocol? getSeenObjCProto(String usr) => _objcProtos[usr]; - bool isSeenObjCProto(String usr) => _objcProtos.containsKey(usr); + void addObjCProtocolToSeen(String usr, ObjCProtocol t) => + _objcProtocols[usr] = t; + ObjCProtocol? getSeenObjCProtocol(String usr) => _objcProtocols[usr]; + bool isSeenObjCProtocol(String usr) => _objcProtocols.containsKey(usr); } class CursorIndex { diff --git a/pkgs/ffigen/test/header_parser_tests/typedef.h b/pkgs/ffigen/test/header_parser_tests/typedef.h index 5e4f7fb3b5..6e57ac97eb 100644 --- a/pkgs/ffigen/test/header_parser_tests/typedef.h +++ b/pkgs/ffigen/test/header_parser_tests/typedef.h @@ -4,15 +4,15 @@ #include -typedef void (*NamedFunctionProto)(); +typedef void (*NamedFunctionProtocol)(); struct Struct1 { - NamedFunctionProto named; + NamedFunctionProtocol named; void (*unnamed)(); }; -extern NamedFunctionProto func1(NamedFunctionProto named, void (*unnamed)(int)); +extern NamedFunctionProtocol func1(NamedFunctionProtocol named, void (*unnamed)(int)); typedef struct { diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 32dcf06d3e..753adcc02d 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -35,28 +35,28 @@ void main() { group('ObjC implementation', () { test('Method implementation', () { - final protoImpl = ObjCProtocolImpl.new1(); + final protocolImpl = ObjCProtocolImpl.new1(); final consumer = ProtocolConsumer.new1(); // Required instance method. - final result = consumer.callInstanceMethod_(protoImpl); + final result = consumer.callInstanceMethod_(protocolImpl); expect(result.toString(), 'ObjCProtocolImpl: Hello from ObjC: 3.14'); // Optional instance method. - final intResult = consumer.callOptionalMethod_(protoImpl); + final intResult = consumer.callOptionalMethod_(protocolImpl); expect(intResult, 579); // Required instance method from secondary protocol. - final otherIntResult = consumer.callOtherMethod_(protoImpl); + final otherIntResult = consumer.callOtherMethod_(protocolImpl); expect(otherIntResult, 10); }); test('Unimplemented method', () { - final protoImpl = ObjCProtocolImplMissingMethod.new1(); + final protocolImpl = ObjCProtocolImplMissingMethod.new1(); final consumer = ProtocolConsumer.new1(); // Optional instance method, not implemented. - final intResult = consumer.callOptionalMethod_(protoImpl); + final intResult = consumer.callOptionalMethod_(protocolImpl); expect(intResult, -999); }); }); @@ -65,7 +65,7 @@ void main() { test('Method implementation', () { final consumer = ProtocolConsumer.new1(); - final myProto = MyProtocol.implement( + final myProtocol = MyProtocol.implement( instanceMethod_withDouble_: (NSString s, double x) { return 'MyProtocol: $s: $x'.toNSString(); }, @@ -75,71 +75,71 @@ void main() { ); // Required instance method. - final result = consumer.callInstanceMethod_(myProto); + final result = consumer.callInstanceMethod_(myProtocol); expect(result.toString(), 'MyProtocol: Hello from ObjC: 3.14'); // Optional instance method. - final intResult = consumer.callOptionalMethod_(myProto); + final intResult = consumer.callOptionalMethod_(myProtocol); expect(intResult, 333); }); test('Multiple protocol implementation', () { final consumer = ProtocolConsumer.new1(); - final protoBuilder = ObjCProtocolBuilder(); - MyProtocol.addToBuilder(protoBuilder, + final protocolBuilder = ObjCProtocolBuilder(); + MyProtocol.addToBuilder(protocolBuilder, instanceMethod_withDouble_: (NSString s, double x) { - return 'ProtoBuilder: $s: $x'.toNSString(); + return 'ProtocolBuilder: $s: $x'.toNSString(); }); - SecondaryProtocol.addToBuilder(protoBuilder, + SecondaryProtocol.addToBuilder(protocolBuilder, otherMethod_b_c_d_: (int a, int b, int c, int d) { return a * b * c * d; }); - final protoImpl = protoBuilder.build(); + final protocolImpl = protocolBuilder.build(); // Required instance method. - final result = consumer.callInstanceMethod_(protoImpl); - expect(result.toString(), 'ProtoBuilder: Hello from ObjC: 3.14'); + final result = consumer.callInstanceMethod_(protocolImpl); + expect(result.toString(), 'ProtocolBuilder: Hello from ObjC: 3.14'); // Required instance method from secondary protocol. - final otherIntResult = consumer.callOtherMethod_(protoImpl); + final otherIntResult = consumer.callOtherMethod_(protocolImpl); expect(otherIntResult, 24); }); test('Multiple protocol implementation using method fields', () { final consumer = ProtocolConsumer.new1(); - final protoBuilder = ObjCProtocolBuilder(); - protoBuilder.implementMethod(MyProtocol.instanceMethod_withDouble_, + final protocolBuilder = ObjCProtocolBuilder(); + protocolBuilder.implementMethod(MyProtocol.instanceMethod_withDouble_, (NSString s, double x) { - return 'ProtoBuilder: $s: $x'.toNSString(); + return 'ProtocolBuilder: $s: $x'.toNSString(); }); - protoBuilder.implementMethod(SecondaryProtocol.otherMethod_b_c_d_, + protocolBuilder.implementMethod(SecondaryProtocol.otherMethod_b_c_d_, (int a, int b, int c, int d) { return a * b * c * d; }); - final protoImpl = protoBuilder.build(); + final protocolImpl = protocolBuilder.build(); // Required instance method. - final result = consumer.callInstanceMethod_(protoImpl); - expect(result.toString(), 'ProtoBuilder: Hello from ObjC: 3.14'); + final result = consumer.callInstanceMethod_(protocolImpl); + expect(result.toString(), 'ProtocolBuilder: Hello from ObjC: 3.14'); // Required instance method from secondary protocol. - final otherIntResult = consumer.callOtherMethod_(protoImpl); + final otherIntResult = consumer.callOtherMethod_(protocolImpl); expect(otherIntResult, 24); }); test('Unimplemented method', () { final consumer = ProtocolConsumer.new1(); - final myProto = MyProtocol.implement( + final myProtocol = MyProtocol.implement( instanceMethod_withDouble_: (NSString s, double x) { throw UnimplementedError(); }, ); // Optional instance method, not implemented. - final intResult = consumer.callOptionalMethod_(myProto); + final intResult = consumer.callOptionalMethod_(myProtocol); expect(intResult, -999); }); }); @@ -148,11 +148,11 @@ void main() { test('Method implementation', () { final proxyBuilder = DartProxyBuilder.new1(); final consumer = ProtocolConsumer.new1(); - final proto = getProtocol('MyProtocol'); - final secondProto = getProtocol('SecondaryProtocol'); + final protocol = getProtocol('MyProtocol'); + final secondProtocol = getProtocol('SecondaryProtocol'); final sel = registerName('instanceMethod:withDouble:'); - final signature = getProtocolMethodSignature(proto, sel, + final signature = getProtocolMethodSignature(protocol, sel, isRequired: true, isInstance: true); final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { @@ -162,7 +162,7 @@ void main() { sel, signature, block.pointer.cast()); final optSel = registerName('optionalMethod:'); - final optSignature = getProtocolMethodSignature(proto, optSel, + final optSignature = getProtocolMethodSignature(protocol, optSel, isRequired: false, isInstance: true); final optBlock = OptionalMethodBlock.fromFunction((Pointer p, SomeStruct s) { @@ -172,7 +172,8 @@ void main() { optSel, optSignature, optBlock.pointer.cast()); final otherSel = registerName('otherMethod:b:c:d:'); - final otherSignature = getProtocolMethodSignature(secondProto, otherSel, + final otherSignature = getProtocolMethodSignature( + secondProtocol, otherSel, isRequired: true, isInstance: true); final otherBlock = OtherMethodBlock.fromFunction( (Pointer p, int a, int b, int c, int d) { @@ -211,14 +212,15 @@ void main() { final completer = Completer(); int count = 0; - final protoBuilder = ObjCProtocolBuilder(); - protoBuilder.implementMethodAsListener(MyProtocol.voidMethod_, (int x) { + final protocolBuilder = ObjCProtocolBuilder(); + protocolBuilder.implementMethodAsListener(MyProtocol.voidMethod_, + (int x) { expect(x, 123); ++count; if (count == 1000) completer.complete(); }); - final proxy = protoBuilder.build(); + final proxy = protocolBuilder.build(); for (int i = 0; i < 1000; ++i) { consumer.callMethodOnRandomThread_(proxy); @@ -229,10 +231,10 @@ void main() { (DartProxy, Pointer) blockRefCountTestInner() { final proxyBuilder = DartProxyBuilder.new1(); - final proto = getProtocol('MyProtocol'); + final protocol = getProtocol('MyProtocol'); final sel = registerName('instanceMethod:withDouble:'); - final signature = getProtocolMethodSignature(proto, sel, + final signature = getProtocolMethodSignature(protocol, sel, isRequired: true, isInstance: true); final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) => 'Hello'.toNSString()); diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.m b/pkgs/ffigen/test/native_objc_test/protocol_test.m index 9366a358e6..015d991a0b 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.m +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.m @@ -46,33 +46,33 @@ @protocol EmptyProtocol @interface ProtocolConsumer : NSObject -- (NSString*)callInstanceMethod:(id)proto; -- (int32_t)callOptionalMethod:(id)proto; -- (int32_t)callOtherMethod:(id)proto; -- (void)callMethodOnRandomThread:(id)proto; +- (NSString*)callInstanceMethod:(id)protocol; +- (int32_t)callOptionalMethod:(id)protocol; +- (int32_t)callOtherMethod:(id)protocol; +- (void)callMethodOnRandomThread:(id)protocol; @end @implementation ProtocolConsumer : NSObject -- (NSString*)callInstanceMethod:(id)proto { - return [proto instanceMethod:@"Hello from ObjC" withDouble:3.14]; +- (NSString*)callInstanceMethod:(id)protocol { + return [protocol instanceMethod:@"Hello from ObjC" withDouble:3.14]; } -- (int32_t)callOptionalMethod:(id)proto { - if ([proto respondsToSelector:@selector(optionalMethod:)]) { +- (int32_t)callOptionalMethod:(id)protocol { + if ([protocol respondsToSelector:@selector(optionalMethod:)]) { SomeStruct s = {123, 456}; - return [proto optionalMethod:s]; + return [protocol optionalMethod:s]; } else { return -999; } } -- (int32_t)callOtherMethod:(id)proto { - return [proto otherMethod:1 b:2 c:3 d:4]; +- (int32_t)callOtherMethod:(id)protocol { + return [protocol otherMethod:1 b:2 c:3 d:4]; } -- (void)callMethodOnRandomThread:(id)proto { +- (void)callMethodOnRandomThread:(id)protocol { dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{ - [proto voidMethod:123]; + [protocol voidMethod:123]; }); } @end diff --git a/pkgs/objective_c/lib/src/c_bindings_generated.dart b/pkgs/objective_c/lib/src/c_bindings_generated.dart index 450ba5970f..e4ff5143a1 100644 --- a/pkgs/objective_c/lib/src/c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/c_bindings_generated.dart @@ -129,7 +129,7 @@ external ffi.Pointer getProtocol( ffi.Bool, ffi.Bool)>(symbol: "protocol_getMethodDescription", isLeaf: true) external ObjCMethodDesc getMethodDescription( - ffi.Pointer proto, + ffi.Pointer protocol, ffi.Pointer sel, bool isRequiredMethod, bool isInstanceMethod, diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index 7501c4ebbb..658c711d3f 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -45,10 +45,10 @@ objc.NSMethodSignature getProtocolMethodSignature( Pointer protocol, Pointer sel, { required bool isRequired, - required bool isInstance, + required bool isInstanceMethod, }) { final sig = - c.getMethodDescription(protocol, sel, isRequired, isInstance).types; + c.getMethodDescription(protocol, sel, isRequired, isInstanceMethod).types; if (sig == nullptr) { throw Exception('Failed to load method of Objective-C protocol'); } @@ -291,10 +291,17 @@ class ObjCProtocolMethod { final objc.NSMethodSignature signature; final bool Function(Function) isCorrectFunctionType; final ObjCBlockBase Function(Function) createBlock; - final ObjCBlockBase Function(Function) createListenerBlock; ObjCProtocolMethod(this.sel, this.signature, this.isCorrectFunctionType, - this.createBlock, this.createListenerBlock); + this.createBlock); +} + +/// Only for use by ffigen bindings. +class ObjCProtocolListenableMethod extends ObjCProtocolMethod { + final ObjCBlockBase Function(Function) createListenerBlock; + + ObjCProtocolListenableMethod(super.sel, super.signature, + super.isCorrectFunctionType, super.createBlock, this.createListenerBlock); } // Not exported by ../objective_c.dart, because they're only for testing. diff --git a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart index c60fb8b760..507dd03c06 100644 --- a/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart +++ b/pkgs/objective_c/lib/src/objective_c_bindings_generated.dart @@ -19,6 +19,7 @@ import 'package:ffi/ffi.dart' as pkg_ffi; import 'dart:ffi' as ffi; import '../objective_c.dart' as objc; +/// NSObject class NSObject extends objc.ObjCObjectBase { NSObject._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -38,89 +39,107 @@ class NSObject extends objc.ObjCObjectBase { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSObject); } + /// load static void load() { _objc_msgSend_1(_class_NSObject, _sel_load); } + /// initialize static void initialize() { _objc_msgSend_1(_class_NSObject, _sel_initialize); } + /// init NSObject init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSObject.castFromPointer(_ret, retain: true, release: true); } + /// new static NSObject new1() { final _ret = _objc_msgSend_2(_class_NSObject, _sel_new); return NSObject.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSObject allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSObject, _sel_allocWithZone_, zone); return NSObject.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSObject alloc() { final _ret = _objc_msgSend_2(_class_NSObject, _sel_alloc); return NSObject.castFromPointer(_ret, retain: false, release: true); } + /// dealloc void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } + /// finalize void finalize() { _objc_msgSend_1(this.pointer, _sel_finalize); } + /// copy objc.ObjCObjectBase copy() { final _ret = _objc_msgSend_2(this.pointer, _sel_copy); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// mutableCopy objc.ObjCObjectBase mutableCopy() { final _ret = _objc_msgSend_2(this.pointer, _sel_mutableCopy); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// copyWithZone: static objc.ObjCObjectBase copyWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSObject, _sel_copyWithZone_, zone); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// mutableCopyWithZone: static objc.ObjCObjectBase mutableCopyWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSObject, _sel_mutableCopyWithZone_, zone); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// instancesRespondToSelector: static bool instancesRespondToSelector_( ffi.Pointer aSelector) { return _objc_msgSend_4( _class_NSObject, _sel_instancesRespondToSelector_, aSelector); } + /// conformsToProtocol: static bool conformsToProtocol_(Protocol protocol) { return _objc_msgSend_5( _class_NSObject, _sel_conformsToProtocol_, protocol.pointer); } + /// methodForSelector: ffi.Pointer> methodForSelector_( ffi.Pointer aSelector) { return _objc_msgSend_6(this.pointer, _sel_methodForSelector_, aSelector); } + /// instanceMethodForSelector: static ffi.Pointer> instanceMethodForSelector_(ffi.Pointer aSelector) { return _objc_msgSend_6( _class_NSObject, _sel_instanceMethodForSelector_, aSelector); } + /// doesNotRecognizeSelector: void doesNotRecognizeSelector_(ffi.Pointer aSelector) { _objc_msgSend_7(this.pointer, _sel_doesNotRecognizeSelector_, aSelector); } + /// forwardingTargetForSelector: objc.ObjCObjectBase forwardingTargetForSelector_( ffi.Pointer aSelector) { final _ret = _objc_msgSend_8( @@ -128,11 +147,13 @@ class NSObject extends objc.ObjCObjectBase { return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// forwardInvocation: void forwardInvocation_(NSInvocation anInvocation) { _objc_msgSend_9( this.pointer, _sel_forwardInvocation_, anInvocation.pointer); } + /// methodSignatureForSelector: NSMethodSignature methodSignatureForSelector_( ffi.Pointer aSelector) { final _ret = _objc_msgSend_15( @@ -140,6 +161,7 @@ class NSObject extends objc.ObjCObjectBase { return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// instanceMethodSignatureForSelector: static NSMethodSignature instanceMethodSignatureForSelector_( ffi.Pointer aSelector) { final _ret = _objc_msgSend_15( @@ -147,64 +169,78 @@ class NSObject extends objc.ObjCObjectBase { return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// allowsWeakReference bool allowsWeakReference() { return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); } + /// retainWeakReference bool retainWeakReference() { return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); } + /// isSubclassOfClass: static bool isSubclassOfClass_(objc.ObjCObjectBase aClass) { return _objc_msgSend_0( _class_NSObject, _sel_isSubclassOfClass_, aClass.pointer); } + /// resolveClassMethod: static bool resolveClassMethod_(ffi.Pointer sel) { return _objc_msgSend_4(_class_NSObject, _sel_resolveClassMethod_, sel); } + /// resolveInstanceMethod: static bool resolveInstanceMethod_(ffi.Pointer sel) { return _objc_msgSend_4(_class_NSObject, _sel_resolveInstanceMethod_, sel); } + /// hash static int hash() { return _objc_msgSend_11(_class_NSObject, _sel_hash); } + /// superclass static objc.ObjCObjectBase superclass() { final _ret = _objc_msgSend_2(_class_NSObject, _sel_superclass); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// class static objc.ObjCObjectBase class1() { final _ret = _objc_msgSend_2(_class_NSObject, _sel_class); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// description static NSString description() { final _ret = _objc_msgSend_35(_class_NSObject, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// debugDescription static NSString debugDescription() { final _ret = _objc_msgSend_35(_class_NSObject, _sel_debugDescription); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// version static int version() { return _objc_msgSend_79(_class_NSObject, _sel_version); } + /// setVersion: static void setVersion_(int aVersion) { _objc_msgSend_247(_class_NSObject, _sel_setVersion_, aVersion); } + /// classForCoder objc.ObjCObjectBase get classForCoder { final _ret = _objc_msgSend_2(this.pointer, _sel_classForCoder); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// replacementObjectForCoder: objc.ObjCObjectBase? replacementObjectForCoder_(NSCoder coder) { final _ret = _objc_msgSend_17( this.pointer, _sel_replacementObjectForCoder_, coder.pointer); @@ -213,6 +249,7 @@ class NSObject extends objc.ObjCObjectBase { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// awakeAfterUsingCoder: objc.ObjCObjectBase? awakeAfterUsingCoder_(NSCoder coder) { final _ret = _objc_msgSend_17( this.pointer, _sel_awakeAfterUsingCoder_, coder.pointer); @@ -221,15 +258,18 @@ class NSObject extends objc.ObjCObjectBase { : objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// poseAsClass: static void poseAsClass_(objc.ObjCObjectBase aClass) { _objc_msgSend_172(_class_NSObject, _sel_poseAsClass_, aClass.pointer); } + /// autoContentAccessingProxy objc.ObjCObjectBase get autoContentAccessingProxy { final _ret = _objc_msgSend_2(this.pointer, _sel_autoContentAccessingProxy); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// attemptRecoveryFromError:optionIndex:delegate:didRecoverSelector:contextInfo: void attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_( NSError error, @@ -247,6 +287,7 @@ class NSObject extends objc.ObjCObjectBase { contextInfo); } + /// attemptRecoveryFromError:optionIndex: bool attemptRecoveryFromError_optionIndex_( NSError error, int recoveryOptionIndex) { return _objc_msgSend_249( @@ -256,21 +297,25 @@ class NSObject extends objc.ObjCObjectBase { recoveryOptionIndex); } + /// URL:resourceDataDidBecomeAvailable: void URL_resourceDataDidBecomeAvailable_(NSURL sender, NSData newBytes) { _objc_msgSend_250(this.pointer, _sel_URL_resourceDataDidBecomeAvailable_, sender.pointer, newBytes.pointer); } + /// URLResourceDidFinishLoading: void URLResourceDidFinishLoading_(NSURL sender) { _objc_msgSend_251( this.pointer, _sel_URLResourceDidFinishLoading_, sender.pointer); } + /// URLResourceDidCancelLoading: void URLResourceDidCancelLoading_(NSURL sender) { _objc_msgSend_251( this.pointer, _sel_URLResourceDidCancelLoading_, sender.pointer); } + /// URL:resourceDidFailLoadingWithReason: void URL_resourceDidFailLoadingWithReason_(NSURL sender, NSString reason) { _objc_msgSend_252(this.pointer, _sel_URL_resourceDidFailLoadingWithReason_, sender.pointer, reason.pointer); @@ -333,6 +378,7 @@ final _objc_msgSend_4 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +/// Protocol class Protocol extends objc.ObjCObjectBase { Protocol._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -416,6 +462,7 @@ final _objc_msgSend_8 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +/// NSInvocation class NSInvocation extends objc.ObjCObjectBase { NSInvocation._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -450,6 +497,7 @@ final _objc_msgSend_9 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +/// NSMethodSignature class NSMethodSignature extends NSObject { NSMethodSignature._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -470,6 +518,7 @@ class NSMethodSignature extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSMethodSignature); } + /// signatureWithObjCTypes: static NSMethodSignature? signatureWithObjCTypes_( ffi.Pointer types) { final _ret = _objc_msgSend_10( @@ -479,41 +528,50 @@ class NSMethodSignature extends NSObject { : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// numberOfArguments int get numberOfArguments { return _objc_msgSend_11(this.pointer, _sel_numberOfArguments); } + /// getArgumentTypeAtIndex: ffi.Pointer getArgumentTypeAtIndex_(int idx) { return _objc_msgSend_12(this.pointer, _sel_getArgumentTypeAtIndex_, idx); } + /// frameLength int get frameLength { return _objc_msgSend_11(this.pointer, _sel_frameLength); } + /// isOneway bool isOneway() { return _objc_msgSend_13(this.pointer, _sel_isOneway); } + /// methodReturnType ffi.Pointer get methodReturnType { return _objc_msgSend_14(this.pointer, _sel_methodReturnType); } + /// methodReturnLength int get methodReturnLength { return _objc_msgSend_11(this.pointer, _sel_methodReturnLength); } + /// init NSMethodSignature init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// new static NSMethodSignature new1() { final _ret = _objc_msgSend_2(_class_NSMethodSignature, _sel_new); return NSMethodSignature.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMethodSignature allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMethodSignature, _sel_allocWithZone_, zone); @@ -521,6 +579,7 @@ class NSMethodSignature extends NSObject { retain: false, release: true); } + /// alloc static NSMethodSignature alloc() { final _ret = _objc_msgSend_2(_class_NSMethodSignature, _sel_alloc); return NSMethodSignature.castFromPointer(_ret, @@ -602,6 +661,7 @@ late final _sel_hash = objc.registerName("hash"); late final _sel_superclass = objc.registerName("superclass"); late final _sel_class = objc.registerName("class"); +/// NSString class NSString extends NSObject { factory NSString(String str) { final cstr = str.toNativeUtf16(); @@ -635,19 +695,23 @@ class NSString extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSString); } + /// length int get length { return _objc_msgSend_11(this.pointer, _sel_length); } + /// characterAtIndex: int characterAtIndex_(int index) { return _objc_msgSend_16(this.pointer, _sel_characterAtIndex_, index); } + /// init NSString init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSString? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -656,106 +720,139 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// substringFromIndex: NSString substringFromIndex_(int from) { final _ret = _objc_msgSend_18(this.pointer, _sel_substringFromIndex_, from); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// substringToIndex: NSString substringToIndex_(int to) { final _ret = _objc_msgSend_18(this.pointer, _sel_substringToIndex_, to); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// substringWithRange: NSString substringWithRange_(NSRange range) { final _ret = _objc_msgSend_19(this.pointer, _sel_substringWithRange_, range); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// getCharacters:range: void getCharacters_range_( ffi.Pointer buffer, NSRange range) { _objc_msgSend_20(this.pointer, _sel_getCharacters_range_, buffer, range); } - int compare_(NSString string) { - return _objc_msgSend_21(this.pointer, _sel_compare_, string.pointer); + /// compare: + NSComparisonResult compare_(NSString string) { + final _ret = _objc_msgSend_21(this.pointer, _sel_compare_, string.pointer); + return NSComparisonResult.fromValue(_ret); } - int compare_options_(NSString string, int mask) { - return _objc_msgSend_22( - this.pointer, _sel_compare_options_, string.pointer, mask); + /// compare:options: + NSComparisonResult compare_options_( + NSString string, NSStringCompareOptions mask) { + final _ret = _objc_msgSend_22( + this.pointer, _sel_compare_options_, string.pointer, mask.value); + return NSComparisonResult.fromValue(_ret); } - int compare_options_range_( - NSString string, int mask, NSRange rangeOfReceiverToCompare) { - return _objc_msgSend_23(this.pointer, _sel_compare_options_range_, - string.pointer, mask, rangeOfReceiverToCompare); + /// compare:options:range: + NSComparisonResult compare_options_range_(NSString string, + NSStringCompareOptions mask, NSRange rangeOfReceiverToCompare) { + final _ret = _objc_msgSend_23(this.pointer, _sel_compare_options_range_, + string.pointer, mask.value, rangeOfReceiverToCompare); + return NSComparisonResult.fromValue(_ret); } - int compare_options_range_locale_(NSString string, int mask, - NSRange rangeOfReceiverToCompare, objc.ObjCObjectBase? locale) { - return _objc_msgSend_24( + /// compare:options:range:locale: + NSComparisonResult compare_options_range_locale_( + NSString string, + NSStringCompareOptions mask, + NSRange rangeOfReceiverToCompare, + objc.ObjCObjectBase? locale) { + final _ret = _objc_msgSend_24( this.pointer, _sel_compare_options_range_locale_, string.pointer, - mask, + mask.value, rangeOfReceiverToCompare, locale?.pointer ?? ffi.nullptr); + return NSComparisonResult.fromValue(_ret); } - int caseInsensitiveCompare_(NSString string) { - return _objc_msgSend_21( + /// caseInsensitiveCompare: + NSComparisonResult caseInsensitiveCompare_(NSString string) { + final _ret = _objc_msgSend_21( this.pointer, _sel_caseInsensitiveCompare_, string.pointer); + return NSComparisonResult.fromValue(_ret); } - int localizedCompare_(NSString string) { - return _objc_msgSend_21( - this.pointer, _sel_localizedCompare_, string.pointer); + /// localizedCompare: + NSComparisonResult localizedCompare_(NSString string) { + final _ret = + _objc_msgSend_21(this.pointer, _sel_localizedCompare_, string.pointer); + return NSComparisonResult.fromValue(_ret); } - int localizedCaseInsensitiveCompare_(NSString string) { - return _objc_msgSend_21( + /// localizedCaseInsensitiveCompare: + NSComparisonResult localizedCaseInsensitiveCompare_(NSString string) { + final _ret = _objc_msgSend_21( this.pointer, _sel_localizedCaseInsensitiveCompare_, string.pointer); + return NSComparisonResult.fromValue(_ret); } - int localizedStandardCompare_(NSString string) { - return _objc_msgSend_21( + /// localizedStandardCompare: + NSComparisonResult localizedStandardCompare_(NSString string) { + final _ret = _objc_msgSend_21( this.pointer, _sel_localizedStandardCompare_, string.pointer); + return NSComparisonResult.fromValue(_ret); } + /// isEqualToString: bool isEqualToString_(NSString aString) { return _objc_msgSend_25( this.pointer, _sel_isEqualToString_, aString.pointer); } + /// hasPrefix: bool hasPrefix_(NSString str) { return _objc_msgSend_25(this.pointer, _sel_hasPrefix_, str.pointer); } + /// hasSuffix: bool hasSuffix_(NSString str) { return _objc_msgSend_25(this.pointer, _sel_hasSuffix_, str.pointer); } - NSString commonPrefixWithString_options_(NSString str, int mask) { - final _ret = _objc_msgSend_26( - this.pointer, _sel_commonPrefixWithString_options_, str.pointer, mask); + /// commonPrefixWithString:options: + NSString commonPrefixWithString_options_( + NSString str, NSStringCompareOptions mask) { + final _ret = _objc_msgSend_26(this.pointer, + _sel_commonPrefixWithString_options_, str.pointer, mask.value); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// containsString: bool containsString_(NSString str) { return _objc_msgSend_25(this.pointer, _sel_containsString_, str.pointer); } + /// localizedCaseInsensitiveContainsString: bool localizedCaseInsensitiveContainsString_(NSString str) { return _objc_msgSend_25(this.pointer, _sel_localizedCaseInsensitiveContainsString_, str.pointer); } + /// localizedStandardContainsString: bool localizedStandardContainsString_(NSString str) { return _objc_msgSend_25( this.pointer, _sel_localizedStandardContainsString_, str.pointer); } + /// localizedStandardRangeOfString: void localizedStandardRangeOfString_( ffi.Pointer stret, NSString str) { objc.useMsgSendVariants @@ -765,6 +862,7 @@ class NSString extends NSObject { this.pointer, _sel_localizedStandardRangeOfString_, str.pointer); } + /// rangeOfString: void rangeOfString_(ffi.Pointer stret, NSString searchString) { objc.useMsgSendVariants ? _objc_msgSend_27Stret( @@ -773,37 +871,43 @@ class NSString extends NSObject { this.pointer, _sel_rangeOfString_, searchString.pointer); } - void rangeOfString_options_( - ffi.Pointer stret, NSString searchString, int mask) { + /// rangeOfString:options: + void rangeOfString_options_(ffi.Pointer stret, NSString searchString, + NSStringCompareOptions mask) { objc.useMsgSendVariants ? _objc_msgSend_28Stret(stret, this.pointer, - _sel_rangeOfString_options_, searchString.pointer, mask) + _sel_rangeOfString_options_, searchString.pointer, mask.value) : stret.ref = _objc_msgSend_28(this.pointer, - _sel_rangeOfString_options_, searchString.pointer, mask); + _sel_rangeOfString_options_, searchString.pointer, mask.value); } - void rangeOfString_options_range_(ffi.Pointer stret, - NSString searchString, int mask, NSRange rangeOfReceiverToSearch) { + /// rangeOfString:options:range: + void rangeOfString_options_range_( + ffi.Pointer stret, + NSString searchString, + NSStringCompareOptions mask, + NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants ? _objc_msgSend_29Stret( stret, this.pointer, _sel_rangeOfString_options_range_, searchString.pointer, - mask, + mask.value, rangeOfReceiverToSearch) : stret.ref = _objc_msgSend_29( this.pointer, _sel_rangeOfString_options_range_, searchString.pointer, - mask, + mask.value, rangeOfReceiverToSearch); } + /// rangeOfString:options:range:locale: void rangeOfString_options_range_locale_( ffi.Pointer stret, NSString searchString, - int mask, + NSStringCompareOptions mask, NSRange rangeOfReceiverToSearch, NSLocale? locale) { objc.useMsgSendVariants @@ -812,18 +916,19 @@ class NSString extends NSObject { this.pointer, _sel_rangeOfString_options_range_locale_, searchString.pointer, - mask, + mask.value, rangeOfReceiverToSearch, locale?.pointer ?? ffi.nullptr) : stret.ref = _objc_msgSend_30( this.pointer, _sel_rangeOfString_options_range_locale_, searchString.pointer, - mask, + mask.value, rangeOfReceiverToSearch, locale?.pointer ?? ffi.nullptr); } + /// rangeOfCharacterFromSet: void rangeOfCharacterFromSet_( ffi.Pointer stret, NSCharacterSet searchSet) { objc.useMsgSendVariants @@ -833,33 +938,46 @@ class NSString extends NSObject { this.pointer, _sel_rangeOfCharacterFromSet_, searchSet.pointer); } - void rangeOfCharacterFromSet_options_( - ffi.Pointer stret, NSCharacterSet searchSet, int mask) { + /// rangeOfCharacterFromSet:options: + void rangeOfCharacterFromSet_options_(ffi.Pointer stret, + NSCharacterSet searchSet, NSStringCompareOptions mask) { objc.useMsgSendVariants - ? _objc_msgSend_202Stret(stret, this.pointer, - _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask) - : stret.ref = _objc_msgSend_202(this.pointer, - _sel_rangeOfCharacterFromSet_options_, searchSet.pointer, mask); + ? _objc_msgSend_202Stret( + stret, + this.pointer, + _sel_rangeOfCharacterFromSet_options_, + searchSet.pointer, + mask.value) + : stret.ref = _objc_msgSend_202( + this.pointer, + _sel_rangeOfCharacterFromSet_options_, + searchSet.pointer, + mask.value); } - void rangeOfCharacterFromSet_options_range_(ffi.Pointer stret, - NSCharacterSet searchSet, int mask, NSRange rangeOfReceiverToSearch) { + /// rangeOfCharacterFromSet:options:range: + void rangeOfCharacterFromSet_options_range_( + ffi.Pointer stret, + NSCharacterSet searchSet, + NSStringCompareOptions mask, + NSRange rangeOfReceiverToSearch) { objc.useMsgSendVariants ? _objc_msgSend_203Stret( stret, this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, - mask, + mask.value, rangeOfReceiverToSearch) : stret.ref = _objc_msgSend_203( this.pointer, _sel_rangeOfCharacterFromSet_options_range_, searchSet.pointer, - mask, + mask.value, rangeOfReceiverToSearch); } + /// rangeOfComposedCharacterSequenceAtIndex: void rangeOfComposedCharacterSequenceAtIndex_( ffi.Pointer stret, int index) { objc.useMsgSendVariants @@ -869,6 +987,7 @@ class NSString extends NSObject { this.pointer, _sel_rangeOfComposedCharacterSequenceAtIndex_, index); } + /// rangeOfComposedCharacterSequencesForRange: void rangeOfComposedCharacterSequencesForRange_( ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants @@ -878,95 +997,113 @@ class NSString extends NSObject { _sel_rangeOfComposedCharacterSequencesForRange_, range); } + /// stringByAppendingString: NSString stringByAppendingString_(NSString aString) { final _ret = _objc_msgSend_103( this.pointer, _sel_stringByAppendingString_, aString.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByAppendingFormat: NSString stringByAppendingFormat_(NSString format) { final _ret = _objc_msgSend_103( this.pointer, _sel_stringByAppendingFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// doubleValue double get doubleValue { return objc.useMsgSendVariants ? _objc_msgSend_83Fpret(this.pointer, _sel_doubleValue) : _objc_msgSend_83(this.pointer, _sel_doubleValue); } + /// floatValue double get floatValue { return objc.useMsgSendVariants ? _objc_msgSend_82Fpret(this.pointer, _sel_floatValue) : _objc_msgSend_82(this.pointer, _sel_floatValue); } + /// intValue int get intValue { return _objc_msgSend_77(this.pointer, _sel_intValue); } + /// integerValue int get integerValue { return _objc_msgSend_79(this.pointer, _sel_integerValue); } + /// longLongValue int get longLongValue { return _objc_msgSend_80(this.pointer, _sel_longLongValue); } + /// boolValue bool get boolValue { return _objc_msgSend_13(this.pointer, _sel_boolValue); } + /// uppercaseString NSString get uppercaseString { final _ret = _objc_msgSend_35(this.pointer, _sel_uppercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// lowercaseString NSString get lowercaseString { final _ret = _objc_msgSend_35(this.pointer, _sel_lowercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// capitalizedString NSString get capitalizedString { final _ret = _objc_msgSend_35(this.pointer, _sel_capitalizedString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedUppercaseString NSString get localizedUppercaseString { final _ret = _objc_msgSend_35(this.pointer, _sel_localizedUppercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedLowercaseString NSString get localizedLowercaseString { final _ret = _objc_msgSend_35(this.pointer, _sel_localizedLowercaseString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedCapitalizedString NSString get localizedCapitalizedString { final _ret = _objc_msgSend_35(this.pointer, _sel_localizedCapitalizedString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// uppercaseStringWithLocale: NSString uppercaseStringWithLocale_(NSLocale? locale) { final _ret = _objc_msgSend_206(this.pointer, _sel_uppercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// lowercaseStringWithLocale: NSString lowercaseStringWithLocale_(NSLocale? locale) { final _ret = _objc_msgSend_206(this.pointer, _sel_lowercaseStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// capitalizedStringWithLocale: NSString capitalizedStringWithLocale_(NSLocale? locale) { final _ret = _objc_msgSend_206(this.pointer, _sel_capitalizedStringWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// getLineStart:end:contentsEnd:forRange: void getLineStart_end_contentsEnd_forRange_( ffi.Pointer startPtr, ffi.Pointer lineEndPtr, @@ -976,6 +1113,7 @@ class NSString extends NSObject { startPtr, lineEndPtr, contentsEndPtr, range); } + /// lineRangeForRange: void lineRangeForRange_(ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants ? _objc_msgSend_205Stret( @@ -984,6 +1122,7 @@ class NSString extends NSObject { _objc_msgSend_205(this.pointer, _sel_lineRangeForRange_, range); } + /// getParagraphStart:end:contentsEnd:forRange: void getParagraphStart_end_contentsEnd_forRange_( ffi.Pointer startPtr, ffi.Pointer parEndPtr, @@ -998,6 +1137,7 @@ class NSString extends NSObject { range); } + /// paragraphRangeForRange: void paragraphRangeForRange_(ffi.Pointer stret, NSRange range) { objc.useMsgSendVariants ? _objc_msgSend_205Stret( @@ -1006,18 +1146,22 @@ class NSString extends NSObject { this.pointer, _sel_paragraphRangeForRange_, range); } + /// UTF8String ffi.Pointer get UTF8String { return _objc_msgSend_14(this.pointer, _sel_UTF8String); } + /// fastestEncoding int get fastestEncoding { return _objc_msgSend_11(this.pointer, _sel_fastestEncoding); } + /// smallestEncoding int get smallestEncoding { return _objc_msgSend_11(this.pointer, _sel_smallestEncoding); } + /// dataUsingEncoding:allowLossyConversion: NSData? dataUsingEncoding_allowLossyConversion_(int encoding, bool lossy) { final _ret = _objc_msgSend_208(this.pointer, _sel_dataUsingEncoding_allowLossyConversion_, encoding, lossy); @@ -1026,6 +1170,7 @@ class NSString extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataUsingEncoding: NSData? dataUsingEncoding_(int encoding) { final _ret = _objc_msgSend_209(this.pointer, _sel_dataUsingEncoding_, encoding); @@ -1034,27 +1179,31 @@ class NSString extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// canBeConvertedToEncoding: bool canBeConvertedToEncoding_(int encoding) { return _objc_msgSend_123( this.pointer, _sel_canBeConvertedToEncoding_, encoding); } + /// cStringUsingEncoding: ffi.Pointer cStringUsingEncoding_(int encoding) { return _objc_msgSend_12(this.pointer, _sel_cStringUsingEncoding_, encoding); } + /// getCString:maxLength:encoding: bool getCString_maxLength_encoding_( ffi.Pointer buffer, int maxBufferCount, int encoding) { return _objc_msgSend_210(this.pointer, _sel_getCString_maxLength_encoding_, buffer, maxBufferCount, encoding); } + /// getBytes:maxLength:usedLength:encoding:options:range:remainingRange: bool getBytes_maxLength_usedLength_encoding_options_range_remainingRange_( ffi.Pointer buffer, int maxBufferCount, ffi.Pointer usedBufferCount, int encoding, - int options, + NSStringEncodingConversionOptions options, NSRange range, ffi.Pointer leftover) { return _objc_msgSend_211( @@ -1064,77 +1213,90 @@ class NSString extends NSObject { maxBufferCount, usedBufferCount, encoding, - options, + options.value, range, leftover); } + /// maximumLengthOfBytesUsingEncoding: int maximumLengthOfBytesUsingEncoding_(int enc) { return _objc_msgSend_120( this.pointer, _sel_maximumLengthOfBytesUsingEncoding_, enc); } + /// lengthOfBytesUsingEncoding: int lengthOfBytesUsingEncoding_(int enc) { return _objc_msgSend_120( this.pointer, _sel_lengthOfBytesUsingEncoding_, enc); } + /// availableStringEncodings static ffi.Pointer getAvailableStringEncodings() { return _objc_msgSend_212(_class_NSString, _sel_availableStringEncodings); } + /// localizedNameOfStringEncoding: static NSString localizedNameOfStringEncoding_(int encoding) { final _ret = _objc_msgSend_18( _class_NSString, _sel_localizedNameOfStringEncoding_, encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// defaultCStringEncoding static int getDefaultCStringEncoding() { return _objc_msgSend_11(_class_NSString, _sel_defaultCStringEncoding); } + /// decomposedStringWithCanonicalMapping NSString get decomposedStringWithCanonicalMapping { final _ret = _objc_msgSend_35( this.pointer, _sel_decomposedStringWithCanonicalMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// precomposedStringWithCanonicalMapping NSString get precomposedStringWithCanonicalMapping { final _ret = _objc_msgSend_35( this.pointer, _sel_precomposedStringWithCanonicalMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// decomposedStringWithCompatibilityMapping NSString get decomposedStringWithCompatibilityMapping { final _ret = _objc_msgSend_35( this.pointer, _sel_decomposedStringWithCompatibilityMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// precomposedStringWithCompatibilityMapping NSString get precomposedStringWithCompatibilityMapping { final _ret = _objc_msgSend_35( this.pointer, _sel_precomposedStringWithCompatibilityMapping); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// componentsSeparatedByString: NSArray componentsSeparatedByString_(NSString separator) { final _ret = _objc_msgSend_213( this.pointer, _sel_componentsSeparatedByString_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// componentsSeparatedByCharactersInSet: NSArray componentsSeparatedByCharactersInSet_(NSCharacterSet separator) { final _ret = _objc_msgSend_214(this.pointer, _sel_componentsSeparatedByCharactersInSet_, separator.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// stringByTrimmingCharactersInSet: NSString stringByTrimmingCharactersInSet_(NSCharacterSet set) { final _ret = _objc_msgSend_215( this.pointer, _sel_stringByTrimmingCharactersInSet_, set.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByPaddingToLength:withString:startingAtIndex: NSString stringByPaddingToLength_withString_startingAtIndex_( int newLength, NSString padString, int padIndex) { final _ret = _objc_msgSend_216( @@ -1146,27 +1308,34 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } - NSString stringByFoldingWithOptions_locale_(int options, NSLocale? locale) { + /// stringByFoldingWithOptions:locale: + NSString stringByFoldingWithOptions_locale_( + NSStringCompareOptions options, NSLocale? locale) { final _ret = _objc_msgSend_217( this.pointer, _sel_stringByFoldingWithOptions_locale_, - options, + options.value, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByReplacingOccurrencesOfString:withString:options:range: NSString stringByReplacingOccurrencesOfString_withString_options_range_( - NSString target, NSString replacement, int options, NSRange searchRange) { + NSString target, + NSString replacement, + NSStringCompareOptions options, + NSRange searchRange) { final _ret = _objc_msgSend_218( this.pointer, _sel_stringByReplacingOccurrencesOfString_withString_options_range_, target.pointer, replacement.pointer, - options, + options.value, searchRange); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByReplacingOccurrencesOfString:withString: NSString stringByReplacingOccurrencesOfString_withString_( NSString target, NSString replacement) { final _ret = _objc_msgSend_219( @@ -1177,6 +1346,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByReplacingCharactersInRange:withString: NSString stringByReplacingCharactersInRange_withString_( NSRange range, NSString replacement) { final _ret = _objc_msgSend_220( @@ -1187,6 +1357,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByApplyingTransform:reverse: NSString? stringByApplyingTransform_reverse_( NSString transform, bool reverse) { final _ret = _objc_msgSend_221(this.pointer, @@ -1196,6 +1367,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// writeToURL:atomically:encoding:error: bool writeToURL_atomically_encoding_error_(NSURL url, bool useAuxiliaryFile, int enc, ffi.Pointer> error) { return _objc_msgSend_222( @@ -1207,6 +1379,7 @@ class NSString extends NSObject { error); } + /// writeToFile:atomically:encoding:error: bool writeToFile_atomically_encoding_error_( NSString path, bool useAuxiliaryFile, @@ -1221,15 +1394,18 @@ class NSString extends NSObject { error); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// hash int get hash { return _objc_msgSend_11(this.pointer, _sel_hash); } + /// initWithCharactersNoCopy:length:freeWhenDone: NSString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { final _ret = _objc_msgSend_224( @@ -1241,6 +1417,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: false, release: true); } + /// initWithCharacters:length: NSString initWithCharacters_length_( ffi.Pointer characters, int length) { final _ret = _objc_msgSend_225( @@ -1248,6 +1425,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithUTF8String: NSString? initWithUTF8String_(ffi.Pointer nullTerminatedCString) { final _ret = _objc_msgSend_226( this.pointer, _sel_initWithUTF8String_, nullTerminatedCString); @@ -1256,18 +1434,21 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithString: NSString initWithString_(NSString aString) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithString_, aString.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithFormat: NSString initWithFormat_(NSString format) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithFormat:locale: NSString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_227(this.pointer, _sel_initWithFormat_locale_, @@ -1275,6 +1456,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithValidatedFormat:validFormatSpecifiers:error: NSString? initWithValidatedFormat_validFormatSpecifiers_error_( NSString format, NSString validFormatSpecifiers, @@ -1290,6 +1472,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithValidatedFormat:validFormatSpecifiers:locale:error: NSString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( NSString format, NSString validFormatSpecifiers, @@ -1307,6 +1490,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithData:encoding: NSString? initWithData_encoding_(NSData data, int encoding) { final _ret = _objc_msgSend_230( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); @@ -1315,6 +1499,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytes:length:encoding: NSString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { final _ret = _objc_msgSend_231(this.pointer, @@ -1324,6 +1509,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytesNoCopy:length:encoding:freeWhenDone: NSString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { final _ret = _objc_msgSend_232( @@ -1338,17 +1524,20 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: false, release: true); } + /// string static NSString string() { final _ret = _objc_msgSend_2(_class_NSString, _sel_string); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithString: static NSString stringWithString_(NSString string) { final _ret = _objc_msgSend_45( _class_NSString, _sel_stringWithString_, string.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithCharacters:length: static NSString stringWithCharacters_length_( ffi.Pointer characters, int length) { final _ret = _objc_msgSend_225( @@ -1356,6 +1545,7 @@ class NSString extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithUTF8String: static NSString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { final _ret = _objc_msgSend_226( @@ -1365,18 +1555,21 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithFormat: static NSString stringWithFormat_(NSString format) { final _ret = _objc_msgSend_45( _class_NSString, _sel_stringWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedStringWithFormat: static NSString localizedStringWithFormat_(NSString format) { final _ret = _objc_msgSend_45( _class_NSString, _sel_localizedStringWithFormat_, format.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithValidatedFormat:validFormatSpecifiers:error: static NSString? stringWithValidatedFormat_validFormatSpecifiers_error_( NSString format, NSString validFormatSpecifiers, @@ -1392,6 +1585,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedStringWithValidatedFormat:validFormatSpecifiers:error: static NSString? localizedStringWithValidatedFormat_validFormatSpecifiers_error_( NSString format, @@ -1408,6 +1602,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithCString:encoding: NSString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { final _ret = _objc_msgSend_233(this.pointer, _sel_initWithCString_encoding_, @@ -1417,6 +1612,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithCString:encoding: static NSString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { final _ret = _objc_msgSend_233( @@ -1426,6 +1622,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL:encoding:error: NSString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_234(this.pointer, @@ -1435,6 +1632,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile:encoding:error: NSString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_235(this.pointer, @@ -1444,6 +1642,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfURL:encoding:error: static NSString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_234(_class_NSString, @@ -1453,6 +1652,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfFile:encoding:error: static NSString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_235( @@ -1466,6 +1666,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL:usedEncoding:error: NSString? initWithContentsOfURL_usedEncoding_error_( NSURL url, ffi.Pointer enc, @@ -1481,6 +1682,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile:usedEncoding:error: NSString? initWithContentsOfFile_usedEncoding_error_( NSString path, ffi.Pointer enc, @@ -1496,6 +1698,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfURL:usedEncoding:error: static NSString? stringWithContentsOfURL_usedEncoding_error_( NSURL url, ffi.Pointer enc, @@ -1511,6 +1714,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfFile:usedEncoding:error: static NSString? stringWithContentsOfFile_usedEncoding_error_( NSString path, ffi.Pointer enc, @@ -1526,6 +1730,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringEncodingForData:encodingOptions:convertedString:usedLossyConversion: static int stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( NSData data, @@ -1541,11 +1746,13 @@ class NSString extends NSObject { usedLossyConversion); } + /// propertyList objc.ObjCObjectBase propertyList() { final _ret = _objc_msgSend_2(this.pointer, _sel_propertyList); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// propertyListFromStringsFileFormat NSDictionary? propertyListFromStringsFileFormat() { final _ret = _objc_msgSend_239(this.pointer, _sel_propertyListFromStringsFileFormat); @@ -1554,27 +1761,33 @@ class NSString extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// cString ffi.Pointer cString() { return _objc_msgSend_14(this.pointer, _sel_cString); } + /// lossyCString ffi.Pointer lossyCString() { return _objc_msgSend_14(this.pointer, _sel_lossyCString); } + /// cStringLength int cStringLength() { return _objc_msgSend_11(this.pointer, _sel_cStringLength); } + /// getCString: void getCString_(ffi.Pointer bytes) { _objc_msgSend_240(this.pointer, _sel_getCString_, bytes); } + /// getCString:maxLength: void getCString_maxLength_(ffi.Pointer bytes, int maxLength) { _objc_msgSend_241( this.pointer, _sel_getCString_maxLength_, bytes, maxLength); } + /// getCString:maxLength:range:remainingRange: void getCString_maxLength_range_remainingRange_(ffi.Pointer bytes, int maxLength, NSRange aRange, ffi.Pointer leftoverRange) { _objc_msgSend_242( @@ -1586,16 +1799,19 @@ class NSString extends NSObject { leftoverRange); } + /// writeToFile:atomically: bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } + /// writeToURL:atomically: bool writeToURL_atomically_(NSURL url, bool atomically) { return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } + /// initWithContentsOfFile: objc.ObjCObjectBase? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -1604,6 +1820,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// initWithContentsOfURL: objc.ObjCObjectBase? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -1612,6 +1829,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithContentsOfFile: static objc.ObjCObjectBase? stringWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSString, _sel_stringWithContentsOfFile_, path.pointer); @@ -1620,6 +1838,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithContentsOfURL: static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( _class_NSString, _sel_stringWithContentsOfURL_, url.pointer); @@ -1628,6 +1847,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// initWithCStringNoCopy:length:freeWhenDone: objc.ObjCObjectBase? initWithCStringNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool freeBuffer) { final _ret = _objc_msgSend_243( @@ -1641,6 +1861,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// initWithCString:length: objc.ObjCObjectBase? initWithCString_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_233( @@ -1650,6 +1871,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// initWithCString: objc.ObjCObjectBase? initWithCString_(ffi.Pointer bytes) { final _ret = _objc_msgSend_226(this.pointer, _sel_initWithCString_, bytes); return _ret.address == 0 @@ -1657,6 +1879,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithCString:length: static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_233( @@ -1666,6 +1889,7 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithCString: static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { final _ret = _objc_msgSend_226(_class_NSString, _sel_stringWithCString_, bytes); @@ -1674,10 +1898,12 @@ class NSString extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// getCharacters: void getCharacters_(ffi.Pointer buffer) { _objc_msgSend_244(this.pointer, _sel_getCharacters_, buffer); } + /// stringByAddingPercentEncodingWithAllowedCharacters: NSString? stringByAddingPercentEncodingWithAllowedCharacters_( NSCharacterSet allowedCharacters) { final _ret = _objc_msgSend_245( @@ -1689,6 +1915,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByRemovingPercentEncoding NSString? get stringByRemovingPercentEncoding { final _ret = _objc_msgSend_58(this.pointer, _sel_stringByRemovingPercentEncoding); @@ -1697,6 +1924,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByAddingPercentEscapesUsingEncoding: NSString? stringByAddingPercentEscapesUsingEncoding_(int enc) { final _ret = _objc_msgSend_246( this.pointer, _sel_stringByAddingPercentEscapesUsingEncoding_, enc); @@ -1705,6 +1933,7 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// stringByReplacingPercentEscapesUsingEncoding: NSString? stringByReplacingPercentEscapesUsingEncoding_(int enc) { final _ret = _objc_msgSend_246( this.pointer, _sel_stringByReplacingPercentEscapesUsingEncoding_, enc); @@ -1713,16 +1942,19 @@ class NSString extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// new static NSString new1() { final _ret = _objc_msgSend_2(_class_NSString, _sel_new); return NSString.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSString allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSString, _sel_allocWithZone_, zone); return NSString.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSString alloc() { final _ret = _objc_msgSend_2(_class_NSString, _sel_alloc); return NSString.castFromPointer(_ret, retain: false, release: true); @@ -1741,6 +1973,7 @@ final _objc_msgSend_16 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, int)>(); +/// NSCoder class NSCoder extends objc.ObjCObjectBase { NSCoder._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -1818,17 +2051,28 @@ final _objc_msgSend_20 = objc.msgSendPointer ffi.Pointer, NSRange)>(); -abstract class NSComparisonResult { - static const int NSOrderedAscending = -1; - static const int NSOrderedSame = 0; - static const int NSOrderedDescending = 1; +enum NSComparisonResult { + NSOrderedAscending(-1), + NSOrderedSame(0), + NSOrderedDescending(1); + + final int value; + const NSComparisonResult(this.value); + + static NSComparisonResult fromValue(int value) => switch (value) { + -1 => NSOrderedAscending, + 0 => NSOrderedSame, + 1 => NSOrderedDescending, + _ => + throw ArgumentError("Unknown value for NSComparisonResult: $value"), + }; } late final _sel_compare_ = objc.registerName("compare:"); final _objc_msgSend_21 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() @@ -1836,27 +2080,44 @@ final _objc_msgSend_21 = objc.msgSendPointer int Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -abstract class NSStringCompareOptions { - static const int NSCaseInsensitiveSearch = 1; - static const int NSLiteralSearch = 2; - static const int NSBackwardsSearch = 4; - static const int NSAnchoredSearch = 8; - static const int NSNumericSearch = 64; - static const int NSDiacriticInsensitiveSearch = 128; - static const int NSWidthInsensitiveSearch = 256; - static const int NSForcedOrderingSearch = 512; - static const int NSRegularExpressionSearch = 1024; +enum NSStringCompareOptions { + NSCaseInsensitiveSearch(1), + NSLiteralSearch(2), + NSBackwardsSearch(4), + NSAnchoredSearch(8), + NSNumericSearch(64), + NSDiacriticInsensitiveSearch(128), + NSWidthInsensitiveSearch(256), + NSForcedOrderingSearch(512), + NSRegularExpressionSearch(1024); + + final int value; + const NSStringCompareOptions(this.value); + + static NSStringCompareOptions fromValue(int value) => switch (value) { + 1 => NSCaseInsensitiveSearch, + 2 => NSLiteralSearch, + 4 => NSBackwardsSearch, + 8 => NSAnchoredSearch, + 64 => NSNumericSearch, + 128 => NSDiacriticInsensitiveSearch, + 256 => NSWidthInsensitiveSearch, + 512 => NSForcedOrderingSearch, + 1024 => NSRegularExpressionSearch, + _ => throw ArgumentError( + "Unknown value for NSStringCompareOptions: $value"), + }; } late final _sel_compare_options_ = objc.registerName("compare:options:"); final _objc_msgSend_22 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< int Function( ffi.Pointer, @@ -1868,11 +2129,11 @@ late final _sel_compare_options_range_ = final _objc_msgSend_23 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< int Function( @@ -1886,11 +2147,11 @@ late final _sel_compare_options_range_locale_ = final _objc_msgSend_24 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange, ffi.Pointer)>>() .asFunction< @@ -1930,7 +2191,7 @@ final _objc_msgSend_26 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, @@ -1975,7 +2236,7 @@ final _objc_msgSend_28 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< NSRange Function( ffi.Pointer, @@ -1990,7 +2251,7 @@ final _objc_msgSend_28Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< void Function( ffi.Pointer, @@ -2007,7 +2268,7 @@ final _objc_msgSend_29 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< NSRange Function( @@ -2024,7 +2285,7 @@ final _objc_msgSend_29Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< void Function( @@ -2035,6 +2296,7 @@ final _objc_msgSend_29Stret = objc.msgSendStretPointer int, NSRange)>(); +/// NSLocale class NSLocale extends objc.ObjCObjectBase { NSLocale._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -2065,7 +2327,7 @@ final _objc_msgSend_30 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange, ffi.Pointer)>>() .asFunction< @@ -2084,7 +2346,7 @@ final _objc_msgSend_30Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange, ffi.Pointer)>>() .asFunction< @@ -2097,6 +2359,7 @@ final _objc_msgSend_30Stret = objc.msgSendStretPointer NSRange, ffi.Pointer)>(); +/// NSCharacterSet class NSCharacterSet extends NSObject { NSCharacterSet._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -2117,114 +2380,133 @@ class NSCharacterSet extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSCharacterSet); } + /// controlCharacterSet static NSCharacterSet getControlCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_controlCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// whitespaceCharacterSet static NSCharacterSet getWhitespaceCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_whitespaceCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// whitespaceAndNewlineCharacterSet static NSCharacterSet getWhitespaceAndNewlineCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_whitespaceAndNewlineCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// decimalDigitCharacterSet static NSCharacterSet getDecimalDigitCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_decimalDigitCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// letterCharacterSet static NSCharacterSet getLetterCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_letterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// lowercaseLetterCharacterSet static NSCharacterSet getLowercaseLetterCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_lowercaseLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// uppercaseLetterCharacterSet static NSCharacterSet getUppercaseLetterCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_uppercaseLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// nonBaseCharacterSet static NSCharacterSet getNonBaseCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_nonBaseCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// alphanumericCharacterSet static NSCharacterSet getAlphanumericCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_alphanumericCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// decomposableCharacterSet static NSCharacterSet getDecomposableCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_decomposableCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// illegalCharacterSet static NSCharacterSet getIllegalCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_illegalCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// punctuationCharacterSet static NSCharacterSet getPunctuationCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_punctuationCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// capitalizedLetterCharacterSet static NSCharacterSet getCapitalizedLetterCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_capitalizedLetterCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// symbolCharacterSet static NSCharacterSet getSymbolCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_symbolCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// newlineCharacterSet static NSCharacterSet getNewlineCharacterSet() { final _ret = _objc_msgSend_31(_class_NSCharacterSet, _sel_newlineCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); } + /// characterSetWithRange: static NSCharacterSet characterSetWithRange_(NSRange aRange) { final _ret = _objc_msgSend_32( _class_NSCharacterSet, _sel_characterSetWithRange_, aRange); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// characterSetWithCharactersInString: static NSCharacterSet characterSetWithCharactersInString_(NSString aString) { final _ret = _objc_msgSend_33(_class_NSCharacterSet, _sel_characterSetWithCharactersInString_, aString.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// characterSetWithBitmapRepresentation: static NSCharacterSet characterSetWithBitmapRepresentation_(NSData data) { final _ret = _objc_msgSend_194(_class_NSCharacterSet, _sel_characterSetWithBitmapRepresentation_, data.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// characterSetWithContentsOfFile: static NSCharacterSet? characterSetWithContentsOfFile_(NSString fName) { final _ret = _objc_msgSend_195(_class_NSCharacterSet, _sel_characterSetWithContentsOfFile_, fName.pointer); @@ -2233,92 +2515,109 @@ class NSCharacterSet extends NSObject { : NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSCharacterSet initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_196(this.pointer, _sel_initWithCoder_, coder.pointer); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// characterIsMember: bool characterIsMember_(int aCharacter) { return _objc_msgSend_197(this.pointer, _sel_characterIsMember_, aCharacter); } + /// bitmapRepresentation NSData get bitmapRepresentation { final _ret = _objc_msgSend_57(this.pointer, _sel_bitmapRepresentation); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// invertedSet NSCharacterSet get invertedSet { final _ret = _objc_msgSend_31(this.pointer, _sel_invertedSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// longCharacterIsMember: bool longCharacterIsMember_(int theLongChar) { return _objc_msgSend_198( this.pointer, _sel_longCharacterIsMember_, theLongChar); } + /// isSupersetOfSet: bool isSupersetOfSet_(NSCharacterSet theOtherSet) { return _objc_msgSend_199( this.pointer, _sel_isSupersetOfSet_, theOtherSet.pointer); } + /// hasMemberInPlane: bool hasMemberInPlane_(int thePlane) { return _objc_msgSend_200(this.pointer, _sel_hasMemberInPlane_, thePlane); } + /// URLUserAllowedCharacterSet static NSCharacterSet getURLUserAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLUserAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// URLPasswordAllowedCharacterSet static NSCharacterSet getURLPasswordAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLPasswordAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// URLHostAllowedCharacterSet static NSCharacterSet getURLHostAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLHostAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// URLPathAllowedCharacterSet static NSCharacterSet getURLPathAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLPathAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// URLQueryAllowedCharacterSet static NSCharacterSet getURLQueryAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLQueryAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// URLFragmentAllowedCharacterSet static NSCharacterSet getURLFragmentAllowedCharacterSet() { final _ret = _objc_msgSend_31( _class_NSCharacterSet, _sel_URLFragmentAllowedCharacterSet); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// init NSCharacterSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSCharacterSet.castFromPointer(_ret, retain: true, release: true); } + /// new static NSCharacterSet new1() { final _ret = _objc_msgSend_2(_class_NSCharacterSet, _sel_new); return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSCharacterSet allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSCharacterSet, _sel_allocWithZone_, zone); return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSCharacterSet alloc() { final _ret = _objc_msgSend_2(_class_NSCharacterSet, _sel_alloc); return NSCharacterSet.castFromPointer(_ret, retain: false, release: true); @@ -2381,6 +2680,7 @@ final _objc_msgSend_33 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +/// NSData class NSData extends NSObject { NSData._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -2400,87 +2700,106 @@ class NSData extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSData); } + /// length int get length { return _objc_msgSend_11(this.pointer, _sel_length); } + /// bytes ffi.Pointer get bytes { return _objc_msgSend_34(this.pointer, _sel_bytes); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// getBytes:length: void getBytes_length_(ffi.Pointer buffer, int length) { _objc_msgSend_36(this.pointer, _sel_getBytes_length_, buffer, length); } + /// getBytes:range: void getBytes_range_(ffi.Pointer buffer, NSRange range) { _objc_msgSend_37(this.pointer, _sel_getBytes_range_, buffer, range); } + /// isEqualToData: bool isEqualToData_(NSData other) { return _objc_msgSend_38(this.pointer, _sel_isEqualToData_, other.pointer); } + /// subdataWithRange: NSData subdataWithRange_(NSRange range) { final _ret = _objc_msgSend_39(this.pointer, _sel_subdataWithRange_, range); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// writeToFile:atomically: bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } + /// writeToURL:atomically: bool writeToURL_atomically_(NSURL url, bool atomically) { return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } - bool writeToFile_options_error_(NSString path, int writeOptionsMask, + /// writeToFile:options:error: + bool writeToFile_options_error_( + NSString path, + NSDataWritingOptions writeOptionsMask, ffi.Pointer> errorPtr) { return _objc_msgSend_180(this.pointer, _sel_writeToFile_options_error_, - path.pointer, writeOptionsMask, errorPtr); + path.pointer, writeOptionsMask.value, errorPtr); } - bool writeToURL_options_error_(NSURL url, int writeOptionsMask, + /// writeToURL:options:error: + bool writeToURL_options_error_( + NSURL url, + NSDataWritingOptions writeOptionsMask, ffi.Pointer> errorPtr) { return _objc_msgSend_181(this.pointer, _sel_writeToURL_options_error_, - url.pointer, writeOptionsMask, errorPtr); + url.pointer, writeOptionsMask.value, errorPtr); } + /// rangeOfData:options:range: void rangeOfData_options_range_(ffi.Pointer stret, NSData dataToFind, - int mask, NSRange searchRange) { + NSDataSearchOptions mask, NSRange searchRange) { objc.useMsgSendVariants ? _objc_msgSend_182Stret( stret, this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, - mask, + mask.value, searchRange) : stret.ref = _objc_msgSend_182( this.pointer, _sel_rangeOfData_options_range_, dataToFind.pointer, - mask, + mask.value, searchRange); } + /// data static NSData data() { final _ret = _objc_msgSend_2(_class_NSData, _sel_data); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithBytes:length: static NSData dataWithBytes_length_(ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( _class_NSData, _sel_dataWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithBytesNoCopy:length: static NSData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( @@ -2488,6 +2807,7 @@ class NSData extends NSObject { return NSData.castFromPointer(_ret, retain: false, release: true); } + /// dataWithBytesNoCopy:length:freeWhenDone: static NSData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { final _ret = _objc_msgSend_184(_class_NSData, @@ -2495,32 +2815,39 @@ class NSData extends NSObject { return NSData.castFromPointer(_ret, retain: false, release: true); } - static NSData? dataWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// dataWithContentsOfFile:options:error: + static NSData? dataWithContentsOfFile_options_error_( + NSString path, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_185( _class_NSData, _sel_dataWithContentsOfFile_options_error_, path.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } - static NSData? dataWithContentsOfURL_options_error_(NSURL url, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// dataWithContentsOfURL:options:error: + static NSData? dataWithContentsOfURL_options_error_( + NSURL url, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_186( _class_NSData, _sel_dataWithContentsOfURL_options_error_, url.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithContentsOfFile: static NSData? dataWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSData, _sel_dataWithContentsOfFile_, path.pointer); @@ -2529,6 +2856,7 @@ class NSData extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithContentsOfURL: static NSData? dataWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( _class_NSData, _sel_dataWithContentsOfURL_, url.pointer); @@ -2537,18 +2865,21 @@ class NSData extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytes:length: NSData initWithBytes_length_(ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytesNoCopy:length: NSData initWithBytesNoCopy_length_(ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytesNoCopy_length_, bytes, length); return NSData.castFromPointer(_ret, retain: false, release: true); } + /// initWithBytesNoCopy:length:freeWhenDone: NSData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { final _ret = _objc_msgSend_184(this.pointer, @@ -2556,32 +2887,39 @@ class NSData extends NSObject { return NSData.castFromPointer(_ret, retain: false, release: true); } - NSData? initWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// initWithContentsOfFile:options:error: + NSData? initWithContentsOfFile_options_error_( + NSString path, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_185( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } - NSData? initWithContentsOfURL_options_error_(NSURL url, int readOptionsMask, + /// initWithContentsOfURL:options:error: + NSData? initWithContentsOfURL_options_error_( + NSURL url, + NSDataReadingOptions readOptionsMask, ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_186( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSData? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -2590,6 +2928,7 @@ class NSData extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSData? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -2598,72 +2937,89 @@ class NSData extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithData: NSData initWithData_(NSData data) { final _ret = _objc_msgSend_188(this.pointer, _sel_initWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithData: static NSData dataWithData_(NSData data) { final _ret = _objc_msgSend_188(_class_NSData, _sel_dataWithData_, data.pointer); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBase64EncodedString:options: NSData? initWithBase64EncodedString_options_( - NSString base64String, int options) { + NSString base64String, NSDataBase64DecodingOptions options) { final _ret = _objc_msgSend_189( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, - options); + options.value); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } - NSString base64EncodedStringWithOptions_(int options) { + /// base64EncodedStringWithOptions: + NSString base64EncodedStringWithOptions_( + NSDataBase64EncodingOptions options) { final _ret = _objc_msgSend_190( - this.pointer, _sel_base64EncodedStringWithOptions_, options); + this.pointer, _sel_base64EncodedStringWithOptions_, options.value); return NSString.castFromPointer(_ret, retain: true, release: true); } - NSData? initWithBase64EncodedData_options_(NSData base64Data, int options) { - final _ret = _objc_msgSend_191(this.pointer, - _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); + /// initWithBase64EncodedData:options: + NSData? initWithBase64EncodedData_options_( + NSData base64Data, NSDataBase64DecodingOptions options) { + final _ret = _objc_msgSend_191( + this.pointer, + _sel_initWithBase64EncodedData_options_, + base64Data.pointer, + options.value); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } - NSData base64EncodedDataWithOptions_(int options) { + /// base64EncodedDataWithOptions: + NSData base64EncodedDataWithOptions_(NSDataBase64EncodingOptions options) { final _ret = _objc_msgSend_192( - this.pointer, _sel_base64EncodedDataWithOptions_, options); + this.pointer, _sel_base64EncodedDataWithOptions_, options.value); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// decompressedDataUsingAlgorithm:error: NSData? decompressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { + NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { final _ret = _objc_msgSend_193(this.pointer, - _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); + _sel_decompressedDataUsingAlgorithm_error_, algorithm.value, error); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } + /// compressedDataUsingAlgorithm:error: NSData? compressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { + NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { final _ret = _objc_msgSend_193(this.pointer, - _sel_compressedDataUsingAlgorithm_error_, algorithm, error); + _sel_compressedDataUsingAlgorithm_error_, algorithm.value, error); return _ret.address == 0 ? null : NSData.castFromPointer(_ret, retain: true, release: true); } + /// getBytes: void getBytes_(ffi.Pointer buffer) { _objc_msgSend_93(this.pointer, _sel_getBytes_, buffer); } + /// dataWithContentsOfMappedFile: static objc.ObjCObjectBase? dataWithContentsOfMappedFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSData, _sel_dataWithContentsOfMappedFile_, path.pointer); @@ -2672,6 +3028,7 @@ class NSData extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// initWithContentsOfMappedFile: objc.ObjCObjectBase? initWithContentsOfMappedFile_(NSString path) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfMappedFile_, path.pointer); @@ -2680,6 +3037,7 @@ class NSData extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// initWithBase64Encoding: objc.ObjCObjectBase? initWithBase64Encoding_(NSString base64String) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithBase64Encoding_, base64String.pointer); @@ -2688,26 +3046,31 @@ class NSData extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// base64Encoding NSString base64Encoding() { final _ret = _objc_msgSend_35(this.pointer, _sel_base64Encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// init NSData init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// new static NSData new1() { final _ret = _objc_msgSend_2(_class_NSData, _sel_new); return NSData.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSData allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSData, _sel_allocWithZone_, zone); return NSData.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSData alloc() { final _ret = _objc_msgSend_2(_class_NSData, _sel_alloc); return NSData.castFromPointer(_ret, retain: false, release: true); @@ -2794,6 +3157,7 @@ final _objc_msgSend_40 = objc.msgSendPointer ffi.Pointer, bool)>(); +/// NSURL class NSURL extends NSObject { NSURL._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -2813,6 +3177,7 @@ class NSURL extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSURL); } + /// initWithScheme:host:path: NSURL? initWithScheme_host_path_( NSString scheme, NSString? host, NSString path) { final _ret = _objc_msgSend_41(this.pointer, _sel_initWithScheme_host_path_, @@ -2822,6 +3187,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initFileURLWithPath:isDirectory:relativeToURL: NSURL initFileURLWithPath_isDirectory_relativeToURL_( NSString path, bool isDir, NSURL? baseURL) { final _ret = _objc_msgSend_42( @@ -2833,6 +3199,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initFileURLWithPath:relativeToURL: NSURL initFileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { final _ret = _objc_msgSend_43( this.pointer, @@ -2842,18 +3209,21 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initFileURLWithPath:isDirectory: NSURL initFileURLWithPath_isDirectory_(NSString path, bool isDir) { final _ret = _objc_msgSend_44(this.pointer, _sel_initFileURLWithPath_isDirectory_, path.pointer, isDir); return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initFileURLWithPath: NSURL initFileURLWithPath_(NSString path) { final _ret = _objc_msgSend_45(this.pointer, _sel_initFileURLWithPath_, path.pointer); return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// fileURLWithPath:isDirectory:relativeToURL: static NSURL fileURLWithPath_isDirectory_relativeToURL_( NSString path, bool isDir, NSURL? baseURL) { final _ret = _objc_msgSend_46( @@ -2865,6 +3235,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// fileURLWithPath:relativeToURL: static NSURL fileURLWithPath_relativeToURL_(NSString path, NSURL? baseURL) { final _ret = _objc_msgSend_47( _class_NSURL, @@ -2874,18 +3245,21 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// fileURLWithPath:isDirectory: static NSURL fileURLWithPath_isDirectory_(NSString path, bool isDir) { final _ret = _objc_msgSend_48( _class_NSURL, _sel_fileURLWithPath_isDirectory_, path.pointer, isDir); return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// fileURLWithPath: static NSURL fileURLWithPath_(NSString path) { final _ret = _objc_msgSend_49(_class_NSURL, _sel_fileURLWithPath_, path.pointer); return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initFileURLWithFileSystemRepresentation:isDirectory:relativeToURL: NSURL initFileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( ffi.Pointer path, bool isDir, NSURL? baseURL) { final _ret = _objc_msgSend_50( @@ -2897,6 +3271,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// fileURLWithFileSystemRepresentation:isDirectory:relativeToURL: static NSURL fileURLWithFileSystemRepresentation_isDirectory_relativeToURL_( ffi.Pointer path, bool isDir, NSURL? baseURL) { final _ret = _objc_msgSend_51( @@ -2908,6 +3283,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initWithString: NSURL? initWithString_(NSString URLString) { final _ret = _objc_msgSend_52(this.pointer, _sel_initWithString_, URLString.pointer); @@ -2916,6 +3292,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initWithString:relativeToURL: NSURL? initWithString_relativeToURL_(NSString URLString, NSURL? baseURL) { final _ret = _objc_msgSend_53( this.pointer, @@ -2927,6 +3304,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLWithString: static NSURL? URLWithString_(NSString URLString) { final _ret = _objc_msgSend_52(_class_NSURL, _sel_URLWithString_, URLString.pointer); @@ -2935,6 +3313,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLWithString:relativeToURL: static NSURL? URLWithString_relativeToURL_( NSString URLString, NSURL? baseURL) { final _ret = _objc_msgSend_53( @@ -2947,6 +3326,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initWithString:encodingInvalidCharacters: NSURL? initWithString_encodingInvalidCharacters_( NSString URLString, bool encodingInvalidCharacters) { final _ret = _objc_msgSend_54( @@ -2959,6 +3339,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLWithString:encodingInvalidCharacters: static NSURL? URLWithString_encodingInvalidCharacters_( NSString URLString, bool encodingInvalidCharacters) { final _ret = _objc_msgSend_54( @@ -2971,6 +3352,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initWithDataRepresentation:relativeToURL: NSURL initWithDataRepresentation_relativeToURL_(NSData data, NSURL? baseURL) { final _ret = _objc_msgSend_55( this.pointer, @@ -2980,6 +3362,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLWithDataRepresentation:relativeToURL: static NSURL URLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { final _ret = _objc_msgSend_56( @@ -2990,6 +3373,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// initAbsoluteURLWithDataRepresentation:relativeToURL: NSURL initAbsoluteURLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { final _ret = _objc_msgSend_55( @@ -3000,6 +3384,7 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// absoluteURLWithDataRepresentation:relativeToURL: static NSURL absoluteURLWithDataRepresentation_relativeToURL_( NSData data, NSURL? baseURL) { final _ret = _objc_msgSend_56( @@ -3010,11 +3395,13 @@ class NSURL extends NSObject { return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// dataRepresentation NSData get dataRepresentation { final _ret = _objc_msgSend_57(this.pointer, _sel_dataRepresentation); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// absoluteString NSString? get absoluteString { final _ret = _objc_msgSend_58(this.pointer, _sel_absoluteString); return _ret.address == 0 @@ -3022,11 +3409,13 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// relativeString NSString get relativeString { final _ret = _objc_msgSend_35(this.pointer, _sel_relativeString); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// baseURL NSURL? get baseURL { final _ret = _objc_msgSend_59(this.pointer, _sel_baseURL); return _ret.address == 0 @@ -3034,6 +3423,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// absoluteURL NSURL? get absoluteURL { final _ret = _objc_msgSend_59(this.pointer, _sel_absoluteURL); return _ret.address == 0 @@ -3041,6 +3431,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// scheme NSString? get scheme { final _ret = _objc_msgSend_58(this.pointer, _sel_scheme); return _ret.address == 0 @@ -3048,6 +3439,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// resourceSpecifier NSString? get resourceSpecifier { final _ret = _objc_msgSend_58(this.pointer, _sel_resourceSpecifier); return _ret.address == 0 @@ -3055,6 +3447,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// host NSString? get host { final _ret = _objc_msgSend_58(this.pointer, _sel_host); return _ret.address == 0 @@ -3062,6 +3455,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// port NSNumber? get port { final _ret = _objc_msgSend_96(this.pointer, _sel_port); return _ret.address == 0 @@ -3069,6 +3463,7 @@ class NSURL extends NSObject { : NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// user NSString? get user { final _ret = _objc_msgSend_58(this.pointer, _sel_user); return _ret.address == 0 @@ -3076,6 +3471,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// password NSString? get password { final _ret = _objc_msgSend_58(this.pointer, _sel_password); return _ret.address == 0 @@ -3083,6 +3479,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// path NSString? get path { final _ret = _objc_msgSend_58(this.pointer, _sel_path); return _ret.address == 0 @@ -3090,6 +3487,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// fragment NSString? get fragment { final _ret = _objc_msgSend_58(this.pointer, _sel_fragment); return _ret.address == 0 @@ -3097,6 +3495,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// parameterString NSString? get parameterString { final _ret = _objc_msgSend_58(this.pointer, _sel_parameterString); return _ret.address == 0 @@ -3104,6 +3503,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// query NSString? get query { final _ret = _objc_msgSend_58(this.pointer, _sel_query); return _ret.address == 0 @@ -3111,6 +3511,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// relativePath NSString? get relativePath { final _ret = _objc_msgSend_58(this.pointer, _sel_relativePath); return _ret.address == 0 @@ -3118,24 +3519,29 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// hasDirectoryPath bool get hasDirectoryPath { return _objc_msgSend_13(this.pointer, _sel_hasDirectoryPath); } + /// getFileSystemRepresentation:maxLength: bool getFileSystemRepresentation_maxLength_( ffi.Pointer buffer, int maxBufferLength) { return _objc_msgSend_97(this.pointer, _sel_getFileSystemRepresentation_maxLength_, buffer, maxBufferLength); } + /// fileSystemRepresentation ffi.Pointer get fileSystemRepresentation { return _objc_msgSend_14(this.pointer, _sel_fileSystemRepresentation); } + /// isFileURL bool get fileURL { return _objc_msgSend_13(this.pointer, _sel_isFileURL); } + /// standardizedURL NSURL? get standardizedURL { final _ret = _objc_msgSend_59(this.pointer, _sel_standardizedURL); return _ret.address == 0 @@ -3143,16 +3549,19 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// checkResourceIsReachableAndReturnError: bool checkResourceIsReachableAndReturnError_( ffi.Pointer> error) { return _objc_msgSend_138( this.pointer, _sel_checkResourceIsReachableAndReturnError_, error); } + /// isFileReferenceURL bool isFileReferenceURL() { return _objc_msgSend_13(this.pointer, _sel_isFileReferenceURL); } + /// fileReferenceURL NSURL? fileReferenceURL() { final _ret = _objc_msgSend_59(this.pointer, _sel_fileReferenceURL); return _ret.address == 0 @@ -3160,6 +3569,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// filePathURL NSURL? get filePathURL { final _ret = _objc_msgSend_59(this.pointer, _sel_filePathURL); return _ret.address == 0 @@ -3167,6 +3577,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// getResourceValue:forKey:error: bool getResourceValue_forKey_error_( ffi.Pointer> value, NSString key, @@ -3175,6 +3586,7 @@ class NSURL extends NSObject { value, key.pointer, error); } + /// resourceValuesForKeys:error: objc.ObjCObjectBase? resourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { final _ret = _objc_msgSend_140( @@ -3184,43 +3596,49 @@ class NSURL extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// setResourceValue:forKey:error: bool setResourceValue_forKey_error_(objc.ObjCObjectBase? value, NSString key, ffi.Pointer> error) { return _objc_msgSend_141(this.pointer, _sel_setResourceValue_forKey_error_, value?.pointer ?? ffi.nullptr, key.pointer, error); } + /// setResourceValues:error: bool setResourceValues_error_(objc.ObjCObjectBase keyedValues, ffi.Pointer> error) { return _objc_msgSend_142(this.pointer, _sel_setResourceValues_error_, keyedValues.pointer, error); } + /// removeCachedResourceValueForKey: void removeCachedResourceValueForKey_(NSString key) { _objc_msgSend_143( this.pointer, _sel_removeCachedResourceValueForKey_, key.pointer); } + /// removeAllCachedResourceValues void removeAllCachedResourceValues() { _objc_msgSend_1(this.pointer, _sel_removeAllCachedResourceValues); } + /// setTemporaryResourceValue:forKey: void setTemporaryResourceValue_forKey_( objc.ObjCObjectBase? value, NSString key) { _objc_msgSend_144(this.pointer, _sel_setTemporaryResourceValue_forKey_, value?.pointer ?? ffi.nullptr, key.pointer); } + /// bookmarkDataWithOptions:includingResourceValuesForKeys:relativeToURL:error: NSData? bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_( - int options, + NSURLBookmarkCreationOptions options, NSArray? keys, NSURL? relativeURL, ffi.Pointer> error) { final _ret = _objc_msgSend_145( this.pointer, _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_, - options, + options.value, keys?.pointer ?? ffi.nullptr, relativeURL?.pointer ?? ffi.nullptr, error); @@ -3229,10 +3647,11 @@ class NSURL extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// initByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error: NSURL? initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( NSData bookmarkData, - int options, + NSURLBookmarkResolutionOptions options, NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { @@ -3240,7 +3659,7 @@ class NSURL extends NSObject { this.pointer, _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, - options, + options.value, relativeURL?.pointer ?? ffi.nullptr, isStale, error); @@ -3249,10 +3668,11 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error: static NSURL? URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_( NSData bookmarkData, - int options, + NSURLBookmarkResolutionOptions options, NSURL? relativeURL, ffi.Pointer isStale, ffi.Pointer> error) { @@ -3260,7 +3680,7 @@ class NSURL extends NSObject { _class_NSURL, _sel_URLByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_, bookmarkData.pointer, - options, + options.value, relativeURL?.pointer ?? ffi.nullptr, isStale, error); @@ -3269,6 +3689,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// resourceValuesForKeys:fromBookmarkData: static objc.ObjCObjectBase? resourceValuesForKeys_fromBookmarkData_( NSArray keys, NSData bookmarkData) { final _ret = _objc_msgSend_147( @@ -3281,6 +3702,7 @@ class NSURL extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// writeBookmarkData:toURL:options:error: static bool writeBookmarkData_toURL_options_error_( NSData bookmarkData, NSURL bookmarkFileURL, @@ -3295,6 +3717,7 @@ class NSURL extends NSObject { error); } + /// bookmarkDataWithContentsOfURL:error: static NSData? bookmarkDataWithContentsOfURL_error_( NSURL bookmarkFileURL, ffi.Pointer> error) { final _ret = _objc_msgSend_149( @@ -3307,28 +3730,34 @@ class NSURL extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// URLByResolvingAliasFileAtURL:options:error: static NSURL? URLByResolvingAliasFileAtURL_options_error_( - NSURL url, int options, ffi.Pointer> error) { + NSURL url, + NSURLBookmarkResolutionOptions options, + ffi.Pointer> error) { final _ret = _objc_msgSend_150( _class_NSURL, _sel_URLByResolvingAliasFileAtURL_options_error_, url.pointer, - options, + options.value, error); return _ret.address == 0 ? null : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// startAccessingSecurityScopedResource bool startAccessingSecurityScopedResource() { return _objc_msgSend_13( this.pointer, _sel_startAccessingSecurityScopedResource); } + /// stopAccessingSecurityScopedResource void stopAccessingSecurityScopedResource() { _objc_msgSend_1(this.pointer, _sel_stopAccessingSecurityScopedResource); } + /// getPromisedItemResourceValue:forKey:error: bool getPromisedItemResourceValue_forKey_error_( ffi.Pointer> value, NSString key, @@ -3341,6 +3770,7 @@ class NSURL extends NSObject { error); } + /// promisedItemResourceValuesForKeys:error: NSDictionary? promisedItemResourceValuesForKeys_error_( NSArray keys, ffi.Pointer> error) { final _ret = _objc_msgSend_165(this.pointer, @@ -3350,12 +3780,14 @@ class NSURL extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// checkPromisedItemIsReachableAndReturnError: bool checkPromisedItemIsReachableAndReturnError_( ffi.Pointer> error) { return _objc_msgSend_138( this.pointer, _sel_checkPromisedItemIsReachableAndReturnError_, error); } + /// fileURLWithPathComponents: static NSURL? fileURLWithPathComponents_(NSArray components) { final _ret = _objc_msgSend_166( _class_NSURL, _sel_fileURLWithPathComponents_, components.pointer); @@ -3364,6 +3796,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// pathComponents NSArray? get pathComponents { final _ret = _objc_msgSend_136(this.pointer, _sel_pathComponents); return _ret.address == 0 @@ -3371,6 +3804,7 @@ class NSURL extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// lastPathComponent NSString? get lastPathComponent { final _ret = _objc_msgSend_58(this.pointer, _sel_lastPathComponent); return _ret.address == 0 @@ -3378,6 +3812,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// pathExtension NSString? get pathExtension { final _ret = _objc_msgSend_58(this.pointer, _sel_pathExtension); return _ret.address == 0 @@ -3385,6 +3820,7 @@ class NSURL extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// URLByAppendingPathComponent: NSURL? URLByAppendingPathComponent_(NSString pathComponent) { final _ret = _objc_msgSend_167( this.pointer, _sel_URLByAppendingPathComponent_, pathComponent.pointer); @@ -3393,6 +3829,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByAppendingPathComponent:isDirectory: NSURL? URLByAppendingPathComponent_isDirectory_( NSString pathComponent, bool isDirectory) { final _ret = _objc_msgSend_168( @@ -3405,6 +3842,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByDeletingLastPathComponent NSURL? get URLByDeletingLastPathComponent { final _ret = _objc_msgSend_59(this.pointer, _sel_URLByDeletingLastPathComponent); @@ -3413,6 +3851,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByAppendingPathExtension: NSURL? URLByAppendingPathExtension_(NSString pathExtension) { final _ret = _objc_msgSend_167( this.pointer, _sel_URLByAppendingPathExtension_, pathExtension.pointer); @@ -3421,6 +3860,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByDeletingPathExtension NSURL? get URLByDeletingPathExtension { final _ret = _objc_msgSend_59(this.pointer, _sel_URLByDeletingPathExtension); @@ -3429,6 +3869,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByStandardizingPath NSURL? get URLByStandardizingPath { final _ret = _objc_msgSend_59(this.pointer, _sel_URLByStandardizingPath); return _ret.address == 0 @@ -3436,6 +3877,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// URLByResolvingSymlinksInPath NSURL? get URLByResolvingSymlinksInPath { final _ret = _objc_msgSend_59(this.pointer, _sel_URLByResolvingSymlinksInPath); @@ -3444,6 +3886,7 @@ class NSURL extends NSObject { : NSURL.castFromPointer(_ret, retain: true, release: true); } + /// resourceDataUsingCache: NSData? resourceDataUsingCache_(bool shouldUseCache) { final _ret = _objc_msgSend_169( this.pointer, _sel_resourceDataUsingCache_, shouldUseCache); @@ -3452,6 +3895,7 @@ class NSURL extends NSObject { : NSData.castFromPointer(_ret, retain: true, release: true); } + /// loadResourceDataNotifyingClient:usingCache: void loadResourceDataNotifyingClient_usingCache_( objc.ObjCObjectBase client, bool shouldUseCache) { _objc_msgSend_170( @@ -3461,6 +3905,7 @@ class NSURL extends NSObject { shouldUseCache); } + /// propertyForKey: objc.ObjCObjectBase? propertyForKey_(NSString propertyKey) { final _ret = _objc_msgSend_52( this.pointer, _sel_propertyForKey_, propertyKey.pointer); @@ -3469,15 +3914,18 @@ class NSURL extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// setResourceData: bool setResourceData_(NSData data) { return _objc_msgSend_38(this.pointer, _sel_setResourceData_, data.pointer); } + /// setProperty:forKey: bool setProperty_forKey_(objc.ObjCObjectBase property, NSString propertyKey) { return _objc_msgSend_171(this.pointer, _sel_setProperty_forKey_, property.pointer, propertyKey.pointer); } + /// URLHandleUsingCache: NSURLHandle? URLHandleUsingCache_(bool shouldUseCache) { final _ret = _objc_msgSend_179( this.pointer, _sel_URLHandleUsingCache_, shouldUseCache); @@ -3486,21 +3934,25 @@ class NSURL extends NSObject { : NSURLHandle.castFromPointer(_ret, retain: true, release: true); } + /// init NSURL init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSURL.castFromPointer(_ret, retain: true, release: true); } + /// new static NSURL new1() { final _ret = _objc_msgSend_2(_class_NSURL, _sel_new); return NSURL.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSURL allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSURL, _sel_allocWithZone_, zone); return NSURL.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSURL alloc() { final _ret = _objc_msgSend_2(_class_NSURL, _sel_alloc); return NSURL.castFromPointer(_ret, retain: false, release: true); @@ -3804,6 +4256,7 @@ late final _sel_scheme = objc.registerName("scheme"); late final _sel_resourceSpecifier = objc.registerName("resourceSpecifier"); late final _sel_host = objc.registerName("host"); +/// NSNumber class NSNumber extends NSValue { NSNumber._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -3823,6 +4276,7 @@ class NSNumber extends NSValue { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSNumber); } + /// initWithCoder: NSNumber? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -3831,257 +4285,309 @@ class NSNumber extends NSValue { : NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithChar: NSNumber initWithChar_(int value) { final _ret = _objc_msgSend_60(this.pointer, _sel_initWithChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedChar: NSNumber initWithUnsignedChar_(int value) { final _ret = _objc_msgSend_61(this.pointer, _sel_initWithUnsignedChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithShort: NSNumber initWithShort_(int value) { final _ret = _objc_msgSend_62(this.pointer, _sel_initWithShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedShort: NSNumber initWithUnsignedShort_(int value) { final _ret = _objc_msgSend_63(this.pointer, _sel_initWithUnsignedShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithInt: NSNumber initWithInt_(int value) { final _ret = _objc_msgSend_64(this.pointer, _sel_initWithInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedInt: NSNumber initWithUnsignedInt_(int value) { final _ret = _objc_msgSend_65(this.pointer, _sel_initWithUnsignedInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithLong: NSNumber initWithLong_(int value) { final _ret = _objc_msgSend_66(this.pointer, _sel_initWithLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedLong: NSNumber initWithUnsignedLong_(int value) { final _ret = _objc_msgSend_67(this.pointer, _sel_initWithUnsignedLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithLongLong: NSNumber initWithLongLong_(int value) { final _ret = _objc_msgSend_68(this.pointer, _sel_initWithLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedLongLong: NSNumber initWithUnsignedLongLong_(int value) { final _ret = _objc_msgSend_69(this.pointer, _sel_initWithUnsignedLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithFloat: NSNumber initWithFloat_(double value) { final _ret = _objc_msgSend_70(this.pointer, _sel_initWithFloat_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithDouble: NSNumber initWithDouble_(double value) { final _ret = _objc_msgSend_71(this.pointer, _sel_initWithDouble_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithBool: NSNumber initWithBool_(bool value) { final _ret = _objc_msgSend_72(this.pointer, _sel_initWithBool_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithInteger: NSNumber initWithInteger_(int value) { final _ret = _objc_msgSend_66(this.pointer, _sel_initWithInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithUnsignedInteger: NSNumber initWithUnsignedInteger_(int value) { final _ret = _objc_msgSend_67(this.pointer, _sel_initWithUnsignedInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// charValue int get charValue { return _objc_msgSend_73(this.pointer, _sel_charValue); } + /// unsignedCharValue int get unsignedCharValue { return _objc_msgSend_74(this.pointer, _sel_unsignedCharValue); } + /// shortValue int get shortValue { return _objc_msgSend_75(this.pointer, _sel_shortValue); } + /// unsignedShortValue int get unsignedShortValue { return _objc_msgSend_76(this.pointer, _sel_unsignedShortValue); } + /// intValue int get intValue { return _objc_msgSend_77(this.pointer, _sel_intValue); } + /// unsignedIntValue int get unsignedIntValue { return _objc_msgSend_78(this.pointer, _sel_unsignedIntValue); } + /// longValue int get longValue { return _objc_msgSend_79(this.pointer, _sel_longValue); } + /// unsignedLongValue int get unsignedLongValue { return _objc_msgSend_11(this.pointer, _sel_unsignedLongValue); } + /// longLongValue int get longLongValue { return _objc_msgSend_80(this.pointer, _sel_longLongValue); } + /// unsignedLongLongValue int get unsignedLongLongValue { return _objc_msgSend_81(this.pointer, _sel_unsignedLongLongValue); } + /// floatValue double get floatValue { return objc.useMsgSendVariants ? _objc_msgSend_82Fpret(this.pointer, _sel_floatValue) : _objc_msgSend_82(this.pointer, _sel_floatValue); } + /// doubleValue double get doubleValue { return objc.useMsgSendVariants ? _objc_msgSend_83Fpret(this.pointer, _sel_doubleValue) : _objc_msgSend_83(this.pointer, _sel_doubleValue); } + /// boolValue bool get boolValue { return _objc_msgSend_13(this.pointer, _sel_boolValue); } + /// integerValue int get integerValue { return _objc_msgSend_79(this.pointer, _sel_integerValue); } + /// unsignedIntegerValue int get unsignedIntegerValue { return _objc_msgSend_11(this.pointer, _sel_unsignedIntegerValue); } + /// stringValue NSString get stringValue { final _ret = _objc_msgSend_35(this.pointer, _sel_stringValue); return NSString.castFromPointer(_ret, retain: true, release: true); } - int compare_(NSNumber otherNumber) { - return _objc_msgSend_84(this.pointer, _sel_compare_, otherNumber.pointer); + /// compare: + NSComparisonResult compare_(NSNumber otherNumber) { + final _ret = + _objc_msgSend_84(this.pointer, _sel_compare_, otherNumber.pointer); + return NSComparisonResult.fromValue(_ret); } + /// isEqualToNumber: bool isEqualToNumber_(NSNumber number) { return _objc_msgSend_85( this.pointer, _sel_isEqualToNumber_, number.pointer); } + /// descriptionWithLocale: NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// numberWithChar: static NSNumber numberWithChar_(int value) { final _ret = _objc_msgSend_60(_class_NSNumber, _sel_numberWithChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedChar: static NSNumber numberWithUnsignedChar_(int value) { final _ret = _objc_msgSend_61(_class_NSNumber, _sel_numberWithUnsignedChar_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithShort: static NSNumber numberWithShort_(int value) { final _ret = _objc_msgSend_62(_class_NSNumber, _sel_numberWithShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedShort: static NSNumber numberWithUnsignedShort_(int value) { final _ret = _objc_msgSend_63(_class_NSNumber, _sel_numberWithUnsignedShort_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithInt: static NSNumber numberWithInt_(int value) { final _ret = _objc_msgSend_64(_class_NSNumber, _sel_numberWithInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedInt: static NSNumber numberWithUnsignedInt_(int value) { final _ret = _objc_msgSend_65(_class_NSNumber, _sel_numberWithUnsignedInt_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithLong: static NSNumber numberWithLong_(int value) { final _ret = _objc_msgSend_66(_class_NSNumber, _sel_numberWithLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedLong: static NSNumber numberWithUnsignedLong_(int value) { final _ret = _objc_msgSend_67(_class_NSNumber, _sel_numberWithUnsignedLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithLongLong: static NSNumber numberWithLongLong_(int value) { final _ret = _objc_msgSend_68(_class_NSNumber, _sel_numberWithLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedLongLong: static NSNumber numberWithUnsignedLongLong_(int value) { final _ret = _objc_msgSend_69( _class_NSNumber, _sel_numberWithUnsignedLongLong_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithFloat: static NSNumber numberWithFloat_(double value) { final _ret = _objc_msgSend_70(_class_NSNumber, _sel_numberWithFloat_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithDouble: static NSNumber numberWithDouble_(double value) { final _ret = _objc_msgSend_71(_class_NSNumber, _sel_numberWithDouble_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithBool: static NSNumber numberWithBool_(bool value) { final _ret = _objc_msgSend_72(_class_NSNumber, _sel_numberWithBool_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithInteger: static NSNumber numberWithInteger_(int value) { final _ret = _objc_msgSend_66(_class_NSNumber, _sel_numberWithInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// numberWithUnsignedInteger: static NSNumber numberWithUnsignedInteger_(int value) { final _ret = _objc_msgSend_67( _class_NSNumber, _sel_numberWithUnsignedInteger_, value); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytes:objCType: NSNumber initWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_87( @@ -4089,6 +4595,7 @@ class NSNumber extends NSValue { return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// valueWithBytes:objCType: static NSValue valueWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_88( @@ -4096,6 +4603,7 @@ class NSNumber extends NSValue { return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// value:withObjCType: static NSValue value_withObjCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_88( @@ -4103,38 +4611,45 @@ class NSNumber extends NSValue { return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// valueWithNonretainedObject: static NSValue valueWithNonretainedObject_(objc.ObjCObjectBase? anObject) { final _ret = _objc_msgSend_89(_class_NSNumber, _sel_valueWithNonretainedObject_, anObject?.pointer ?? ffi.nullptr); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// valueWithPointer: static NSValue valueWithPointer_(ffi.Pointer pointer) { final _ret = _objc_msgSend_91(_class_NSNumber, _sel_valueWithPointer_, pointer); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// valueWithRange: static NSValue valueWithRange_(NSRange range) { final _ret = _objc_msgSend_94(_class_NSNumber, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// init NSNumber init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSNumber.castFromPointer(_ret, retain: true, release: true); } + /// new static NSNumber new1() { final _ret = _objc_msgSend_2(_class_NSNumber, _sel_new); return NSNumber.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSNumber allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSNumber, _sel_allocWithZone_, zone); return NSNumber.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSNumber alloc() { final _ret = _objc_msgSend_2(_class_NSNumber, _sel_alloc); return NSNumber.castFromPointer(_ret, retain: false, release: true); @@ -4392,7 +4907,7 @@ late final _sel_stringValue = objc.registerName("stringValue"); final _objc_msgSend_84 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() @@ -4444,6 +4959,7 @@ late final _sel_numberWithInteger_ = objc.registerName("numberWithInteger:"); late final _sel_numberWithUnsignedInteger_ = objc.registerName("numberWithUnsignedInteger:"); +/// NSValue class NSValue extends NSObject { NSValue._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -4463,14 +4979,17 @@ class NSValue extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSValue); } + /// getValue:size: void getValue_size_(ffi.Pointer value, int size) { _objc_msgSend_36(this.pointer, _sel_getValue_size_, value, size); } + /// objCType ffi.Pointer get objCType { return _objc_msgSend_14(this.pointer, _sel_objCType); } + /// initWithBytes:objCType: NSValue initWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_87( @@ -4478,6 +4997,7 @@ class NSValue extends NSObject { return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSValue? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -4486,6 +5006,7 @@ class NSValue extends NSObject { : NSValue.castFromPointer(_ret, retain: true, release: true); } + /// valueWithBytes:objCType: static NSValue valueWithBytes_objCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = _objc_msgSend_88( @@ -4493,6 +5014,7 @@ class NSValue extends NSObject { return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// value:withObjCType: static NSValue value_withObjCType_( ffi.Pointer value, ffi.Pointer type) { final _ret = @@ -4500,12 +5022,14 @@ class NSValue extends NSObject { return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// valueWithNonretainedObject: static NSValue valueWithNonretainedObject_(objc.ObjCObjectBase? anObject) { final _ret = _objc_msgSend_89(_class_NSValue, _sel_valueWithNonretainedObject_, anObject?.pointer ?? ffi.nullptr); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// nonretainedObjectValue objc.ObjCObjectBase? get nonretainedObjectValue { final _ret = _objc_msgSend_90(this.pointer, _sel_nonretainedObjectValue); return _ret.address == 0 @@ -4513,50 +5037,60 @@ class NSValue extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// valueWithPointer: static NSValue valueWithPointer_(ffi.Pointer pointer) { final _ret = _objc_msgSend_91(_class_NSValue, _sel_valueWithPointer_, pointer); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// pointerValue ffi.Pointer get pointerValue { return _objc_msgSend_34(this.pointer, _sel_pointerValue); } + /// isEqualToValue: bool isEqualToValue_(NSValue value) { return _objc_msgSend_92(this.pointer, _sel_isEqualToValue_, value.pointer); } + /// getValue: void getValue_(ffi.Pointer value) { _objc_msgSend_93(this.pointer, _sel_getValue_, value); } + /// valueWithRange: static NSValue valueWithRange_(NSRange range) { final _ret = _objc_msgSend_94(_class_NSValue, _sel_valueWithRange_, range); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// rangeValue void getRangeValue(ffi.Pointer stret) { objc.useMsgSendVariants ? _objc_msgSend_95Stret(stret, this.pointer, _sel_rangeValue) : stret.ref = _objc_msgSend_95(this.pointer, _sel_rangeValue); } + /// init NSValue init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSValue.castFromPointer(_ret, retain: true, release: true); } + /// new static NSValue new1() { final _ret = _objc_msgSend_2(_class_NSValue, _sel_new); return NSValue.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSValue allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSValue, _sel_allocWithZone_, zone); return NSValue.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSValue alloc() { final _ret = _objc_msgSend_2(_class_NSValue, _sel_alloc); return NSValue.castFromPointer(_ret, retain: false, release: true); @@ -4714,6 +5248,7 @@ late final _sel_fileSystemRepresentation = late final _sel_isFileURL = objc.registerName("isFileURL"); late final _sel_standardizedURL = objc.registerName("standardizedURL"); +/// NSError class NSError extends NSObject { NSError._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -4733,6 +5268,7 @@ class NSError extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSError); } + /// initWithDomain:code:userInfo: NSError initWithDomain_code_userInfo_( NSString domain, int code, objc.ObjCObjectBase? dict) { final _ret = _objc_msgSend_98( @@ -4744,6 +5280,7 @@ class NSError extends NSObject { return NSError.castFromPointer(_ret, retain: true, release: true); } + /// errorWithDomain:code:userInfo: static NSError errorWithDomain_code_userInfo_( NSString domain, int code, objc.ObjCObjectBase? dict) { final _ret = _objc_msgSend_98( @@ -4755,25 +5292,30 @@ class NSError extends NSObject { return NSError.castFromPointer(_ret, retain: true, release: true); } + /// domain NSString get domain { final _ret = _objc_msgSend_35(this.pointer, _sel_domain); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// code int get code { return _objc_msgSend_79(this.pointer, _sel_code); } + /// userInfo objc.ObjCObjectBase get userInfo { final _ret = _objc_msgSend_2(this.pointer, _sel_userInfo); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// localizedDescription NSString get localizedDescription { final _ret = _objc_msgSend_35(this.pointer, _sel_localizedDescription); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedFailureReason NSString? get localizedFailureReason { final _ret = _objc_msgSend_58(this.pointer, _sel_localizedFailureReason); return _ret.address == 0 @@ -4781,6 +5323,7 @@ class NSError extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedRecoverySuggestion NSString? get localizedRecoverySuggestion { final _ret = _objc_msgSend_58(this.pointer, _sel_localizedRecoverySuggestion); @@ -4789,6 +5332,7 @@ class NSError extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// localizedRecoveryOptions NSArray? get localizedRecoveryOptions { final _ret = _objc_msgSend_136(this.pointer, _sel_localizedRecoveryOptions); return _ret.address == 0 @@ -4796,6 +5340,7 @@ class NSError extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// recoveryAttempter objc.ObjCObjectBase? get recoveryAttempter { final _ret = _objc_msgSend_90(this.pointer, _sel_recoveryAttempter); return _ret.address == 0 @@ -4803,6 +5348,7 @@ class NSError extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// helpAnchor NSString? get helpAnchor { final _ret = _objc_msgSend_58(this.pointer, _sel_helpAnchor); return _ret.address == 0 @@ -4810,26 +5356,31 @@ class NSError extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// underlyingErrors NSArray get underlyingErrors { final _ret = _objc_msgSend_137(this.pointer, _sel_underlyingErrors); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// init NSError init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSError.castFromPointer(_ret, retain: true, release: true); } + /// new static NSError new1() { final _ret = _objc_msgSend_2(_class_NSError, _sel_new); return NSError.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSError allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSError, _sel_allocWithZone_, zone); return NSError.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSError alloc() { final _ret = _objc_msgSend_2(_class_NSError, _sel_alloc); return NSError.castFromPointer(_ret, retain: false, release: true); @@ -4867,6 +5418,7 @@ late final _sel_localizedFailureReason = late final _sel_localizedRecoverySuggestion = objc.registerName("localizedRecoverySuggestion"); +/// NSArray class NSArray extends NSObject { NSArray._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -4886,20 +5438,24 @@ class NSArray extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSArray); } + /// count int get count { return _objc_msgSend_11(this.pointer, _sel_count); } + /// objectAtIndex: objc.ObjCObjectBase objectAtIndex_(int index) { final _ret = _objc_msgSend_99(this.pointer, _sel_objectAtIndex_, index); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// init NSArray init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects:count: NSArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -4907,6 +5463,7 @@ class NSArray extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSArray? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -4915,40 +5472,47 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayByAddingObject: NSArray arrayByAddingObject_(objc.ObjCObjectBase anObject) { final _ret = _objc_msgSend_101( this.pointer, _sel_arrayByAddingObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayByAddingObjectsFromArray: NSArray arrayByAddingObjectsFromArray_(NSArray otherArray) { final _ret = _objc_msgSend_102( this.pointer, _sel_arrayByAddingObjectsFromArray_, otherArray.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// componentsJoinedByString: NSString componentsJoinedByString_(NSString separator) { final _ret = _objc_msgSend_103( this.pointer, _sel_componentsJoinedByString_, separator.pointer); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// containsObject: bool containsObject_(objc.ObjCObjectBase anObject) { return _objc_msgSend_0( this.pointer, _sel_containsObject_, anObject.pointer); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale: NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale:indent: NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { final _ret = _objc_msgSend_104( @@ -4959,6 +5523,7 @@ class NSArray extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// firstObjectCommonWithArray: objc.ObjCObjectBase? firstObjectCommonWithArray_(NSArray otherArray) { final _ret = _objc_msgSend_105( this.pointer, _sel_firstObjectCommonWithArray_, otherArray.pointer); @@ -4967,37 +5532,44 @@ class NSArray extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// getObjects:range: void getObjects_range_( ffi.Pointer> objects, NSRange range) { _objc_msgSend_106(this.pointer, _sel_getObjects_range_, objects, range); } + /// indexOfObject: int indexOfObject_(objc.ObjCObjectBase anObject) { return _objc_msgSend_107( this.pointer, _sel_indexOfObject_, anObject.pointer); } + /// indexOfObject:inRange: int indexOfObject_inRange_(objc.ObjCObjectBase anObject, NSRange range) { return _objc_msgSend_108( this.pointer, _sel_indexOfObject_inRange_, anObject.pointer, range); } + /// indexOfObjectIdenticalTo: int indexOfObjectIdenticalTo_(objc.ObjCObjectBase anObject) { return _objc_msgSend_107( this.pointer, _sel_indexOfObjectIdenticalTo_, anObject.pointer); } + /// indexOfObjectIdenticalTo:inRange: int indexOfObjectIdenticalTo_inRange_( objc.ObjCObjectBase anObject, NSRange range) { return _objc_msgSend_108(this.pointer, _sel_indexOfObjectIdenticalTo_inRange_, anObject.pointer, range); } + /// isEqualToArray: bool isEqualToArray_(NSArray otherArray) { return _objc_msgSend_109( this.pointer, _sel_isEqualToArray_, otherArray.pointer); } + /// firstObject objc.ObjCObjectBase? get firstObject { final _ret = _objc_msgSend_90(this.pointer, _sel_firstObject); return _ret.address == 0 @@ -5005,6 +5577,7 @@ class NSArray extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// lastObject objc.ObjCObjectBase? get lastObject { final _ret = _objc_msgSend_90(this.pointer, _sel_lastObject); return _ret.address == 0 @@ -5012,21 +5585,25 @@ class NSArray extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// objectEnumerator NSEnumerator objectEnumerator() { final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// reverseObjectEnumerator NSEnumerator reverseObjectEnumerator() { final _ret = _objc_msgSend_110(this.pointer, _sel_reverseObjectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// sortedArrayHint NSData get sortedArrayHint { final _ret = _objc_msgSend_57(this.pointer, _sel_sortedArrayHint); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// sortedArrayUsingFunction:context: NSArray sortedArrayUsingFunction_context_( ffi.Pointer< ffi.NativeFunction< @@ -5039,6 +5616,7 @@ class NSArray extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// sortedArrayUsingFunction:context:hint: NSArray sortedArrayUsingFunction_context_hint_( ffi.Pointer< ffi.NativeFunction< @@ -5056,57 +5634,67 @@ class NSArray extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// sortedArrayUsingSelector: NSArray sortedArrayUsingSelector_(ffi.Pointer comparator) { final _ret = _objc_msgSend_113( this.pointer, _sel_sortedArrayUsingSelector_, comparator); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// subarrayWithRange: NSArray subarrayWithRange_(NSRange range) { final _ret = _objc_msgSend_114(this.pointer, _sel_subarrayWithRange_, range); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// writeToURL:error: bool writeToURL_error_( NSURL url, ffi.Pointer> error) { return _objc_msgSend_115( this.pointer, _sel_writeToURL_error_, url.pointer, error); } + /// makeObjectsPerformSelector: void makeObjectsPerformSelector_(ffi.Pointer aSelector) { _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); } + /// makeObjectsPerformSelector:withObject: void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } + /// objectsAtIndexes: NSArray objectsAtIndexes_(NSIndexSet indexes) { final _ret = _objc_msgSend_125( this.pointer, _sel_objectsAtIndexes_, indexes.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// objectAtIndexedSubscript: objc.ObjCObjectBase objectAtIndexedSubscript_(int idx) { final _ret = _objc_msgSend_99(this.pointer, _sel_objectAtIndexedSubscript_, idx); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// array static NSArray array() { final _ret = _objc_msgSend_2(_class_NSArray, _sel_array); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObject: static NSArray arrayWithObject_(objc.ObjCObjectBase anObject) { final _ret = _objc_msgSend_126( _class_NSArray, _sel_arrayWithObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObjects:count: static NSArray arrayWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -5114,36 +5702,42 @@ class NSArray extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObjects: static NSArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( _class_NSArray, _sel_arrayWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithArray: static NSArray arrayWithArray_(NSArray array) { final _ret = _objc_msgSend_127(_class_NSArray, _sel_arrayWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects: NSArray initWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithArray: NSArray initWithArray_(NSArray array) { final _ret = _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithArray:copyItems: NSArray initWithArray_copyItems_(NSArray array, bool flag) { final _ret = _objc_msgSend_128( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSArray.castFromPointer(_ret, retain: false, release: true); } + /// initWithContentsOfURL:error: NSArray? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_129( @@ -5153,6 +5747,7 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithContentsOfURL:error: static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_129( @@ -5162,19 +5757,22 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// differenceFromArray:withOptions: objc.ObjCObjectBase differenceFromArray_withOptions_( - NSArray other, int options) { + NSArray other, NSOrderedCollectionDifferenceCalculationOptions options) { final _ret = _objc_msgSend_130(this.pointer, - _sel_differenceFromArray_withOptions_, other.pointer, options); + _sel_differenceFromArray_withOptions_, other.pointer, options.value); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// differenceFromArray: objc.ObjCObjectBase differenceFromArray_(NSArray other) { final _ret = _objc_msgSend_127( this.pointer, _sel_differenceFromArray_, other.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// arrayByApplyingDifference: NSArray? arrayByApplyingDifference_(objc.ObjCObjectBase difference) { final _ret = _objc_msgSend_131( this.pointer, _sel_arrayByApplyingDifference_, difference.pointer); @@ -5183,10 +5781,12 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// getObjects: void getObjects_(ffi.Pointer> objects) { _objc_msgSend_132(this.pointer, _sel_getObjects_, objects); } + /// arrayWithContentsOfFile: static NSArray? arrayWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_133( _class_NSArray, _sel_arrayWithContentsOfFile_, path.pointer); @@ -5195,6 +5795,7 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithContentsOfURL: static NSArray? arrayWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_134( _class_NSArray, _sel_arrayWithContentsOfURL_, url.pointer); @@ -5203,6 +5804,7 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSArray? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_133( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -5211,6 +5813,7 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSArray? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_134( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -5219,26 +5822,31 @@ class NSArray extends NSObject { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// writeToFile:atomically: bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } + /// writeToURL:atomically: bool writeToURL_atomically_(NSURL url, bool atomically) { return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } + /// new static NSArray new1() { final _ret = _objc_msgSend_2(_class_NSArray, _sel_new); return NSArray.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSArray allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSArray, _sel_allocWithZone_, zone); return NSArray.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSArray alloc() { final _ret = _objc_msgSend_2(_class_NSArray, _sel_alloc); return NSArray.castFromPointer(_ret, retain: false, release: true); @@ -5397,6 +6005,7 @@ final _objc_msgSend_109 = objc.msgSendPointer late final _sel_firstObject = objc.registerName("firstObject"); late final _sel_lastObject = objc.registerName("lastObject"); +/// NSEnumerator class NSEnumerator extends NSObject { NSEnumerator._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -5417,6 +6026,7 @@ class NSEnumerator extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSEnumerator); } + /// nextObject objc.ObjCObjectBase? nextObject() { final _ret = _objc_msgSend_90(this.pointer, _sel_nextObject); return _ret.address == 0 @@ -5424,27 +6034,32 @@ class NSEnumerator extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// allObjects objc.ObjCObjectBase get allObjects { final _ret = _objc_msgSend_2(this.pointer, _sel_allObjects); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// init NSEnumerator init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// new static NSEnumerator new1() { final _ret = _objc_msgSend_2(_class_NSEnumerator, _sel_new); return NSEnumerator.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSEnumerator allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSEnumerator, _sel_allocWithZone_, zone); return NSEnumerator.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSEnumerator alloc() { final _ret = _objc_msgSend_2(_class_NSEnumerator, _sel_alloc); return NSEnumerator.castFromPointer(_ret, retain: false, release: true); @@ -5571,6 +6186,7 @@ final _objc_msgSend_116 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); +/// NSIndexSet class NSIndexSet extends NSObject { NSIndexSet._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -5590,75 +6206,90 @@ class NSIndexSet extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSIndexSet); } + /// indexSet static NSIndexSet indexSet() { final _ret = _objc_msgSend_2(_class_NSIndexSet, _sel_indexSet); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// indexSetWithIndex: static NSIndexSet indexSetWithIndex_(int value) { final _ret = _objc_msgSend_99(_class_NSIndexSet, _sel_indexSetWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// indexSetWithIndexesInRange: static NSIndexSet indexSetWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117( _class_NSIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndexesInRange: NSIndexSet initWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndexSet: NSIndexSet initWithIndexSet_(NSIndexSet indexSet) { final _ret = _objc_msgSend_118( this.pointer, _sel_initWithIndexSet_, indexSet.pointer); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndex: NSIndexSet initWithIndex_(int value) { final _ret = _objc_msgSend_99(this.pointer, _sel_initWithIndex_, value); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// isEqualToIndexSet: bool isEqualToIndexSet_(NSIndexSet indexSet) { return _objc_msgSend_119( this.pointer, _sel_isEqualToIndexSet_, indexSet.pointer); } + /// count int get count { return _objc_msgSend_11(this.pointer, _sel_count); } + /// firstIndex int get firstIndex { return _objc_msgSend_11(this.pointer, _sel_firstIndex); } + /// lastIndex int get lastIndex { return _objc_msgSend_11(this.pointer, _sel_lastIndex); } + /// indexGreaterThanIndex: int indexGreaterThanIndex_(int value) { return _objc_msgSend_120(this.pointer, _sel_indexGreaterThanIndex_, value); } + /// indexLessThanIndex: int indexLessThanIndex_(int value) { return _objc_msgSend_120(this.pointer, _sel_indexLessThanIndex_, value); } + /// indexGreaterThanOrEqualToIndex: int indexGreaterThanOrEqualToIndex_(int value) { return _objc_msgSend_120( this.pointer, _sel_indexGreaterThanOrEqualToIndex_, value); } + /// indexLessThanOrEqualToIndex: int indexLessThanOrEqualToIndex_(int value) { return _objc_msgSend_120( this.pointer, _sel_indexLessThanOrEqualToIndex_, value); } + /// getIndexes:maxCount:inIndexRange: int getIndexes_maxCount_inIndexRange_( ffi.Pointer indexBuffer, int bufferSize, @@ -5667,43 +6298,52 @@ class NSIndexSet extends NSObject { _sel_getIndexes_maxCount_inIndexRange_, indexBuffer, bufferSize, range); } + /// countOfIndexesInRange: int countOfIndexesInRange_(NSRange range) { return _objc_msgSend_122(this.pointer, _sel_countOfIndexesInRange_, range); } + /// containsIndex: bool containsIndex_(int value) { return _objc_msgSend_123(this.pointer, _sel_containsIndex_, value); } + /// containsIndexesInRange: bool containsIndexesInRange_(NSRange range) { return _objc_msgSend_124(this.pointer, _sel_containsIndexesInRange_, range); } + /// containsIndexes: bool containsIndexes_(NSIndexSet indexSet) { return _objc_msgSend_119( this.pointer, _sel_containsIndexes_, indexSet.pointer); } + /// intersectsIndexesInRange: bool intersectsIndexesInRange_(NSRange range) { return _objc_msgSend_124( this.pointer, _sel_intersectsIndexesInRange_, range); } + /// init NSIndexSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// new static NSIndexSet new1() { final _ret = _objc_msgSend_2(_class_NSIndexSet, _sel_new); return NSIndexSet.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSIndexSet allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSIndexSet, _sel_allocWithZone_, zone); return NSIndexSet.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSIndexSet alloc() { final _ret = _objc_msgSend_2(_class_NSIndexSet, _sel_alloc); return NSIndexSet.castFromPointer(_ret, retain: false, release: true); @@ -5891,12 +6531,22 @@ final _objc_msgSend_129 = objc.msgSendPointer late final _sel_arrayWithContentsOfURL_error_ = objc.registerName("arrayWithContentsOfURL:error:"); -abstract class NSOrderedCollectionDifferenceCalculationOptions { - static const int NSOrderedCollectionDifferenceCalculationOmitInsertedObjects = - 1; - static const int NSOrderedCollectionDifferenceCalculationOmitRemovedObjects = - 2; - static const int NSOrderedCollectionDifferenceCalculationInferMoves = 4; +enum NSOrderedCollectionDifferenceCalculationOptions { + NSOrderedCollectionDifferenceCalculationOmitInsertedObjects(1), + NSOrderedCollectionDifferenceCalculationOmitRemovedObjects(2), + NSOrderedCollectionDifferenceCalculationInferMoves(4); + + final int value; + const NSOrderedCollectionDifferenceCalculationOptions(this.value); + + static NSOrderedCollectionDifferenceCalculationOptions fromValue(int value) => + switch (value) { + 1 => NSOrderedCollectionDifferenceCalculationOmitInsertedObjects, + 2 => NSOrderedCollectionDifferenceCalculationOmitRemovedObjects, + 4 => NSOrderedCollectionDifferenceCalculationInferMoves, + _ => throw ArgumentError( + "Unknown value for NSOrderedCollectionDifferenceCalculationOptions: $value"), + }; } late final _sel_differenceFromArray_withOptions_ = @@ -5908,7 +6558,7 @@ final _objc_msgSend_130 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< ffi.Pointer Function( ffi.Pointer, @@ -6123,14 +6773,27 @@ final _objc_msgSend_144 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); -abstract class NSURLBookmarkCreationOptions { - static const int NSURLBookmarkCreationPreferFileIDResolution = 256; - static const int NSURLBookmarkCreationMinimalBookmark = 512; - static const int NSURLBookmarkCreationSuitableForBookmarkFile = 1024; - static const int NSURLBookmarkCreationWithSecurityScope = 2048; - static const int NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess = 4096; - static const int NSURLBookmarkCreationWithoutImplicitSecurityScope = - 536870912; +enum NSURLBookmarkCreationOptions { + NSURLBookmarkCreationPreferFileIDResolution(256), + NSURLBookmarkCreationMinimalBookmark(512), + NSURLBookmarkCreationSuitableForBookmarkFile(1024), + NSURLBookmarkCreationWithSecurityScope(2048), + NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess(4096), + NSURLBookmarkCreationWithoutImplicitSecurityScope(536870912); + + final int value; + const NSURLBookmarkCreationOptions(this.value); + + static NSURLBookmarkCreationOptions fromValue(int value) => switch (value) { + 256 => NSURLBookmarkCreationPreferFileIDResolution, + 512 => NSURLBookmarkCreationMinimalBookmark, + 1024 => NSURLBookmarkCreationSuitableForBookmarkFile, + 2048 => NSURLBookmarkCreationWithSecurityScope, + 4096 => NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess, + 536870912 => NSURLBookmarkCreationWithoutImplicitSecurityScope, + _ => throw ArgumentError( + "Unknown value for NSURLBookmarkCreationOptions: $value"), + }; } late final _sel_bookmarkDataWithOptions_includingResourceValuesForKeys_relativeToURL_error_ = @@ -6142,7 +6805,7 @@ final _objc_msgSend_145 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer, ffi.Pointer, ffi.Pointer>)>>() @@ -6155,11 +6818,23 @@ final _objc_msgSend_145 = objc.msgSendPointer ffi.Pointer, ffi.Pointer>)>(); -abstract class NSURLBookmarkResolutionOptions { - static const int NSURLBookmarkResolutionWithoutUI = 256; - static const int NSURLBookmarkResolutionWithoutMounting = 512; - static const int NSURLBookmarkResolutionWithSecurityScope = 1024; - static const int NSURLBookmarkResolutionWithoutImplicitStartAccessing = 32768; +enum NSURLBookmarkResolutionOptions { + NSURLBookmarkResolutionWithoutUI(256), + NSURLBookmarkResolutionWithoutMounting(512), + NSURLBookmarkResolutionWithSecurityScope(1024), + NSURLBookmarkResolutionWithoutImplicitStartAccessing(32768); + + final int value; + const NSURLBookmarkResolutionOptions(this.value); + + static NSURLBookmarkResolutionOptions fromValue(int value) => switch (value) { + 256 => NSURLBookmarkResolutionWithoutUI, + 512 => NSURLBookmarkResolutionWithoutMounting, + 1024 => NSURLBookmarkResolutionWithSecurityScope, + 32768 => NSURLBookmarkResolutionWithoutImplicitStartAccessing, + _ => throw ArgumentError( + "Unknown value for NSURLBookmarkResolutionOptions: $value"), + }; } late final _sel_initByResolvingBookmarkData_options_relativeToURL_bookmarkDataIsStale_error_ = @@ -6172,7 +6847,7 @@ final _objc_msgSend_146 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer, ffi.Pointer, ffi.Pointer>)>>() @@ -6249,7 +6924,7 @@ final _objc_msgSend_150 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< instancetype Function( @@ -6265,6 +6940,7 @@ late final _sel_stopAccessingSecurityScopedResource = late final _sel_getPromisedItemResourceValue_forKey_error_ = objc.registerName("getPromisedItemResourceValue:forKey:error:"); +/// NSDictionary class NSDictionary extends NSObject { NSDictionary._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -6285,10 +6961,12 @@ class NSDictionary extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSDictionary); } + /// count int get count { return _objc_msgSend_11(this.pointer, _sel_count); } + /// objectForKey: objc.ObjCObjectBase? objectForKey_(objc.ObjCObjectBase aKey) { final _ret = _objc_msgSend_151(this.pointer, _sel_objectForKey_, aKey.pointer); @@ -6297,16 +6975,19 @@ class NSDictionary extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// keyEnumerator NSEnumerator keyEnumerator() { final _ret = _objc_msgSend_110(this.pointer, _sel_keyEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// init NSDictionary init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects:forKeys:count: NSDictionary initWithObjects_forKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, @@ -6316,6 +6997,7 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSDictionary? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -6324,39 +7006,46 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// allKeys NSArray get allKeys { final _ret = _objc_msgSend_137(this.pointer, _sel_allKeys); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// allKeysForObject: NSArray allKeysForObject_(objc.ObjCObjectBase anObject) { final _ret = _objc_msgSend_101( this.pointer, _sel_allKeysForObject_, anObject.pointer); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// allValues NSArray get allValues { final _ret = _objc_msgSend_137(this.pointer, _sel_allValues); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionInStringsFileFormat NSString get descriptionInStringsFileFormat { final _ret = _objc_msgSend_35(this.pointer, _sel_descriptionInStringsFileFormat); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale: NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale:indent: NSString descriptionWithLocale_indent_( objc.ObjCObjectBase? locale, int level) { final _ret = _objc_msgSend_104( @@ -6367,16 +7056,19 @@ class NSDictionary extends NSObject { return NSString.castFromPointer(_ret, retain: true, release: true); } + /// isEqualToDictionary: bool isEqualToDictionary_(NSDictionary otherDictionary) { return _objc_msgSend_153( this.pointer, _sel_isEqualToDictionary_, otherDictionary.pointer); } + /// objectEnumerator NSEnumerator objectEnumerator() { final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// objectsForKeys:notFoundMarker: NSArray objectsForKeys_notFoundMarker_( NSArray keys, objc.ObjCObjectBase marker) { final _ret = _objc_msgSend_154(this.pointer, @@ -6384,12 +7076,14 @@ class NSDictionary extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// writeToURL:error: bool writeToURL_error_( NSURL url, ffi.Pointer> error) { return _objc_msgSend_115( this.pointer, _sel_writeToURL_error_, url.pointer, error); } + /// keysSortedByValueUsingSelector: NSArray keysSortedByValueUsingSelector_( ffi.Pointer comparator) { final _ret = _objc_msgSend_113( @@ -6397,6 +7091,7 @@ class NSDictionary extends NSObject { return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// getObjects:andKeys:count: void getObjects_andKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, @@ -6405,6 +7100,7 @@ class NSDictionary extends NSObject { this.pointer, _sel_getObjects_andKeys_count_, objects, keys, count); } + /// objectForKeyedSubscript: objc.ObjCObjectBase? objectForKeyedSubscript_(objc.ObjCObjectBase key) { final _ret = _objc_msgSend_151( this.pointer, _sel_objectForKeyedSubscript_, key.pointer); @@ -6413,11 +7109,13 @@ class NSDictionary extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// getObjects:andKeys: void getObjects_andKeys_(ffi.Pointer> objects, ffi.Pointer> keys) { _objc_msgSend_156(this.pointer, _sel_getObjects_andKeys_, objects, keys); } + /// dictionaryWithContentsOfFile: static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_157( _class_NSDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); @@ -6426,6 +7124,7 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithContentsOfURL: static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_158( _class_NSDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); @@ -6434,6 +7133,7 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSDictionary? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_157( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -6442,6 +7142,7 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSDictionary? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_158( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -6450,21 +7151,25 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// writeToFile:atomically: bool writeToFile_atomically_(NSString path, bool useAuxiliaryFile) { return _objc_msgSend_40(this.pointer, _sel_writeToFile_atomically_, path.pointer, useAuxiliaryFile); } + /// writeToURL:atomically: bool writeToURL_atomically_(NSURL url, bool atomically) { return _objc_msgSend_135( this.pointer, _sel_writeToURL_atomically_, url.pointer, atomically); } + /// dictionary static NSDictionary dictionary() { final _ret = _objc_msgSend_2(_class_NSDictionary, _sel_dictionary); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithObject:forKey: static NSDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { final _ret = _objc_msgSend_159(_class_NSDictionary, @@ -6472,6 +7177,7 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithObjects:forKeys:count: static NSDictionary dictionaryWithObjects_forKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, @@ -6481,6 +7187,7 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithObjectsAndKeys: static NSDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { final _ret = _objc_msgSend_126(_class_NSDictionary, @@ -6488,12 +7195,14 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithDictionary: static NSDictionary dictionaryWithDictionary_(NSDictionary dict) { final _ret = _objc_msgSend_160( _class_NSDictionary, _sel_dictionaryWithDictionary_, dict.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithObjects:forKeys: static NSDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { final _ret = _objc_msgSend_161(_class_NSDictionary, @@ -6501,18 +7210,21 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjectsAndKeys: NSDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithDictionary: NSDictionary initWithDictionary_(NSDictionary otherDictionary) { final _ret = _objc_msgSend_160( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithDictionary:copyItems: NSDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { final _ret = _objc_msgSend_162(this.pointer, @@ -6520,12 +7232,14 @@ class NSDictionary extends NSObject { return NSDictionary.castFromPointer(_ret, retain: false, release: true); } + /// initWithObjects:forKeys: NSDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { final _ret = _objc_msgSend_161(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); return NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL:error: NSDictionary? initWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_163( @@ -6535,6 +7249,7 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithContentsOfURL:error: static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_163(_class_NSDictionary, @@ -6544,12 +7259,14 @@ class NSDictionary extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// sharedKeySetForKeys: static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { final _ret = _objc_msgSend_127( _class_NSDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// countByEnumeratingWithState:objects:count: int countByEnumeratingWithState_objects_count_( ffi.Pointer state, ffi.Pointer> buffer, @@ -6558,17 +7275,20 @@ class NSDictionary extends NSObject { _sel_countByEnumeratingWithState_objects_count_, state, buffer, len); } + /// new static NSDictionary new1() { final _ret = _objc_msgSend_2(_class_NSDictionary, _sel_new); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSDictionary allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSDictionary, _sel_allocWithZone_, zone); return NSDictionary.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSDictionary alloc() { final _ret = _objc_msgSend_2(_class_NSDictionary, _sel_alloc); return NSDictionary.castFromPointer(_ret, retain: false, release: true); @@ -6934,6 +7654,7 @@ final _objc_msgSend_171 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); +/// NSURLHandle class NSURLHandle extends NSObject { NSURLHandle._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -6954,137 +7675,166 @@ class NSURLHandle extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSURLHandle); } + /// registerURLHandleClass: static void registerURLHandleClass_(objc.ObjCObjectBase anURLHandleSubclass) { _objc_msgSend_172(_class_NSURLHandle, _sel_registerURLHandleClass_, anURLHandleSubclass.pointer); } + /// URLHandleClassForURL: static objc.ObjCObjectBase URLHandleClassForURL_(NSURL anURL) { final _ret = _objc_msgSend_173( _class_NSURLHandle, _sel_URLHandleClassForURL_, anURL.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } - int status() { - return _objc_msgSend_174(this.pointer, _sel_status); + /// status + NSURLHandleStatus status() { + final _ret = _objc_msgSend_174(this.pointer, _sel_status); + return NSURLHandleStatus.fromValue(_ret); } + /// failureReason NSString failureReason() { final _ret = _objc_msgSend_35(this.pointer, _sel_failureReason); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// addClient: void addClient_(objc.ObjCObjectBase client) { _objc_msgSend_172(this.pointer, _sel_addClient_, client.pointer); } + /// removeClient: void removeClient_(objc.ObjCObjectBase client) { _objc_msgSend_172(this.pointer, _sel_removeClient_, client.pointer); } + /// loadInBackground void loadInBackground() { _objc_msgSend_1(this.pointer, _sel_loadInBackground); } + /// cancelLoadInBackground void cancelLoadInBackground() { _objc_msgSend_1(this.pointer, _sel_cancelLoadInBackground); } + /// resourceData NSData resourceData() { final _ret = _objc_msgSend_57(this.pointer, _sel_resourceData); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// availableResourceData NSData availableResourceData() { final _ret = _objc_msgSend_57(this.pointer, _sel_availableResourceData); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// expectedResourceDataSize int expectedResourceDataSize() { return _objc_msgSend_80(this.pointer, _sel_expectedResourceDataSize); } + /// flushCachedData void flushCachedData() { _objc_msgSend_1(this.pointer, _sel_flushCachedData); } + /// backgroundLoadDidFailWithReason: void backgroundLoadDidFailWithReason_(NSString reason) { _objc_msgSend_143( this.pointer, _sel_backgroundLoadDidFailWithReason_, reason.pointer); } + /// didLoadBytes:loadComplete: void didLoadBytes_loadComplete_(NSData newBytes, bool yorn) { _objc_msgSend_175( this.pointer, _sel_didLoadBytes_loadComplete_, newBytes.pointer, yorn); } + /// canInitWithURL: static bool canInitWithURL_(NSURL anURL) { return _objc_msgSend_176( _class_NSURLHandle, _sel_canInitWithURL_, anURL.pointer); } + /// cachedHandleForURL: static NSURLHandle cachedHandleForURL_(NSURL anURL) { final _ret = _objc_msgSend_177( _class_NSURLHandle, _sel_cachedHandleForURL_, anURL.pointer); return NSURLHandle.castFromPointer(_ret, retain: true, release: true); } + /// initWithURL:cached: objc.ObjCObjectBase initWithURL_cached_(NSURL anURL, bool willCache) { final _ret = _objc_msgSend_178( this.pointer, _sel_initWithURL_cached_, anURL.pointer, willCache); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// propertyForKey: objc.ObjCObjectBase propertyForKey_(NSString propertyKey) { final _ret = _objc_msgSend_45( this.pointer, _sel_propertyForKey_, propertyKey.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// propertyForKeyIfAvailable: objc.ObjCObjectBase propertyForKeyIfAvailable_(NSString propertyKey) { final _ret = _objc_msgSend_45( this.pointer, _sel_propertyForKeyIfAvailable_, propertyKey.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// writeProperty:forKey: bool writeProperty_forKey_( objc.ObjCObjectBase propertyValue, NSString propertyKey) { return _objc_msgSend_171(this.pointer, _sel_writeProperty_forKey_, propertyValue.pointer, propertyKey.pointer); } + /// writeData: bool writeData_(NSData data) { return _objc_msgSend_38(this.pointer, _sel_writeData_, data.pointer); } + /// loadInForeground NSData loadInForeground() { final _ret = _objc_msgSend_57(this.pointer, _sel_loadInForeground); return NSData.castFromPointer(_ret, retain: true, release: true); } + /// beginLoadInBackground void beginLoadInBackground() { _objc_msgSend_1(this.pointer, _sel_beginLoadInBackground); } + /// endLoadInBackground void endLoadInBackground() { _objc_msgSend_1(this.pointer, _sel_endLoadInBackground); } + /// init NSURLHandle init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSURLHandle.castFromPointer(_ret, retain: true, release: true); } + /// new static NSURLHandle new1() { final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_new); return NSURLHandle.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSURLHandle allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSURLHandle, _sel_allocWithZone_, zone); return NSURLHandle.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSURLHandle alloc() { final _ret = _objc_msgSend_2(_class_NSURLHandle, _sel_alloc); return NSURLHandle.castFromPointer(_ret, retain: false, release: true); @@ -7117,18 +7867,29 @@ final _objc_msgSend_173 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); -abstract class NSURLHandleStatus { - static const int NSURLHandleNotLoaded = 0; - static const int NSURLHandleLoadSucceeded = 1; - static const int NSURLHandleLoadInProgress = 2; - static const int NSURLHandleLoadFailed = 3; +enum NSURLHandleStatus { + NSURLHandleNotLoaded(0), + NSURLHandleLoadSucceeded(1), + NSURLHandleLoadInProgress(2), + NSURLHandleLoadFailed(3); + + final int value; + const NSURLHandleStatus(this.value); + + static NSURLHandleStatus fromValue(int value) => switch (value) { + 0 => NSURLHandleNotLoaded, + 1 => NSURLHandleLoadSucceeded, + 2 => NSURLHandleLoadInProgress, + 3 => NSURLHandleLoadFailed, + _ => throw ArgumentError("Unknown value for NSURLHandleStatus: $value"), + }; } late final _sel_status = objc.registerName("status"); final _objc_msgSend_174 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function(ffi.Pointer, + ffi.UnsignedLong Function(ffi.Pointer, ffi.Pointer)>>() .asFunction< int Function( @@ -7220,19 +7981,41 @@ final _objc_msgSend_179 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, bool)>(); -abstract class NSDataWritingOptions { - static const int NSDataWritingAtomic = 1; - static const int NSDataWritingWithoutOverwriting = 2; - static const int NSDataWritingFileProtectionNone = 268435456; - static const int NSDataWritingFileProtectionComplete = 536870912; - static const int NSDataWritingFileProtectionCompleteUnlessOpen = 805306368; - static const int - NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication = - 1073741824; - static const int NSDataWritingFileProtectionCompleteWhenUserInactive = - 1342177280; - static const int NSDataWritingFileProtectionMask = 4026531840; - static const int NSAtomicWrite = 1; +enum NSDataWritingOptions { + NSDataWritingAtomic(1), + NSDataWritingWithoutOverwriting(2), + NSDataWritingFileProtectionNone(268435456), + NSDataWritingFileProtectionComplete(536870912), + NSDataWritingFileProtectionCompleteUnlessOpen(805306368), + NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication(1073741824), + NSDataWritingFileProtectionCompleteWhenUserInactive(1342177280), + NSDataWritingFileProtectionMask(4026531840); + + static const NSAtomicWrite = NSDataWritingAtomic; + + final int value; + const NSDataWritingOptions(this.value); + + static NSDataWritingOptions fromValue(int value) => switch (value) { + 1 => NSDataWritingAtomic, + 2 => NSDataWritingWithoutOverwriting, + 268435456 => NSDataWritingFileProtectionNone, + 536870912 => NSDataWritingFileProtectionComplete, + 805306368 => NSDataWritingFileProtectionCompleteUnlessOpen, + 1073741824 => + NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication, + 1342177280 => NSDataWritingFileProtectionCompleteWhenUserInactive, + 4026531840 => NSDataWritingFileProtectionMask, + _ => + throw ArgumentError("Unknown value for NSDataWritingOptions: $value"), + }; + + @override + String toString() { + if (this == NSDataWritingAtomic) + return "NSDataWritingOptions.NSDataWritingAtomic, NSDataWritingOptions.NSAtomicWrite"; + return super.toString(); + } } late final _sel_writeToFile_options_error_ = @@ -7244,7 +8027,7 @@ final _objc_msgSend_180 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< bool Function( @@ -7262,7 +8045,7 @@ final _objc_msgSend_181 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< bool Function( @@ -7272,9 +8055,19 @@ final _objc_msgSend_181 = objc.msgSendPointer int, ffi.Pointer>)>(); -abstract class NSDataSearchOptions { - static const int NSDataSearchBackwards = 1; - static const int NSDataSearchAnchored = 2; +enum NSDataSearchOptions { + NSDataSearchBackwards(1), + NSDataSearchAnchored(2); + + final int value; + const NSDataSearchOptions(this.value); + + static NSDataSearchOptions fromValue(int value) => switch (value) { + 1 => NSDataSearchBackwards, + 2 => NSDataSearchAnchored, + _ => + throw ArgumentError("Unknown value for NSDataSearchOptions: $value"), + }; } late final _sel_rangeOfData_options_range_ = @@ -7286,7 +8079,7 @@ final _objc_msgSend_182 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< NSRange Function( @@ -7303,7 +8096,7 @@ final _objc_msgSend_182Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< void Function( @@ -7348,13 +8141,34 @@ final _objc_msgSend_184 = objc.msgSendPointer int, bool)>(); -abstract class NSDataReadingOptions { - static const int NSDataReadingMappedIfSafe = 1; - static const int NSDataReadingUncached = 2; - static const int NSDataReadingMappedAlways = 8; - static const int NSDataReadingMapped = 1; - static const int NSMappedRead = 1; - static const int NSUncachedRead = 2; +enum NSDataReadingOptions { + NSDataReadingMappedIfSafe(1), + NSDataReadingUncached(2), + NSDataReadingMappedAlways(8); + + static const NSDataReadingMapped = NSDataReadingMappedIfSafe; + static const NSMappedRead = NSDataReadingMappedIfSafe; + static const NSUncachedRead = NSDataReadingUncached; + + final int value; + const NSDataReadingOptions(this.value); + + static NSDataReadingOptions fromValue(int value) => switch (value) { + 1 => NSDataReadingMappedIfSafe, + 2 => NSDataReadingUncached, + 8 => NSDataReadingMappedAlways, + _ => + throw ArgumentError("Unknown value for NSDataReadingOptions: $value"), + }; + + @override + String toString() { + if (this == NSDataReadingMappedIfSafe) + return "NSDataReadingOptions.NSDataReadingMappedIfSafe, NSDataReadingOptions.NSDataReadingMapped, NSDataReadingOptions.NSMappedRead"; + if (this == NSDataReadingUncached) + return "NSDataReadingOptions.NSDataReadingUncached, NSDataReadingOptions.NSUncachedRead"; + return super.toString(); + } } late final _sel_dataWithContentsOfFile_options_error_ = @@ -7366,7 +8180,7 @@ final _objc_msgSend_185 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< instancetype Function( @@ -7384,7 +8198,7 @@ final _objc_msgSend_186 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< instancetype Function( @@ -7430,8 +8244,17 @@ final _objc_msgSend_188 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_dataWithData_ = objc.registerName("dataWithData:"); -abstract class NSDataBase64DecodingOptions { - static const int NSDataBase64DecodingIgnoreUnknownCharacters = 1; +enum NSDataBase64DecodingOptions { + NSDataBase64DecodingIgnoreUnknownCharacters(1); + + final int value; + const NSDataBase64DecodingOptions(this.value); + + static NSDataBase64DecodingOptions fromValue(int value) => switch (value) { + 1 => NSDataBase64DecodingIgnoreUnknownCharacters, + _ => throw ArgumentError( + "Unknown value for NSDataBase64DecodingOptions: $value"), + }; } late final _sel_initWithBase64EncodedString_options_ = @@ -7443,7 +8266,7 @@ final _objc_msgSend_189 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< instancetype Function( ffi.Pointer, @@ -7451,11 +8274,23 @@ final _objc_msgSend_189 = objc.msgSendPointer ffi.Pointer, int)>(); -abstract class NSDataBase64EncodingOptions { - static const int NSDataBase64Encoding64CharacterLineLength = 1; - static const int NSDataBase64Encoding76CharacterLineLength = 2; - static const int NSDataBase64EncodingEndLineWithCarriageReturn = 16; - static const int NSDataBase64EncodingEndLineWithLineFeed = 32; +enum NSDataBase64EncodingOptions { + NSDataBase64Encoding64CharacterLineLength(1), + NSDataBase64Encoding76CharacterLineLength(2), + NSDataBase64EncodingEndLineWithCarriageReturn(16), + NSDataBase64EncodingEndLineWithLineFeed(32); + + final int value; + const NSDataBase64EncodingOptions(this.value); + + static NSDataBase64EncodingOptions fromValue(int value) => switch (value) { + 1 => NSDataBase64Encoding64CharacterLineLength, + 2 => NSDataBase64Encoding76CharacterLineLength, + 16 => NSDataBase64EncodingEndLineWithCarriageReturn, + 32 => NSDataBase64EncodingEndLineWithLineFeed, + _ => throw ArgumentError( + "Unknown value for NSDataBase64EncodingOptions: $value"), + }; } late final _sel_base64EncodedStringWithOptions_ = @@ -7464,7 +8299,7 @@ final _objc_msgSend_190 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); @@ -7477,7 +8312,7 @@ final _objc_msgSend_191 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< instancetype Function( ffi.Pointer, @@ -7490,16 +8325,28 @@ final _objc_msgSend_192 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); -abstract class NSDataCompressionAlgorithm { - static const int NSDataCompressionAlgorithmLZFSE = 0; - static const int NSDataCompressionAlgorithmLZ4 = 1; - static const int NSDataCompressionAlgorithmLZMA = 2; - static const int NSDataCompressionAlgorithmZlib = 3; +enum NSDataCompressionAlgorithm { + NSDataCompressionAlgorithmLZFSE(0), + NSDataCompressionAlgorithmLZ4(1), + NSDataCompressionAlgorithmLZMA(2), + NSDataCompressionAlgorithmZlib(3); + + final int value; + const NSDataCompressionAlgorithm(this.value); + + static NSDataCompressionAlgorithm fromValue(int value) => switch (value) { + 0 => NSDataCompressionAlgorithmLZFSE, + 1 => NSDataCompressionAlgorithmLZ4, + 2 => NSDataCompressionAlgorithmLZMA, + 3 => NSDataCompressionAlgorithmZlib, + _ => throw ArgumentError( + "Unknown value for NSDataCompressionAlgorithm: $value"), + }; } late final _sel_decompressedDataUsingAlgorithm_error_ = @@ -7510,7 +8357,7 @@ final _objc_msgSend_193 = objc.msgSendPointer instancetype Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< instancetype Function( @@ -7648,7 +8495,7 @@ final _objc_msgSend_202 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< NSRange Function( ffi.Pointer, @@ -7663,7 +8510,7 @@ final _objc_msgSend_202Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< void Function( ffi.Pointer, @@ -7680,7 +8527,7 @@ final _objc_msgSend_203 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< NSRange Function( @@ -7697,7 +8544,7 @@ final _objc_msgSend_203Stret = objc.msgSendStretPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< void Function( @@ -7844,9 +8691,20 @@ final _objc_msgSend_210 = objc.msgSendPointer bool Function(ffi.Pointer, ffi.Pointer, ffi.Pointer, int, int)>(); -abstract class NSStringEncodingConversionOptions { - static const int NSStringEncodingConversionAllowLossy = 1; - static const int NSStringEncodingConversionExternalRepresentation = 2; +enum NSStringEncodingConversionOptions { + NSStringEncodingConversionAllowLossy(1), + NSStringEncodingConversionExternalRepresentation(2); + + final int value; + const NSStringEncodingConversionOptions(this.value); + + static NSStringEncodingConversionOptions fromValue(int value) => + switch (value) { + 1 => NSStringEncodingConversionAllowLossy, + 2 => NSStringEncodingConversionExternalRepresentation, + _ => throw ArgumentError( + "Unknown value for NSStringEncodingConversionOptions: $value"), + }; } late final _sel_getBytes_maxLength_usedLength_encoding_options_range_remainingRange_ = @@ -7862,7 +8720,7 @@ final _objc_msgSend_211 = objc.msgSendPointer ffi.UnsignedLong, ffi.Pointer, ffi.UnsignedLong, - ffi.Int32, + ffi.UnsignedLong, NSRange, ffi.Pointer)>>() .asFunction< @@ -7964,7 +8822,7 @@ final _objc_msgSend_217 = objc.msgSendPointer ffi.Pointer Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer)>>() .asFunction< ffi.Pointer Function( @@ -7983,7 +8841,7 @@ final _objc_msgSend_218 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< ffi.Pointer Function( @@ -8586,6 +9444,7 @@ final _objc_msgSend_252 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); +/// NSMutableIndexSet class NSMutableIndexSet extends NSIndexSet { NSMutableIndexSet._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -8606,84 +9465,101 @@ class NSMutableIndexSet extends NSIndexSet { obj.pointer, _sel_isKindOfClass_, _class_NSMutableIndexSet); } + /// addIndexes: void addIndexes_(NSIndexSet indexSet) { _objc_msgSend_253(this.pointer, _sel_addIndexes_, indexSet.pointer); } + /// removeIndexes: void removeIndexes_(NSIndexSet indexSet) { _objc_msgSend_253(this.pointer, _sel_removeIndexes_, indexSet.pointer); } + /// removeAllIndexes void removeAllIndexes() { _objc_msgSend_1(this.pointer, _sel_removeAllIndexes); } + /// addIndex: void addIndex_(int value) { _objc_msgSend_254(this.pointer, _sel_addIndex_, value); } + /// removeIndex: void removeIndex_(int value) { _objc_msgSend_254(this.pointer, _sel_removeIndex_, value); } + /// addIndexesInRange: void addIndexesInRange_(NSRange range) { _objc_msgSend_255(this.pointer, _sel_addIndexesInRange_, range); } + /// removeIndexesInRange: void removeIndexesInRange_(NSRange range) { _objc_msgSend_255(this.pointer, _sel_removeIndexesInRange_, range); } + /// shiftIndexesStartingAtIndex:by: void shiftIndexesStartingAtIndex_by_(int index, int delta) { _objc_msgSend_256( this.pointer, _sel_shiftIndexesStartingAtIndex_by_, index, delta); } + /// indexSet static NSMutableIndexSet indexSet() { final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_indexSet); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// indexSetWithIndex: static NSMutableIndexSet indexSetWithIndex_(int value) { final _ret = _objc_msgSend_99( _class_NSMutableIndexSet, _sel_indexSetWithIndex_, value); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// indexSetWithIndexesInRange: static NSMutableIndexSet indexSetWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117( _class_NSMutableIndexSet, _sel_indexSetWithIndexesInRange_, range); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndexesInRange: NSMutableIndexSet initWithIndexesInRange_(NSRange range) { final _ret = _objc_msgSend_117(this.pointer, _sel_initWithIndexesInRange_, range); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndexSet: NSMutableIndexSet initWithIndexSet_(NSIndexSet indexSet) { final _ret = _objc_msgSend_118( this.pointer, _sel_initWithIndexSet_, indexSet.pointer); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithIndex: NSMutableIndexSet initWithIndex_(int value) { final _ret = _objc_msgSend_99(this.pointer, _sel_initWithIndex_, value); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// init NSMutableIndexSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableIndexSet.castFromPointer(_ret, retain: true, release: true); } + /// new static NSMutableIndexSet new1() { final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_new); return NSMutableIndexSet.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableIndexSet allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableIndexSet, _sel_allocWithZone_, zone); @@ -8691,6 +9567,7 @@ class NSMutableIndexSet extends NSIndexSet { retain: false, release: true); } + /// alloc static NSMutableIndexSet alloc() { final _ret = _objc_msgSend_2(_class_NSMutableIndexSet, _sel_alloc); return NSMutableIndexSet.castFromPointer(_ret, @@ -8744,12 +9621,24 @@ final _objc_msgSend_256 = objc.msgSendPointer void Function(ffi.Pointer, ffi.Pointer, int, int)>(); -abstract class NSBinarySearchingOptions { - static const int NSBinarySearchingFirstEqual = 256; - static const int NSBinarySearchingLastEqual = 512; - static const int NSBinarySearchingInsertionIndex = 1024; +enum NSBinarySearchingOptions { + NSBinarySearchingFirstEqual(256), + NSBinarySearchingLastEqual(512), + NSBinarySearchingInsertionIndex(1024); + + final int value; + const NSBinarySearchingOptions(this.value); + + static NSBinarySearchingOptions fromValue(int value) => switch (value) { + 256 => NSBinarySearchingFirstEqual, + 512 => NSBinarySearchingLastEqual, + 1024 => NSBinarySearchingInsertionIndex, + _ => throw ArgumentError( + "Unknown value for NSBinarySearchingOptions: $value"), + }; } +/// NSMutableArray class NSMutableArray extends NSArray { NSMutableArray._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -8770,40 +9659,48 @@ class NSMutableArray extends NSArray { obj.pointer, _sel_isKindOfClass_, _class_NSMutableArray); } + /// addObject: void addObject_(objc.ObjCObjectBase anObject) { _objc_msgSend_172(this.pointer, _sel_addObject_, anObject.pointer); } + /// insertObject:atIndex: void insertObject_atIndex_(objc.ObjCObjectBase anObject, int index) { _objc_msgSend_257( this.pointer, _sel_insertObject_atIndex_, anObject.pointer, index); } + /// removeLastObject void removeLastObject() { _objc_msgSend_1(this.pointer, _sel_removeLastObject); } + /// removeObjectAtIndex: void removeObjectAtIndex_(int index) { _objc_msgSend_254(this.pointer, _sel_removeObjectAtIndex_, index); } + /// replaceObjectAtIndex:withObject: void replaceObjectAtIndex_withObject_( int index, objc.ObjCObjectBase anObject) { _objc_msgSend_258(this.pointer, _sel_replaceObjectAtIndex_withObject_, index, anObject.pointer); } + /// init NSMutableArray init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithCapacity: NSMutableArray initWithCapacity_(int numItems) { final _ret = _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSMutableArray? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -8812,55 +9709,66 @@ class NSMutableArray extends NSArray { : NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// addObjectsFromArray: void addObjectsFromArray_(NSArray otherArray) { _objc_msgSend_259( this.pointer, _sel_addObjectsFromArray_, otherArray.pointer); } + /// exchangeObjectAtIndex:withObjectAtIndex: void exchangeObjectAtIndex_withObjectAtIndex_(int idx1, int idx2) { _objc_msgSend_260(this.pointer, _sel_exchangeObjectAtIndex_withObjectAtIndex_, idx1, idx2); } + /// removeAllObjects void removeAllObjects() { _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } + /// removeObject:inRange: void removeObject_inRange_(objc.ObjCObjectBase anObject, NSRange range) { _objc_msgSend_261( this.pointer, _sel_removeObject_inRange_, anObject.pointer, range); } + /// removeObject: void removeObject_(objc.ObjCObjectBase anObject) { _objc_msgSend_172(this.pointer, _sel_removeObject_, anObject.pointer); } + /// removeObjectIdenticalTo:inRange: void removeObjectIdenticalTo_inRange_( objc.ObjCObjectBase anObject, NSRange range) { _objc_msgSend_261(this.pointer, _sel_removeObjectIdenticalTo_inRange_, anObject.pointer, range); } + /// removeObjectIdenticalTo: void removeObjectIdenticalTo_(objc.ObjCObjectBase anObject) { _objc_msgSend_172( this.pointer, _sel_removeObjectIdenticalTo_, anObject.pointer); } + /// removeObjectsFromIndices:numIndices: void removeObjectsFromIndices_numIndices_( ffi.Pointer indices, int cnt) { _objc_msgSend_262( this.pointer, _sel_removeObjectsFromIndices_numIndices_, indices, cnt); } + /// removeObjectsInArray: void removeObjectsInArray_(NSArray otherArray) { _objc_msgSend_259( this.pointer, _sel_removeObjectsInArray_, otherArray.pointer); } + /// removeObjectsInRange: void removeObjectsInRange_(NSRange range) { _objc_msgSend_255(this.pointer, _sel_removeObjectsInRange_, range); } + /// replaceObjectsInRange:withObjectsFromArray:range: void replaceObjectsInRange_withObjectsFromArray_range_( NSRange range, NSArray otherArray, NSRange otherRange) { _objc_msgSend_263( @@ -8871,6 +9779,7 @@ class NSMutableArray extends NSArray { otherRange); } + /// replaceObjectsInRange:withObjectsFromArray: void replaceObjectsInRange_withObjectsFromArray_( NSRange range, NSArray otherArray) { _objc_msgSend_264( @@ -8880,10 +9789,12 @@ class NSMutableArray extends NSArray { otherArray.pointer); } + /// setArray: void setArray_(NSArray otherArray) { _objc_msgSend_259(this.pointer, _sel_setArray_, otherArray.pointer); } + /// sortUsingFunction:context: void sortUsingFunction_context_( ffi.Pointer< ffi.NativeFunction< @@ -8895,37 +9806,44 @@ class NSMutableArray extends NSArray { this.pointer, _sel_sortUsingFunction_context_, compare, context); } + /// sortUsingSelector: void sortUsingSelector_(ffi.Pointer comparator) { _objc_msgSend_7(this.pointer, _sel_sortUsingSelector_, comparator); } + /// insertObjects:atIndexes: void insertObjects_atIndexes_(NSArray objects, NSIndexSet indexes) { _objc_msgSend_266(this.pointer, _sel_insertObjects_atIndexes_, objects.pointer, indexes.pointer); } + /// removeObjectsAtIndexes: void removeObjectsAtIndexes_(NSIndexSet indexes) { _objc_msgSend_253( this.pointer, _sel_removeObjectsAtIndexes_, indexes.pointer); } + /// replaceObjectsAtIndexes:withObjects: void replaceObjectsAtIndexes_withObjects_( NSIndexSet indexes, NSArray objects) { _objc_msgSend_267(this.pointer, _sel_replaceObjectsAtIndexes_withObjects_, indexes.pointer, objects.pointer); } + /// setObject:atIndexedSubscript: void setObject_atIndexedSubscript_(objc.ObjCObjectBase obj, int idx) { _objc_msgSend_257( this.pointer, _sel_setObject_atIndexedSubscript_, obj.pointer, idx); } + /// arrayWithCapacity: static NSMutableArray arrayWithCapacity_(int numItems) { final _ret = _objc_msgSend_99( _class_NSMutableArray, _sel_arrayWithCapacity_, numItems); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithContentsOfFile: static NSArray? arrayWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_133( _class_NSMutableArray, _sel_arrayWithContentsOfFile_, path.pointer); @@ -8934,6 +9852,7 @@ class NSMutableArray extends NSArray { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithContentsOfURL: static NSArray? arrayWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_134( _class_NSMutableArray, _sel_arrayWithContentsOfURL_, url.pointer); @@ -8942,6 +9861,7 @@ class NSMutableArray extends NSArray { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSMutableArray? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_268( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -8950,6 +9870,7 @@ class NSMutableArray extends NSArray { : NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSMutableArray? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_269( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -8958,10 +9879,12 @@ class NSMutableArray extends NSArray { : NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// applyDifference: void applyDifference_(objc.ObjCObjectBase difference) { _objc_msgSend_172(this.pointer, _sel_applyDifference_, difference.pointer); } + /// initWithObjects:count: NSMutableArray initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -8969,17 +9892,20 @@ class NSMutableArray extends NSArray { return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// array static NSMutableArray array() { final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_array); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObject: static NSMutableArray arrayWithObject_(objc.ObjCObjectBase anObject) { final _ret = _objc_msgSend_126( _class_NSMutableArray, _sel_arrayWithObject_, anObject.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObjects:count: static NSMutableArray arrayWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -8987,36 +9913,42 @@ class NSMutableArray extends NSArray { return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithObjects: static NSMutableArray arrayWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( _class_NSMutableArray, _sel_arrayWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// arrayWithArray: static NSMutableArray arrayWithArray_(NSArray array) { final _ret = _objc_msgSend_127( _class_NSMutableArray, _sel_arrayWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects: NSMutableArray initWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithArray: NSMutableArray initWithArray_(NSArray array) { final _ret = _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableArray.castFromPointer(_ret, retain: true, release: true); } + /// initWithArray:copyItems: NSMutableArray initWithArray_copyItems_(NSArray array, bool flag) { final _ret = _objc_msgSend_128( this.pointer, _sel_initWithArray_copyItems_, array.pointer, flag); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } + /// arrayWithContentsOfURL:error: static NSArray? arrayWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_129(_class_NSMutableArray, @@ -9026,17 +9958,20 @@ class NSMutableArray extends NSArray { : NSArray.castFromPointer(_ret, retain: true, release: true); } + /// new static NSMutableArray new1() { final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_new); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableArray allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableArray, _sel_allocWithZone_, zone); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSMutableArray alloc() { final _ret = _objc_msgSend_2(_class_NSMutableArray, _sel_alloc); return NSMutableArray.castFromPointer(_ret, retain: false, release: true); @@ -9267,6 +10202,7 @@ final _objc_msgSend_269 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_applyDifference_ = objc.registerName("applyDifference:"); +/// NSMutableData class NSMutableData extends NSData { NSMutableData._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -9287,50 +10223,61 @@ class NSMutableData extends NSData { obj.pointer, _sel_isKindOfClass_, _class_NSMutableData); } + /// mutableBytes ffi.Pointer get mutableBytes { return _objc_msgSend_34(this.pointer, _sel_mutableBytes); } + /// length int get length { return _objc_msgSend_11(this.pointer, _sel_length); } + /// setLength: set length(int value) { return _objc_msgSend_270(this.pointer, _sel_setLength_, value); } + /// appendBytes:length: void appendBytes_length_(ffi.Pointer bytes, int length) { _objc_msgSend_36(this.pointer, _sel_appendBytes_length_, bytes, length); } + /// appendData: void appendData_(NSData other) { _objc_msgSend_271(this.pointer, _sel_appendData_, other.pointer); } + /// increaseLengthBy: void increaseLengthBy_(int extraLength) { _objc_msgSend_254(this.pointer, _sel_increaseLengthBy_, extraLength); } + /// replaceBytesInRange:withBytes: void replaceBytesInRange_withBytes_( NSRange range, ffi.Pointer bytes) { _objc_msgSend_272( this.pointer, _sel_replaceBytesInRange_withBytes_, range, bytes); } + /// resetBytesInRange: void resetBytesInRange_(NSRange range) { _objc_msgSend_255(this.pointer, _sel_resetBytesInRange_, range); } + /// setData: void setData_(NSData data) { _objc_msgSend_271(this.pointer, _sel_setData_, data.pointer); } + /// replaceBytesInRange:withBytes:length: void replaceBytesInRange_withBytes_length_(NSRange range, ffi.Pointer replacementBytes, int replacementLength) { _objc_msgSend_273(this.pointer, _sel_replaceBytesInRange_withBytes_length_, range, replacementBytes, replacementLength); } + /// dataWithCapacity: static NSMutableData? dataWithCapacity_(int aNumItems) { final _ret = _objc_msgSend_274( _class_NSMutableData, _sel_dataWithCapacity_, aNumItems); @@ -9339,6 +10286,7 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithLength: static NSMutableData? dataWithLength_(int length) { final _ret = _objc_msgSend_274(_class_NSMutableData, _sel_dataWithLength_, length); @@ -9347,6 +10295,7 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithCapacity: NSMutableData? initWithCapacity_(int capacity) { final _ret = _objc_msgSend_274(this.pointer, _sel_initWithCapacity_, capacity); @@ -9355,6 +10304,7 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithLength: NSMutableData? initWithLength_(int length) { final _ret = _objc_msgSend_274(this.pointer, _sel_initWithLength_, length); return _ret.address == 0 @@ -9362,23 +10312,27 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - bool decompressUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - return _objc_msgSend_275( - this.pointer, _sel_decompressUsingAlgorithm_error_, algorithm, error); + /// decompressUsingAlgorithm:error: + bool decompressUsingAlgorithm_error_(NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { + return _objc_msgSend_275(this.pointer, _sel_decompressUsingAlgorithm_error_, + algorithm.value, error); } - bool compressUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { - return _objc_msgSend_275( - this.pointer, _sel_compressUsingAlgorithm_error_, algorithm, error); + /// compressUsingAlgorithm:error: + bool compressUsingAlgorithm_error_(NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { + return _objc_msgSend_275(this.pointer, _sel_compressUsingAlgorithm_error_, + algorithm.value, error); } + /// data static NSMutableData data() { final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_data); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithBytes:length: static NSMutableData dataWithBytes_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( @@ -9386,6 +10340,7 @@ class NSMutableData extends NSData { return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithBytesNoCopy:length: static NSMutableData dataWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( @@ -9393,6 +10348,7 @@ class NSMutableData extends NSData { return NSMutableData.castFromPointer(_ret, retain: false, release: true); } + /// dataWithBytesNoCopy:length:freeWhenDone: static NSMutableData dataWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { final _ret = _objc_msgSend_184(_class_NSMutableData, @@ -9400,32 +10356,39 @@ class NSMutableData extends NSData { return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - static NSMutableData? dataWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// dataWithContentsOfFile:options:error: + static NSMutableData? dataWithContentsOfFile_options_error_( + NSString path, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_185( _class_NSMutableData, _sel_dataWithContentsOfFile_options_error_, path.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - static NSMutableData? dataWithContentsOfURL_options_error_(NSURL url, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// dataWithContentsOfURL:options:error: + static NSMutableData? dataWithContentsOfURL_options_error_( + NSURL url, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_186( _class_NSMutableData, _sel_dataWithContentsOfURL_options_error_, url.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithContentsOfFile: static NSMutableData? dataWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSMutableData, _sel_dataWithContentsOfFile_, path.pointer); @@ -9434,6 +10397,7 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithContentsOfURL: static NSMutableData? dataWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( _class_NSMutableData, _sel_dataWithContentsOfURL_, url.pointer); @@ -9442,12 +10406,14 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytes:length: NSMutableData initWithBytes_length_(ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( this.pointer, _sel_initWithBytes_length_, bytes, length); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytesNoCopy:length: NSMutableData initWithBytesNoCopy_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_183( @@ -9455,6 +10421,7 @@ class NSMutableData extends NSData { return NSMutableData.castFromPointer(_ret, retain: false, release: true); } + /// initWithBytesNoCopy:length:freeWhenDone: NSMutableData initWithBytesNoCopy_length_freeWhenDone_( ffi.Pointer bytes, int length, bool b) { final _ret = _objc_msgSend_184(this.pointer, @@ -9462,32 +10429,39 @@ class NSMutableData extends NSData { return NSMutableData.castFromPointer(_ret, retain: false, release: true); } - NSMutableData? initWithContentsOfFile_options_error_(NSString path, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// initWithContentsOfFile:options:error: + NSMutableData? initWithContentsOfFile_options_error_( + NSString path, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_185( this.pointer, _sel_initWithContentsOfFile_options_error_, path.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } - NSMutableData? initWithContentsOfURL_options_error_(NSURL url, - int readOptionsMask, ffi.Pointer> errorPtr) { + /// initWithContentsOfURL:options:error: + NSMutableData? initWithContentsOfURL_options_error_( + NSURL url, + NSDataReadingOptions readOptionsMask, + ffi.Pointer> errorPtr) { final _ret = _objc_msgSend_186( this.pointer, _sel_initWithContentsOfURL_options_error_, url.pointer, - readOptionsMask, + readOptionsMask.value, errorPtr); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSMutableData? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -9496,6 +10470,7 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSMutableData? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -9504,57 +10479,69 @@ class NSMutableData extends NSData { : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithData: NSMutableData initWithData_(NSData data) { final _ret = _objc_msgSend_188(this.pointer, _sel_initWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithData: static NSMutableData dataWithData_(NSData data) { final _ret = _objc_msgSend_188( _class_NSMutableData, _sel_dataWithData_, data.pointer); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBase64EncodedString:options: NSMutableData? initWithBase64EncodedString_options_( - NSString base64String, int options) { + NSString base64String, NSDataBase64DecodingOptions options) { final _ret = _objc_msgSend_189( this.pointer, _sel_initWithBase64EncodedString_options_, base64String.pointer, - options); + options.value); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// initWithBase64EncodedData:options: NSMutableData? initWithBase64EncodedData_options_( - NSData base64Data, int options) { - final _ret = _objc_msgSend_191(this.pointer, - _sel_initWithBase64EncodedData_options_, base64Data.pointer, options); + NSData base64Data, NSDataBase64DecodingOptions options) { + final _ret = _objc_msgSend_191( + this.pointer, + _sel_initWithBase64EncodedData_options_, + base64Data.pointer, + options.value); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// decompressedDataUsingAlgorithm:error: NSMutableData? decompressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { + NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { final _ret = _objc_msgSend_193(this.pointer, - _sel_decompressedDataUsingAlgorithm_error_, algorithm, error); + _sel_decompressedDataUsingAlgorithm_error_, algorithm.value, error); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// compressedDataUsingAlgorithm:error: NSMutableData? compressedDataUsingAlgorithm_error_( - int algorithm, ffi.Pointer> error) { + NSDataCompressionAlgorithm algorithm, + ffi.Pointer> error) { final _ret = _objc_msgSend_193(this.pointer, - _sel_compressedDataUsingAlgorithm_error_, algorithm, error); + _sel_compressedDataUsingAlgorithm_error_, algorithm.value, error); return _ret.address == 0 ? null : NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// dataWithContentsOfMappedFile: static objc.ObjCObjectBase? dataWithContentsOfMappedFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSMutableData, _sel_dataWithContentsOfMappedFile_, path.pointer); @@ -9563,22 +10550,26 @@ class NSMutableData extends NSData { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// init NSMutableData init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableData.castFromPointer(_ret, retain: true, release: true); } + /// new static NSMutableData new1() { final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_new); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableData allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableData, _sel_allocWithZone_, zone); return NSMutableData.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSMutableData alloc() { final _ret = _objc_msgSend_2(_class_NSMutableData, _sel_alloc); return NSMutableData.castFromPointer(_ret, retain: false, release: true); @@ -9661,7 +10652,7 @@ final _objc_msgSend_275 = objc.msgSendPointer ffi.Bool Function( ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, ffi.Pointer>)>>() .asFunction< bool Function( @@ -9672,6 +10663,7 @@ final _objc_msgSend_275 = objc.msgSendPointer late final _sel_compressUsingAlgorithm_error_ = objc.registerName("compressUsingAlgorithm:error:"); +/// NSNotification class NSNotification extends NSObject { NSNotification._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -9692,11 +10684,13 @@ class NSNotification extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSNotification); } + /// name NSString get name { final _ret = _objc_msgSend_35(this.pointer, _sel_name); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// object objc.ObjCObjectBase? get object { final _ret = _objc_msgSend_90(this.pointer, _sel_object); return _ret.address == 0 @@ -9704,6 +10698,7 @@ class NSNotification extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// userInfo NSDictionary? get userInfo { final _ret = _objc_msgSend_239(this.pointer, _sel_userInfo); return _ret.address == 0 @@ -9711,6 +10706,7 @@ class NSNotification extends NSObject { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithName:object:userInfo: NSNotification initWithName_object_userInfo_( NSString name, objc.ObjCObjectBase? object, NSDictionary? userInfo) { final _ret = _objc_msgSend_276( @@ -9722,6 +10718,7 @@ class NSNotification extends NSObject { return NSNotification.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSNotification? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -9730,6 +10727,7 @@ class NSNotification extends NSObject { : NSNotification.castFromPointer(_ret, retain: true, release: true); } + /// notificationWithName:object: static NSNotification notificationWithName_object_( NSString aName, objc.ObjCObjectBase? anObject) { final _ret = _objc_msgSend_227( @@ -9740,6 +10738,7 @@ class NSNotification extends NSObject { return NSNotification.castFromPointer(_ret, retain: true, release: true); } + /// notificationWithName:object:userInfo: static NSNotification notificationWithName_object_userInfo_( NSString aName, objc.ObjCObjectBase? anObject, NSDictionary? aUserInfo) { final _ret = _objc_msgSend_276( @@ -9751,22 +10750,26 @@ class NSNotification extends NSObject { return NSNotification.castFromPointer(_ret, retain: true, release: true); } + /// init NSNotification init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSNotification.castFromPointer(_ret, retain: true, release: true); } + /// new static NSNotification new1() { final _ret = _objc_msgSend_2(_class_NSNotification, _sel_new); return NSNotification.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSNotification allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSNotification, _sel_allocWithZone_, zone); return NSNotification.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSNotification alloc() { final _ret = _objc_msgSend_2(_class_NSNotification, _sel_alloc); return NSNotification.castFromPointer(_ret, retain: false, release: true); @@ -9799,6 +10802,7 @@ late final _sel_notificationWithName_object_ = late final _sel_notificationWithName_object_userInfo_ = objc.registerName("notificationWithName:object:userInfo:"); +/// NSDate class NSDate extends NSObject { NSDate._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -9818,6 +10822,7 @@ class NSDate extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSDate); } + /// timeIntervalSinceReferenceDate static double getTimeIntervalSinceReferenceDate() { return objc.useMsgSendVariants ? _objc_msgSend_83Fpret( @@ -9825,17 +10830,20 @@ class NSDate extends NSObject { : _objc_msgSend_83(_class_NSDate, _sel_timeIntervalSinceReferenceDate); } + /// init NSDate init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// initWithTimeIntervalSinceReferenceDate: NSDate initWithTimeIntervalSinceReferenceDate_(double ti) { final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSDate? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -9844,6 +10852,7 @@ class NSDate extends NSObject { : NSDate.castFromPointer(_ret, retain: true, release: true); } + /// timeIntervalSinceDate: double timeIntervalSinceDate_(NSDate anotherDate) { return objc.useMsgSendVariants ? _objc_msgSend_278Fpret( @@ -9852,85 +10861,101 @@ class NSDate extends NSObject { this.pointer, _sel_timeIntervalSinceDate_, anotherDate.pointer); } + /// timeIntervalSinceNow double get timeIntervalSinceNow { return objc.useMsgSendVariants ? _objc_msgSend_83Fpret(this.pointer, _sel_timeIntervalSinceNow) : _objc_msgSend_83(this.pointer, _sel_timeIntervalSinceNow); } + /// timeIntervalSince1970 double get timeIntervalSince1970 { return objc.useMsgSendVariants ? _objc_msgSend_83Fpret(this.pointer, _sel_timeIntervalSince1970) : _objc_msgSend_83(this.pointer, _sel_timeIntervalSince1970); } + /// addTimeInterval: objc.ObjCObjectBase addTimeInterval_(double seconds) { final _ret = _objc_msgSend_277(this.pointer, _sel_addTimeInterval_, seconds); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// dateByAddingTimeInterval: NSDate dateByAddingTimeInterval_(double ti) { final _ret = _objc_msgSend_277(this.pointer, _sel_dateByAddingTimeInterval_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// earlierDate: NSDate earlierDate_(NSDate anotherDate) { final _ret = _objc_msgSend_279(this.pointer, _sel_earlierDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// laterDate: NSDate laterDate_(NSDate anotherDate) { final _ret = _objc_msgSend_279(this.pointer, _sel_laterDate_, anotherDate.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } - int compare_(NSDate other) { - return _objc_msgSend_280(this.pointer, _sel_compare_, other.pointer); + /// compare: + NSComparisonResult compare_(NSDate other) { + final _ret = _objc_msgSend_280(this.pointer, _sel_compare_, other.pointer); + return NSComparisonResult.fromValue(_ret); } + /// isEqualToDate: bool isEqualToDate_(NSDate otherDate) { return _objc_msgSend_281( this.pointer, _sel_isEqualToDate_, otherDate.pointer); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale: NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// date static NSDate date() { final _ret = _objc_msgSend_2(_class_NSDate, _sel_date); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// dateWithTimeIntervalSinceNow: static NSDate dateWithTimeIntervalSinceNow_(double secs) { final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// dateWithTimeIntervalSinceReferenceDate: static NSDate dateWithTimeIntervalSinceReferenceDate_(double ti) { final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSinceReferenceDate_, ti); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// dateWithTimeIntervalSince1970: static NSDate dateWithTimeIntervalSince1970_(double secs) { final _ret = _objc_msgSend_277( _class_NSDate, _sel_dateWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// dateWithTimeInterval:sinceDate: static NSDate dateWithTimeInterval_sinceDate_( double secsToBeAdded, NSDate date) { final _ret = _objc_msgSend_282(_class_NSDate, @@ -9938,49 +10963,58 @@ class NSDate extends NSObject { return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// distantFuture static NSDate getDistantFuture() { final _ret = _objc_msgSend_283(_class_NSDate, _sel_distantFuture); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// distantPast static NSDate getDistantPast() { final _ret = _objc_msgSend_283(_class_NSDate, _sel_distantPast); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// now static NSDate getNow() { final _ret = _objc_msgSend_283(_class_NSDate, _sel_now); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// initWithTimeIntervalSinceNow: NSDate initWithTimeIntervalSinceNow_(double secs) { final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSinceNow_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// initWithTimeIntervalSince1970: NSDate initWithTimeIntervalSince1970_(double secs) { final _ret = _objc_msgSend_277( this.pointer, _sel_initWithTimeIntervalSince1970_, secs); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// initWithTimeInterval:sinceDate: NSDate initWithTimeInterval_sinceDate_(double secsToBeAdded, NSDate date) { final _ret = _objc_msgSend_282(this.pointer, _sel_initWithTimeInterval_sinceDate_, secsToBeAdded, date.pointer); return NSDate.castFromPointer(_ret, retain: true, release: true); } + /// new static NSDate new1() { final _ret = _objc_msgSend_2(_class_NSDate, _sel_new); return NSDate.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSDate allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSDate, _sel_allocWithZone_, zone); return NSDate.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSDate alloc() { final _ret = _objc_msgSend_2(_class_NSDate, _sel_alloc); return NSDate.castFromPointer(_ret, retain: false, release: true); @@ -10044,7 +11078,7 @@ late final _sel_laterDate_ = objc.registerName("laterDate:"); final _objc_msgSend_280 = objc.msgSendPointer .cast< ffi.NativeFunction< - ffi.Int32 Function( + ffi.Long Function( ffi.Pointer, ffi.Pointer, ffi.Pointer)>>() @@ -10103,6 +11137,7 @@ late final _sel_initWithTimeIntervalSince1970_ = late final _sel_initWithTimeInterval_sinceDate_ = objc.registerName("initWithTimeInterval:sinceDate:"); +/// NSMutableDictionary class NSMutableDictionary extends NSDictionary { NSMutableDictionary._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -10123,22 +11158,26 @@ class NSMutableDictionary extends NSDictionary { obj.pointer, _sel_isKindOfClass_, _class_NSMutableDictionary); } + /// removeObjectForKey: void removeObjectForKey_(objc.ObjCObjectBase aKey) { _objc_msgSend_172(this.pointer, _sel_removeObjectForKey_, aKey.pointer); } + /// setObject:forKey: void setObject_forKey_( objc.ObjCObjectBase anObject, objc.ObjCObjectBase aKey) { _objc_msgSend_284( this.pointer, _sel_setObject_forKey_, anObject.pointer, aKey.pointer); } + /// init NSMutableDictionary init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithCapacity: NSMutableDictionary initWithCapacity_(int numItems) { final _ret = _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); @@ -10146,6 +11185,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithCoder: NSMutableDictionary? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -10155,31 +11195,37 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// addEntriesFromDictionary: void addEntriesFromDictionary_(NSDictionary otherDictionary) { _objc_msgSend_285( this.pointer, _sel_addEntriesFromDictionary_, otherDictionary.pointer); } + /// removeAllObjects void removeAllObjects() { _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } + /// removeObjectsForKeys: void removeObjectsForKeys_(NSArray keyArray) { _objc_msgSend_259( this.pointer, _sel_removeObjectsForKeys_, keyArray.pointer); } + /// setDictionary: void setDictionary_(NSDictionary otherDictionary) { _objc_msgSend_285( this.pointer, _sel_setDictionary_, otherDictionary.pointer); } + /// setObject:forKeyedSubscript: void setObject_forKeyedSubscript_( objc.ObjCObjectBase? obj, objc.ObjCObjectBase key) { _objc_msgSend_286(this.pointer, _sel_setObject_forKeyedSubscript_, obj?.pointer ?? ffi.nullptr, key.pointer); } + /// dictionaryWithCapacity: static NSMutableDictionary dictionaryWithCapacity_(int numItems) { final _ret = _objc_msgSend_99( _class_NSMutableDictionary, _sel_dictionaryWithCapacity_, numItems); @@ -10187,6 +11233,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithContentsOfFile: static NSDictionary? dictionaryWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_157(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfFile_, path.pointer); @@ -10195,6 +11242,7 @@ class NSMutableDictionary extends NSDictionary { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithContentsOfURL: static NSDictionary? dictionaryWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_158(_class_NSMutableDictionary, _sel_dictionaryWithContentsOfURL_, url.pointer); @@ -10203,6 +11251,7 @@ class NSMutableDictionary extends NSDictionary { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile: NSMutableDictionary? initWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_287( this.pointer, _sel_initWithContentsOfFile_, path.pointer); @@ -10212,6 +11261,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithContentsOfURL: NSMutableDictionary? initWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_288( this.pointer, _sel_initWithContentsOfURL_, url.pointer); @@ -10221,6 +11271,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithSharedKeySet: static NSMutableDictionary dictionaryWithSharedKeySet_( objc.ObjCObjectBase keyset) { final _ret = _objc_msgSend_289(_class_NSMutableDictionary, @@ -10229,6 +11280,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithObjects:forKeys:count: NSMutableDictionary initWithObjects_forKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, @@ -10239,12 +11291,14 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionary static NSMutableDictionary dictionary() { final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_dictionary); return NSMutableDictionary.castFromPointer(_ret, retain: true, release: true); } + /// dictionaryWithObject:forKey: static NSMutableDictionary dictionaryWithObject_forKey_( objc.ObjCObjectBase object, objc.ObjCObjectBase key) { final _ret = _objc_msgSend_159(_class_NSMutableDictionary, @@ -10253,6 +11307,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithObjects:forKeys:count: static NSMutableDictionary dictionaryWithObjects_forKeys_count_( ffi.Pointer> objects, ffi.Pointer> keys, @@ -10263,6 +11318,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithObjectsAndKeys: static NSMutableDictionary dictionaryWithObjectsAndKeys_( objc.ObjCObjectBase firstObject) { final _ret = _objc_msgSend_126(_class_NSMutableDictionary, @@ -10271,6 +11327,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithDictionary: static NSMutableDictionary dictionaryWithDictionary_(NSDictionary dict) { final _ret = _objc_msgSend_160(_class_NSMutableDictionary, _sel_dictionaryWithDictionary_, dict.pointer); @@ -10278,6 +11335,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithObjects:forKeys: static NSMutableDictionary dictionaryWithObjects_forKeys_( NSArray objects, NSArray keys) { final _ret = _objc_msgSend_161(_class_NSMutableDictionary, @@ -10286,6 +11344,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithObjectsAndKeys: NSMutableDictionary initWithObjectsAndKeys_(objc.ObjCObjectBase firstObject) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjectsAndKeys_, firstObject.pointer); @@ -10293,6 +11352,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithDictionary: NSMutableDictionary initWithDictionary_(NSDictionary otherDictionary) { final _ret = _objc_msgSend_160( this.pointer, _sel_initWithDictionary_, otherDictionary.pointer); @@ -10300,6 +11360,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// initWithDictionary:copyItems: NSMutableDictionary initWithDictionary_copyItems_( NSDictionary otherDictionary, bool flag) { final _ret = _objc_msgSend_162(this.pointer, @@ -10308,6 +11369,7 @@ class NSMutableDictionary extends NSDictionary { retain: false, release: true); } + /// initWithObjects:forKeys: NSMutableDictionary initWithObjects_forKeys_(NSArray objects, NSArray keys) { final _ret = _objc_msgSend_161(this.pointer, _sel_initWithObjects_forKeys_, objects.pointer, keys.pointer); @@ -10315,6 +11377,7 @@ class NSMutableDictionary extends NSDictionary { retain: true, release: true); } + /// dictionaryWithContentsOfURL:error: static NSDictionary? dictionaryWithContentsOfURL_error_( NSURL url, ffi.Pointer> error) { final _ret = _objc_msgSend_163(_class_NSMutableDictionary, @@ -10324,18 +11387,21 @@ class NSMutableDictionary extends NSDictionary { : NSDictionary.castFromPointer(_ret, retain: true, release: true); } + /// sharedKeySetForKeys: static objc.ObjCObjectBase sharedKeySetForKeys_(NSArray keys) { final _ret = _objc_msgSend_127( _class_NSMutableDictionary, _sel_sharedKeySetForKeys_, keys.pointer); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// new static NSMutableDictionary new1() { final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_new); return NSMutableDictionary.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableDictionary allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableDictionary, _sel_allocWithZone_, zone); @@ -10343,6 +11409,7 @@ class NSMutableDictionary extends NSDictionary { retain: false, release: true); } + /// alloc static NSMutableDictionary alloc() { final _ret = _objc_msgSend_2(_class_NSMutableDictionary, _sel_alloc); return NSMutableDictionary.castFromPointer(_ret, @@ -10433,6 +11500,7 @@ final _objc_msgSend_289 = objc.msgSendPointer ffi.Pointer Function(ffi.Pointer, ffi.Pointer, ffi.Pointer)>(); +/// NSSet class NSSet extends NSObject { NSSet._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -10452,10 +11520,12 @@ class NSSet extends NSObject { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSSet); } + /// count int get count { return _objc_msgSend_11(this.pointer, _sel_count); } + /// member: objc.ObjCObjectBase? member_(objc.ObjCObjectBase object) { final _ret = _objc_msgSend_151(this.pointer, _sel_member_, object.pointer); return _ret.address == 0 @@ -10463,16 +11533,19 @@ class NSSet extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// objectEnumerator NSEnumerator objectEnumerator() { final _ret = _objc_msgSend_110(this.pointer, _sel_objectEnumerator); return NSEnumerator.castFromPointer(_ret, retain: true, release: true); } + /// init NSSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects:count: NSSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -10480,6 +11553,7 @@ class NSSet extends NSObject { return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSSet? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -10488,11 +11562,13 @@ class NSSet extends NSObject { : NSSet.castFromPointer(_ret, retain: true, release: true); } + /// allObjects NSArray get allObjects { final _ret = _objc_msgSend_137(this.pointer, _sel_allObjects); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// anyObject objc.ObjCObjectBase? anyObject() { final _ret = _objc_msgSend_90(this.pointer, _sel_anyObject); return _ret.address == 0 @@ -10500,76 +11576,90 @@ class NSSet extends NSObject { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// containsObject: bool containsObject_(objc.ObjCObjectBase anObject) { return _objc_msgSend_0( this.pointer, _sel_containsObject_, anObject.pointer); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// descriptionWithLocale: NSString descriptionWithLocale_(objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_86(this.pointer, _sel_descriptionWithLocale_, locale?.pointer ?? ffi.nullptr); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// intersectsSet: bool intersectsSet_(NSSet otherSet) { return _objc_msgSend_290( this.pointer, _sel_intersectsSet_, otherSet.pointer); } + /// isEqualToSet: bool isEqualToSet_(NSSet otherSet) { return _objc_msgSend_290( this.pointer, _sel_isEqualToSet_, otherSet.pointer); } + /// isSubsetOfSet: bool isSubsetOfSet_(NSSet otherSet) { return _objc_msgSend_290( this.pointer, _sel_isSubsetOfSet_, otherSet.pointer); } + /// makeObjectsPerformSelector: void makeObjectsPerformSelector_(ffi.Pointer aSelector) { _objc_msgSend_7(this.pointer, _sel_makeObjectsPerformSelector_, aSelector); } + /// makeObjectsPerformSelector:withObject: void makeObjectsPerformSelector_withObject_( ffi.Pointer aSelector, objc.ObjCObjectBase? argument) { _objc_msgSend_116(this.pointer, _sel_makeObjectsPerformSelector_withObject_, aSelector, argument?.pointer ?? ffi.nullptr); } + /// setByAddingObject: NSSet setByAddingObject_(objc.ObjCObjectBase anObject) { final _ret = _objc_msgSend_291( this.pointer, _sel_setByAddingObject_, anObject.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setByAddingObjectsFromSet: NSSet setByAddingObjectsFromSet_(NSSet other) { final _ret = _objc_msgSend_292( this.pointer, _sel_setByAddingObjectsFromSet_, other.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setByAddingObjectsFromArray: NSSet setByAddingObjectsFromArray_(NSArray other) { final _ret = _objc_msgSend_293( this.pointer, _sel_setByAddingObjectsFromArray_, other.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// set static NSSet set1() { final _ret = _objc_msgSend_2(_class_NSSet, _sel_set); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObject: static NSSet setWithObject_(objc.ObjCObjectBase object) { final _ret = _objc_msgSend_126(_class_NSSet, _sel_setWithObject_, object.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObjects:count: static NSSet setWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -10577,57 +11667,67 @@ class NSSet extends NSObject { return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObjects: static NSSet setWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126(_class_NSSet, _sel_setWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithSet: static NSSet setWithSet_(NSSet set) { final _ret = _objc_msgSend_294(_class_NSSet, _sel_setWithSet_, set.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithArray: static NSSet setWithArray_(NSArray array) { final _ret = _objc_msgSend_127(_class_NSSet, _sel_setWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects: NSSet initWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithSet: NSSet initWithSet_(NSSet set) { final _ret = _objc_msgSend_294(this.pointer, _sel_initWithSet_, set.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithSet:copyItems: NSSet initWithSet_copyItems_(NSSet set, bool flag) { final _ret = _objc_msgSend_295( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSSet.castFromPointer(_ret, retain: false, release: true); } + /// initWithArray: NSSet initWithArray_(NSArray array) { final _ret = _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSSet.castFromPointer(_ret, retain: true, release: true); } + /// new static NSSet new1() { final _ret = _objc_msgSend_2(_class_NSSet, _sel_new); return NSSet.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSSet allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSSet, _sel_allocWithZone_, zone); return NSSet.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSSet alloc() { final _ret = _objc_msgSend_2(_class_NSSet, _sel_alloc); return NSSet.castFromPointer(_ret, retain: false, release: true); @@ -10720,6 +11820,7 @@ final _objc_msgSend_295 = objc.msgSendPointer ffi.Pointer, bool)>(); +/// NSMutableSet class NSMutableSet extends NSSet { NSMutableSet._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -10740,14 +11841,17 @@ class NSMutableSet extends NSSet { obj.pointer, _sel_isKindOfClass_, _class_NSMutableSet); } + /// addObject: void addObject_(objc.ObjCObjectBase object) { _objc_msgSend_172(this.pointer, _sel_addObject_, object.pointer); } + /// removeObject: void removeObject_(objc.ObjCObjectBase object) { _objc_msgSend_172(this.pointer, _sel_removeObject_, object.pointer); } + /// initWithCoder: NSMutableSet? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -10756,47 +11860,57 @@ class NSMutableSet extends NSSet { : NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// init NSMutableSet init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithCapacity: NSMutableSet initWithCapacity_(int numItems) { final _ret = _objc_msgSend_99(this.pointer, _sel_initWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// addObjectsFromArray: void addObjectsFromArray_(NSArray array) { _objc_msgSend_259(this.pointer, _sel_addObjectsFromArray_, array.pointer); } + /// intersectSet: void intersectSet_(NSSet otherSet) { _objc_msgSend_296(this.pointer, _sel_intersectSet_, otherSet.pointer); } + /// minusSet: void minusSet_(NSSet otherSet) { _objc_msgSend_296(this.pointer, _sel_minusSet_, otherSet.pointer); } + /// removeAllObjects void removeAllObjects() { _objc_msgSend_1(this.pointer, _sel_removeAllObjects); } + /// unionSet: void unionSet_(NSSet otherSet) { _objc_msgSend_296(this.pointer, _sel_unionSet_, otherSet.pointer); } + /// setSet: void setSet_(NSSet otherSet) { _objc_msgSend_296(this.pointer, _sel_setSet_, otherSet.pointer); } + /// setWithCapacity: static NSMutableSet setWithCapacity_(int numItems) { final _ret = _objc_msgSend_99(_class_NSMutableSet, _sel_setWithCapacity_, numItems); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects:count: NSMutableSet initWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -10804,17 +11918,20 @@ class NSMutableSet extends NSSet { return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// set static NSMutableSet set1() { final _ret = _objc_msgSend_2(_class_NSMutableSet, _sel_set); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObject: static NSMutableSet setWithObject_(objc.ObjCObjectBase object) { final _ret = _objc_msgSend_126( _class_NSMutableSet, _sel_setWithObject_, object.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObjects:count: static NSMutableSet setWithObjects_count_( ffi.Pointer> objects, int cnt) { final _ret = _objc_msgSend_100( @@ -10822,59 +11939,69 @@ class NSMutableSet extends NSSet { return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithObjects: static NSMutableSet setWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( _class_NSMutableSet, _sel_setWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithSet: static NSMutableSet setWithSet_(NSSet set) { final _ret = _objc_msgSend_294(_class_NSMutableSet, _sel_setWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// setWithArray: static NSMutableSet setWithArray_(NSArray array) { final _ret = _objc_msgSend_127( _class_NSMutableSet, _sel_setWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithObjects: NSMutableSet initWithObjects_(objc.ObjCObjectBase firstObj) { final _ret = _objc_msgSend_126( this.pointer, _sel_initWithObjects_, firstObj.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithSet: NSMutableSet initWithSet_(NSSet set) { final _ret = _objc_msgSend_294(this.pointer, _sel_initWithSet_, set.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// initWithSet:copyItems: NSMutableSet initWithSet_copyItems_(NSSet set, bool flag) { final _ret = _objc_msgSend_295( this.pointer, _sel_initWithSet_copyItems_, set.pointer, flag); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } + /// initWithArray: NSMutableSet initWithArray_(NSArray array) { final _ret = _objc_msgSend_127(this.pointer, _sel_initWithArray_, array.pointer); return NSMutableSet.castFromPointer(_ret, retain: true, release: true); } + /// new static NSMutableSet new1() { final _ret = _objc_msgSend_2(_class_NSMutableSet, _sel_new); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableSet allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableSet, _sel_allocWithZone_, zone); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSMutableSet alloc() { final _ret = _objc_msgSend_2(_class_NSMutableSet, _sel_alloc); return NSMutableSet.castFromPointer(_ret, retain: false, release: true); @@ -10898,6 +12025,7 @@ late final _sel_unionSet_ = objc.registerName("unionSet:"); late final _sel_setSet_ = objc.registerName("setSet:"); late final _sel_setWithCapacity_ = objc.registerName("setWithCapacity:"); +/// NSItemProvider class NSItemProvider extends NSObject { NSItemProvider._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -10918,37 +12046,44 @@ class NSItemProvider extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_NSItemProvider); } + /// init NSItemProvider init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } + /// registeredTypeIdentifiers NSArray get registeredTypeIdentifiers { final _ret = _objc_msgSend_137(this.pointer, _sel_registeredTypeIdentifiers); return NSArray.castFromPointer(_ret, retain: true, release: true); } - NSArray registeredTypeIdentifiersWithFileOptions_(int fileOptions) { + /// registeredTypeIdentifiersWithFileOptions: + NSArray registeredTypeIdentifiersWithFileOptions_( + NSItemProviderFileOptions fileOptions) { final _ret = _objc_msgSend_297(this.pointer, - _sel_registeredTypeIdentifiersWithFileOptions_, fileOptions); + _sel_registeredTypeIdentifiersWithFileOptions_, fileOptions.value); return NSArray.castFromPointer(_ret, retain: true, release: true); } + /// hasItemConformingToTypeIdentifier: bool hasItemConformingToTypeIdentifier_(NSString typeIdentifier) { return _objc_msgSend_25(this.pointer, _sel_hasItemConformingToTypeIdentifier_, typeIdentifier.pointer); } + /// hasRepresentationConformingToTypeIdentifier:fileOptions: bool hasRepresentationConformingToTypeIdentifier_fileOptions_( - NSString typeIdentifier, int fileOptions) { + NSString typeIdentifier, NSItemProviderFileOptions fileOptions) { return _objc_msgSend_298( this.pointer, _sel_hasRepresentationConformingToTypeIdentifier_fileOptions_, typeIdentifier.pointer, - fileOptions); + fileOptions.value); } + /// suggestedName NSString? get suggestedName { final _ret = _objc_msgSend_58(this.pointer, _sel_suggestedName); return _ret.address == 0 @@ -10956,27 +12091,33 @@ class NSItemProvider extends NSObject { : NSString.castFromPointer(_ret, retain: true, release: true); } + /// setSuggestedName: set suggestedName(NSString? value) { return _objc_msgSend_299( this.pointer, _sel_setSuggestedName_, value?.pointer ?? ffi.nullptr); } + /// initWithObject: NSItemProvider initWithObject_(objc.ObjCObjectBase object) { final _ret = _objc_msgSend_126(this.pointer, _sel_initWithObject_, object.pointer); return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } - void registerObject_visibility_(objc.ObjCObjectBase object, int visibility) { + /// registerObject:visibility: + void registerObject_visibility_(objc.ObjCObjectBase object, + NSItemProviderRepresentationVisibility visibility) { _objc_msgSend_300(this.pointer, _sel_registerObject_visibility_, - object.pointer, visibility); + object.pointer, visibility.value); } + /// canLoadObjectOfClass: bool canLoadObjectOfClass_(objc.ObjCObjectBase aClass) { return _objc_msgSend_0( this.pointer, _sel_canLoadObjectOfClass_, aClass.pointer); } + /// initWithItem:typeIdentifier: NSItemProvider initWithItem_typeIdentifier_( objc.ObjCObjectBase? item, NSString? typeIdentifier) { final _ret = _objc_msgSend_301( @@ -10987,6 +12128,7 @@ class NSItemProvider extends NSObject { return NSItemProvider.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL: NSItemProvider? initWithContentsOfURL_(NSURL fileURL) { final _ret = _objc_msgSend_187( this.pointer, _sel_initWithContentsOfURL_, fileURL.pointer); @@ -10995,17 +12137,20 @@ class NSItemProvider extends NSObject { : NSItemProvider.castFromPointer(_ret, retain: true, release: true); } + /// new static NSItemProvider new1() { final _ret = _objc_msgSend_2(_class_NSItemProvider, _sel_new); return NSItemProvider.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSItemProvider allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSItemProvider, _sel_allocWithZone_, zone); return NSItemProvider.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSItemProvider alloc() { final _ret = _objc_msgSend_2(_class_NSItemProvider, _sel_alloc); return NSItemProvider.castFromPointer(_ret, retain: false, release: true); @@ -11016,8 +12161,17 @@ late final _class_NSItemProvider = objc.getClass("NSItemProvider"); late final _sel_registeredTypeIdentifiers = objc.registerName("registeredTypeIdentifiers"); -abstract class NSItemProviderFileOptions { - static const int NSItemProviderFileOptionOpenInPlace = 1; +enum NSItemProviderFileOptions { + NSItemProviderFileOptionOpenInPlace(1); + + final int value; + const NSItemProviderFileOptions(this.value); + + static NSItemProviderFileOptions fromValue(int value) => switch (value) { + 1 => NSItemProviderFileOptionOpenInPlace, + _ => throw ArgumentError( + "Unknown value for NSItemProviderFileOptions: $value"), + }; } late final _sel_registeredTypeIdentifiersWithFileOptions_ = @@ -11026,7 +12180,7 @@ final _objc_msgSend_297 = objc.msgSendPointer .cast< ffi.NativeFunction< ffi.Pointer Function(ffi.Pointer, - ffi.Pointer, ffi.Int32)>>() + ffi.Pointer, ffi.UnsignedLong)>>() .asFunction< ffi.Pointer Function(ffi.Pointer, ffi.Pointer, int)>(); @@ -11041,7 +12195,7 @@ final _objc_msgSend_298 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< bool Function( ffi.Pointer, @@ -11062,11 +12216,24 @@ final _objc_msgSend_299 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_initWithObject_ = objc.registerName("initWithObject:"); -abstract class NSItemProviderRepresentationVisibility { - static const int NSItemProviderRepresentationVisibilityAll = 0; - static const int NSItemProviderRepresentationVisibilityTeam = 1; - static const int NSItemProviderRepresentationVisibilityGroup = 2; - static const int NSItemProviderRepresentationVisibilityOwnProcess = 3; +enum NSItemProviderRepresentationVisibility { + NSItemProviderRepresentationVisibilityAll(0), + NSItemProviderRepresentationVisibilityTeam(1), + NSItemProviderRepresentationVisibilityGroup(2), + NSItemProviderRepresentationVisibilityOwnProcess(3); + + final int value; + const NSItemProviderRepresentationVisibility(this.value); + + static NSItemProviderRepresentationVisibility fromValue(int value) => + switch (value) { + 0 => NSItemProviderRepresentationVisibilityAll, + 1 => NSItemProviderRepresentationVisibilityTeam, + 2 => NSItemProviderRepresentationVisibilityGroup, + 3 => NSItemProviderRepresentationVisibilityOwnProcess, + _ => throw ArgumentError( + "Unknown value for NSItemProviderRepresentationVisibility: $value"), + }; } late final _sel_registerObject_visibility_ = @@ -11078,7 +12245,7 @@ final _objc_msgSend_300 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32)>>() + ffi.UnsignedLong)>>() .asFunction< void Function( ffi.Pointer, @@ -11104,19 +12271,38 @@ final _objc_msgSend_301 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); -abstract class NSStringEnumerationOptions { - static const int NSStringEnumerationByLines = 0; - static const int NSStringEnumerationByParagraphs = 1; - static const int NSStringEnumerationByComposedCharacterSequences = 2; - static const int NSStringEnumerationByWords = 3; - static const int NSStringEnumerationBySentences = 4; - static const int NSStringEnumerationByCaretPositions = 5; - static const int NSStringEnumerationByDeletionClusters = 6; - static const int NSStringEnumerationReverse = 256; - static const int NSStringEnumerationSubstringNotRequired = 512; - static const int NSStringEnumerationLocalized = 1024; +enum NSStringEnumerationOptions { + NSStringEnumerationByLines(0), + NSStringEnumerationByParagraphs(1), + NSStringEnumerationByComposedCharacterSequences(2), + NSStringEnumerationByWords(3), + NSStringEnumerationBySentences(4), + NSStringEnumerationByCaretPositions(5), + NSStringEnumerationByDeletionClusters(6), + NSStringEnumerationReverse(256), + NSStringEnumerationSubstringNotRequired(512), + NSStringEnumerationLocalized(1024); + + final int value; + const NSStringEnumerationOptions(this.value); + + static NSStringEnumerationOptions fromValue(int value) => switch (value) { + 0 => NSStringEnumerationByLines, + 1 => NSStringEnumerationByParagraphs, + 2 => NSStringEnumerationByComposedCharacterSequences, + 3 => NSStringEnumerationByWords, + 4 => NSStringEnumerationBySentences, + 5 => NSStringEnumerationByCaretPositions, + 6 => NSStringEnumerationByDeletionClusters, + 256 => NSStringEnumerationReverse, + 512 => NSStringEnumerationSubstringNotRequired, + 1024 => NSStringEnumerationLocalized, + _ => throw ArgumentError( + "Unknown value for NSStringEnumerationOptions: $value"), + }; } +/// NSMutableString class NSMutableString extends NSString { NSMutableString._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -11137,43 +12323,54 @@ class NSMutableString extends NSString { obj.pointer, _sel_isKindOfClass_, _class_NSMutableString); } + /// replaceCharactersInRange:withString: void replaceCharactersInRange_withString_(NSRange range, NSString aString) { _objc_msgSend_302(this.pointer, _sel_replaceCharactersInRange_withString_, range, aString.pointer); } + /// insertString:atIndex: void insertString_atIndex_(NSString aString, int loc) { _objc_msgSend_303( this.pointer, _sel_insertString_atIndex_, aString.pointer, loc); } + /// deleteCharactersInRange: void deleteCharactersInRange_(NSRange range) { _objc_msgSend_255(this.pointer, _sel_deleteCharactersInRange_, range); } + /// appendString: void appendString_(NSString aString) { _objc_msgSend_143(this.pointer, _sel_appendString_, aString.pointer); } + /// appendFormat: void appendFormat_(NSString format) { _objc_msgSend_143(this.pointer, _sel_appendFormat_, format.pointer); } + /// setString: void setString_(NSString aString) { _objc_msgSend_143(this.pointer, _sel_setString_, aString.pointer); } + /// replaceOccurrencesOfString:withString:options:range: int replaceOccurrencesOfString_withString_options_range_( - NSString target, NSString replacement, int options, NSRange searchRange) { + NSString target, + NSString replacement, + NSStringCompareOptions options, + NSRange searchRange) { return _objc_msgSend_304( this.pointer, _sel_replaceOccurrencesOfString_withString_options_range_, target.pointer, replacement.pointer, - options, + options.value, searchRange); } + /// applyTransform:reverse:range:updatedRange: bool applyTransform_reverse_range_updatedRange_(NSString transform, bool reverse, NSRange range, ffi.Pointer resultingRange) { return _objc_msgSend_305( @@ -11185,23 +12382,27 @@ class NSMutableString extends NSString { resultingRange); } + /// initWithCapacity: NSMutableString initWithCapacity_(int capacity) { final _ret = _objc_msgSend_306(this.pointer, _sel_initWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithCapacity: static NSMutableString stringWithCapacity_(int capacity) { final _ret = _objc_msgSend_306( _class_NSMutableString, _sel_stringWithCapacity_, capacity); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// init NSMutableString init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithCoder: NSMutableString? initWithCoder_(NSCoder coder) { final _ret = _objc_msgSend_17(this.pointer, _sel_initWithCoder_, coder.pointer); @@ -11210,22 +12411,26 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// availableStringEncodings static ffi.Pointer getAvailableStringEncodings() { return _objc_msgSend_212( _class_NSMutableString, _sel_availableStringEncodings); } + /// localizedNameOfStringEncoding: static NSString localizedNameOfStringEncoding_(int encoding) { final _ret = _objc_msgSend_18( _class_NSMutableString, _sel_localizedNameOfStringEncoding_, encoding); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// defaultCStringEncoding static int getDefaultCStringEncoding() { return _objc_msgSend_11( _class_NSMutableString, _sel_defaultCStringEncoding); } + /// initWithCharactersNoCopy:length:freeWhenDone: NSMutableString initWithCharactersNoCopy_length_freeWhenDone_( ffi.Pointer characters, int length, bool freeBuffer) { final _ret = _objc_msgSend_224( @@ -11237,6 +12442,7 @@ class NSMutableString extends NSString { return NSMutableString.castFromPointer(_ret, retain: false, release: true); } + /// initWithCharacters:length: NSMutableString initWithCharacters_length_( ffi.Pointer characters, int length) { final _ret = _objc_msgSend_225( @@ -11244,6 +12450,7 @@ class NSMutableString extends NSString { return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithUTF8String: NSMutableString? initWithUTF8String_( ffi.Pointer nullTerminatedCString) { final _ret = _objc_msgSend_226( @@ -11253,18 +12460,21 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithString: NSMutableString initWithString_(NSString aString) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithString_, aString.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithFormat: NSMutableString initWithFormat_(NSString format) { final _ret = _objc_msgSend_45(this.pointer, _sel_initWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithFormat:locale: NSMutableString initWithFormat_locale_( NSString format, objc.ObjCObjectBase? locale) { final _ret = _objc_msgSend_227(this.pointer, _sel_initWithFormat_locale_, @@ -11272,6 +12482,7 @@ class NSMutableString extends NSString { return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithValidatedFormat:validFormatSpecifiers:error: NSMutableString? initWithValidatedFormat_validFormatSpecifiers_error_( NSString format, NSString validFormatSpecifiers, @@ -11287,6 +12498,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithValidatedFormat:validFormatSpecifiers:locale:error: NSMutableString? initWithValidatedFormat_validFormatSpecifiers_locale_error_( NSString format, NSString validFormatSpecifiers, @@ -11304,6 +12516,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithData:encoding: NSMutableString? initWithData_encoding_(NSData data, int encoding) { final _ret = _objc_msgSend_230( this.pointer, _sel_initWithData_encoding_, data.pointer, encoding); @@ -11312,6 +12525,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytes:length:encoding: NSMutableString? initWithBytes_length_encoding_( ffi.Pointer bytes, int len, int encoding) { final _ret = _objc_msgSend_231(this.pointer, @@ -11321,6 +12535,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithBytesNoCopy:length:encoding:freeWhenDone: NSMutableString? initWithBytesNoCopy_length_encoding_freeWhenDone_( ffi.Pointer bytes, int len, int encoding, bool freeBuffer) { final _ret = _objc_msgSend_232( @@ -11335,17 +12550,20 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: false, release: true); } + /// string static NSMutableString string() { final _ret = _objc_msgSend_2(_class_NSMutableString, _sel_string); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithString: static NSMutableString stringWithString_(NSString string) { final _ret = _objc_msgSend_45( _class_NSMutableString, _sel_stringWithString_, string.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithCharacters:length: static NSMutableString stringWithCharacters_length_( ffi.Pointer characters, int length) { final _ret = _objc_msgSend_225(_class_NSMutableString, @@ -11353,6 +12571,7 @@ class NSMutableString extends NSString { return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithUTF8String: static NSMutableString? stringWithUTF8String_( ffi.Pointer nullTerminatedCString) { final _ret = _objc_msgSend_226(_class_NSMutableString, @@ -11362,18 +12581,21 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithFormat: static NSMutableString stringWithFormat_(NSString format) { final _ret = _objc_msgSend_45( _class_NSMutableString, _sel_stringWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// localizedStringWithFormat: static NSMutableString localizedStringWithFormat_(NSString format) { final _ret = _objc_msgSend_45(_class_NSMutableString, _sel_localizedStringWithFormat_, format.pointer); return NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithValidatedFormat:validFormatSpecifiers:error: static NSMutableString? stringWithValidatedFormat_validFormatSpecifiers_error_( NSString format, @@ -11390,6 +12612,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// localizedStringWithValidatedFormat:validFormatSpecifiers:error: static NSMutableString? localizedStringWithValidatedFormat_validFormatSpecifiers_error_( NSString format, @@ -11406,6 +12629,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithCString:encoding: NSMutableString? initWithCString_encoding_( ffi.Pointer nullTerminatedCString, int encoding) { final _ret = _objc_msgSend_233(this.pointer, _sel_initWithCString_encoding_, @@ -11415,6 +12639,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithCString:encoding: static NSMutableString? stringWithCString_encoding_( ffi.Pointer cString, int enc) { final _ret = _objc_msgSend_233( @@ -11424,6 +12649,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL:encoding:error: NSMutableString? initWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_234(this.pointer, @@ -11433,6 +12659,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile:encoding:error: NSMutableString? initWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_235(this.pointer, @@ -11442,6 +12669,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfURL:encoding:error: static NSMutableString? stringWithContentsOfURL_encoding_error_( NSURL url, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_234(_class_NSMutableString, @@ -11451,6 +12679,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfFile:encoding:error: static NSMutableString? stringWithContentsOfFile_encoding_error_( NSString path, int enc, ffi.Pointer> error) { final _ret = _objc_msgSend_235( @@ -11464,6 +12693,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfURL:usedEncoding:error: NSMutableString? initWithContentsOfURL_usedEncoding_error_( NSURL url, ffi.Pointer enc, @@ -11479,6 +12709,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// initWithContentsOfFile:usedEncoding:error: NSMutableString? initWithContentsOfFile_usedEncoding_error_( NSString path, ffi.Pointer enc, @@ -11494,6 +12725,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfURL:usedEncoding:error: static NSMutableString? stringWithContentsOfURL_usedEncoding_error_( NSURL url, ffi.Pointer enc, @@ -11509,6 +12741,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringWithContentsOfFile:usedEncoding:error: static NSMutableString? stringWithContentsOfFile_usedEncoding_error_( NSString path, ffi.Pointer enc, @@ -11524,6 +12757,7 @@ class NSMutableString extends NSString { : NSMutableString.castFromPointer(_ret, retain: true, release: true); } + /// stringEncodingForData:encodingOptions:convertedString:usedLossyConversion: static int stringEncodingForData_encodingOptions_convertedString_usedLossyConversion_( NSData data, @@ -11539,6 +12773,7 @@ class NSMutableString extends NSString { usedLossyConversion); } + /// stringWithContentsOfFile: static objc.ObjCObjectBase? stringWithContentsOfFile_(NSString path) { final _ret = _objc_msgSend_52( _class_NSMutableString, _sel_stringWithContentsOfFile_, path.pointer); @@ -11547,6 +12782,7 @@ class NSMutableString extends NSString { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithContentsOfURL: static objc.ObjCObjectBase? stringWithContentsOfURL_(NSURL url) { final _ret = _objc_msgSend_187( _class_NSMutableString, _sel_stringWithContentsOfURL_, url.pointer); @@ -11555,6 +12791,7 @@ class NSMutableString extends NSString { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithCString:length: static objc.ObjCObjectBase? stringWithCString_length_( ffi.Pointer bytes, int length) { final _ret = _objc_msgSend_233( @@ -11564,6 +12801,7 @@ class NSMutableString extends NSString { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// stringWithCString: static objc.ObjCObjectBase? stringWithCString_(ffi.Pointer bytes) { final _ret = _objc_msgSend_226( _class_NSMutableString, _sel_stringWithCString_, bytes); @@ -11572,17 +12810,20 @@ class NSMutableString extends NSString { : objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// new static NSMutableString new1() { final _ret = _objc_msgSend_2(_class_NSMutableString, _sel_new); return NSMutableString.castFromPointer(_ret, retain: false, release: true); } + /// allocWithZone: static NSMutableString allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSMutableString, _sel_allocWithZone_, zone); return NSMutableString.castFromPointer(_ret, retain: false, release: true); } + /// alloc static NSMutableString alloc() { final _ret = _objc_msgSend_2(_class_NSMutableString, _sel_alloc); return NSMutableString.castFromPointer(_ret, retain: false, release: true); @@ -11637,7 +12878,7 @@ final _objc_msgSend_304 = objc.msgSendPointer ffi.Pointer, ffi.Pointer, ffi.Pointer, - ffi.Int32, + ffi.UnsignedLong, NSRange)>>() .asFunction< int Function( @@ -11677,16 +12918,36 @@ final _objc_msgSend_306 = objc.msgSendPointer ffi.Pointer, int)>(); late final _sel_stringWithCapacity_ = objc.registerName("stringWithCapacity:"); -abstract class NSEnumerationOptions { - static const int NSEnumerationConcurrent = 1; - static const int NSEnumerationReverse = 2; +enum NSEnumerationOptions { + NSEnumerationConcurrent(1), + NSEnumerationReverse(2); + + final int value; + const NSEnumerationOptions(this.value); + + static NSEnumerationOptions fromValue(int value) => switch (value) { + 1 => NSEnumerationConcurrent, + 2 => NSEnumerationReverse, + _ => + throw ArgumentError("Unknown value for NSEnumerationOptions: $value"), + }; } -abstract class NSSortOptions { - static const int NSSortConcurrent = 1; - static const int NSSortStable = 16; +enum NSSortOptions { + NSSortConcurrent(1), + NSSortStable(16); + + final int value; + const NSSortOptions(this.value); + + static NSSortOptions fromValue(int value) => switch (value) { + 1 => NSSortConcurrent, + 16 => NSSortStable, + _ => throw ArgumentError("Unknown value for NSSortOptions: $value"), + }; } +/// NSProxy class NSProxy extends objc.ObjCObjectBase { NSProxy._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -11706,25 +12967,30 @@ class NSProxy extends objc.ObjCObjectBase { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_NSProxy); } + /// alloc static objc.ObjCObjectBase alloc() { final _ret = _objc_msgSend_2(_class_NSProxy, _sel_alloc); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// allocWithZone: static objc.ObjCObjectBase allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_NSProxy, _sel_allocWithZone_, zone); return objc.ObjCObjectBase(_ret, retain: false, release: true); } + /// class static objc.ObjCObjectBase class1() { final _ret = _objc_msgSend_2(_class_NSProxy, _sel_class); return objc.ObjCObjectBase(_ret, retain: true, release: true); } + /// forwardInvocation: void forwardInvocation_(NSInvocation invocation) { _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); } + /// methodSignatureForSelector: NSMethodSignature? methodSignatureForSelector_( ffi.Pointer sel) { final _ret = @@ -11734,32 +13000,39 @@ class NSProxy extends objc.ObjCObjectBase { : NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// dealloc void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } + /// finalize void finalize() { _objc_msgSend_1(this.pointer, _sel_finalize); } + /// description NSString get description { final _ret = _objc_msgSend_35(this.pointer, _sel_description); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// debugDescription NSString get debugDescription { final _ret = _objc_msgSend_35(this.pointer, _sel_debugDescription); return NSString.castFromPointer(_ret, retain: true, release: true); } + /// respondsToSelector: static bool respondsToSelector_(ffi.Pointer aSelector) { return _objc_msgSend_4(_class_NSProxy, _sel_respondsToSelector_, aSelector); } + /// allowsWeakReference bool allowsWeakReference() { return _objc_msgSend_13(this.pointer, _sel_allowsWeakReference); } + /// retainWeakReference bool retainWeakReference() { return _objc_msgSend_13(this.pointer, _sel_retainWeakReference); } @@ -11778,6 +13051,7 @@ final _objc_msgSend_307 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); late final _sel_respondsToSelector_ = objc.registerName("respondsToSelector:"); +/// DartProxyBuilder class DartProxyBuilder extends NSObject { DartProxyBuilder._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -11798,20 +13072,24 @@ class DartProxyBuilder extends NSObject { obj.pointer, _sel_isKindOfClass_, _class_DartProxyBuilder); } + /// new static DartProxyBuilder new1() { final _ret = _objc_msgSend_2(_class_DartProxyBuilder, _sel_new); return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); } + /// init DartProxyBuilder init() { final _ret = _objc_msgSend_2(this.pointer, _sel_init); return DartProxyBuilder.castFromPointer(_ret, retain: true, release: true); } + /// dealloc void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } + /// implementMethod:withSignature:andBlock: void implementMethod_withSignature_andBlock_( ffi.Pointer sel, NSMethodSignature signature, @@ -11824,12 +13102,14 @@ class DartProxyBuilder extends NSObject { block); } + /// allocWithZone: static DartProxyBuilder allocWithZone_(ffi.Pointer<_NSZone> zone) { final _ret = _objc_msgSend_3(_class_DartProxyBuilder, _sel_allocWithZone_, zone); return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); } + /// alloc static DartProxyBuilder alloc() { final _ret = _objc_msgSend_2(_class_DartProxyBuilder, _sel_alloc); return DartProxyBuilder.castFromPointer(_ret, retain: false, release: true); @@ -11856,6 +13136,7 @@ final _objc_msgSend_308 = objc.msgSendPointer ffi.Pointer, ffi.Pointer)>(); +/// DartProxy class DartProxy extends NSProxy { DartProxy._(ffi.Pointer pointer, {bool retain = false, bool release = false}) @@ -11875,27 +13156,32 @@ class DartProxy extends NSProxy { return _objc_msgSend_0(obj.pointer, _sel_isKindOfClass_, _class_DartProxy); } + /// newFromBuilder: static DartProxy newFromBuilder_(DartProxyBuilder builder) { final _ret = _objc_msgSend_309( _class_DartProxy, _sel_newFromBuilder_, builder.pointer); return DartProxy.castFromPointer(_ret, retain: false, release: true); } + /// initFromBuilder: DartProxy initFromBuilder_(DartProxyBuilder builder) { final _ret = _objc_msgSend_309(this.pointer, _sel_initFromBuilder_, builder.pointer); return DartProxy.castFromPointer(_ret, retain: true, release: true); } + /// dealloc void dealloc() { _objc_msgSend_1(this.pointer, _sel_dealloc); } + /// respondsToSelector: static bool respondsToSelector_(ffi.Pointer aSelector) { return _objc_msgSend_4( _class_DartProxy, _sel_respondsToSelector_, aSelector); } + /// methodSignatureForSelector: NSMethodSignature methodSignatureForSelector_( ffi.Pointer sel) { final _ret = @@ -11903,10 +13189,12 @@ class DartProxy extends NSProxy { return NSMethodSignature.castFromPointer(_ret, retain: true, release: true); } + /// forwardInvocation: void forwardInvocation_(NSInvocation invocation) { _objc_msgSend_9(this.pointer, _sel_forwardInvocation_, invocation.pointer); } + /// alloc static objc.ObjCObjectBase alloc() { final _ret = _objc_msgSend_2(_class_DartProxy, _sel_alloc); return objc.ObjCObjectBase(_ret, retain: false, release: true); diff --git a/pkgs/objective_c/lib/src/protocol_builder.dart b/pkgs/objective_c/lib/src/protocol_builder.dart index c004da09f7..f1bf5e09f5 100644 --- a/pkgs/objective_c/lib/src/protocol_builder.dart +++ b/pkgs/objective_c/lib/src/protocol_builder.dart @@ -3,7 +3,8 @@ // BSD-style license that can be found in the LICENSE file. import 'objective_c_bindings_generated.dart' as objc; -import 'internal.dart' show ObjCBlockBase, ObjCProtocolMethod; +import 'internal.dart' + show ObjCBlockBase, ObjCProtocolMethod, ObjCProtocolListenableMethod; /// Helper class for building Objective C objects that implement protocols. class ObjCProtocolBuilder { @@ -32,9 +33,10 @@ class ObjCProtocolBuilder { /// The recommended way of getting the [method] object is to use ffigen to /// generate bindings for the protocol you want to implement. The generated /// bindings will include a [ObjCProtocolMethod] for each method of the - /// protocol. + /// protocol. If that method can be implemented as a listener, the [method] + /// object will be a [ObjCProtocolListenableMethod]. void implementMethodAsListener( - ObjCProtocolMethod method, Function? function) => + ObjCProtocolListenableMethod method, Function? function) => _implement(method, function, method.createListenerBlock); /// Builds the object. diff --git a/pkgs/objective_c/src/objective_c_runtime.h b/pkgs/objective_c/src/objective_c_runtime.h index 73678150d4..411f60ad03 100644 --- a/pkgs/objective_c/src/objective_c_runtime.h +++ b/pkgs/objective_c/src/objective_c_runtime.h @@ -67,7 +67,7 @@ typedef struct _ObjCMethodDesc { ObjCProtocol* objc_getProtocol(const char* name); ObjCMethodDesc protocol_getMethodDescription( - ObjCProtocol* proto, ObjCSelector* sel, bool isRequiredMethod, + ObjCProtocol* protocol, ObjCSelector* sel, bool isRequiredMethod, bool isInstanceMethod); #endif // OBJECTIVE_C_SRC_OBJECTIVE_C_RUNTIME_H_ From 7f1ce8231a789f987049d1410d4c02853395660d Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 18 Jun 2024 15:41:08 +1200 Subject: [PATCH 28/30] fmt --- pkgs/ffigen/lib/src/code_generator/objc_interface.dart | 4 +++- pkgs/objective_c/lib/src/internal.dart | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart index c93f95da80..3344a110ee 100644 --- a/pkgs/ffigen/lib/src/code_generator/objc_interface.dart +++ b/pkgs/ffigen/lib/src/code_generator/objc_interface.dart @@ -264,7 +264,9 @@ class ObjCInterface extends BindingType with ObjCMethods { while (superType_ != null) { for (final method in methods) { final superMethod = superType_.getMethod(method.originalName); - if (superMethod != null && !superMethod.isClassMethod && !method.isClassMethod) { + if (superMethod != null && + !superMethod.isClassMethod && + !method.isClassMethod) { if (superMethod.returnType.typealiasType is! ObjCNullable && method.returnType.typealiasType is ObjCNullable) { superMethod.returnType = ObjCNullable(superMethod.returnType); diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart index 658c711d3f..7ece5ae776 100644 --- a/pkgs/objective_c/lib/src/internal.dart +++ b/pkgs/objective_c/lib/src/internal.dart @@ -292,8 +292,8 @@ class ObjCProtocolMethod { final bool Function(Function) isCorrectFunctionType; final ObjCBlockBase Function(Function) createBlock; - ObjCProtocolMethod(this.sel, this.signature, this.isCorrectFunctionType, - this.createBlock); + ObjCProtocolMethod( + this.sel, this.signature, this.isCorrectFunctionType, this.createBlock); } /// Only for use by ffigen bindings. From e81fd827249d18abc518ad62c277f41d3ce34a58 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Tue, 18 Jun 2024 17:37:59 +1200 Subject: [PATCH 29/30] Revert spurious changes --- pkgs/ffigen/test/header_parser_tests/typedef.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/ffigen/test/header_parser_tests/typedef.h b/pkgs/ffigen/test/header_parser_tests/typedef.h index 6e57ac97eb..5e4f7fb3b5 100644 --- a/pkgs/ffigen/test/header_parser_tests/typedef.h +++ b/pkgs/ffigen/test/header_parser_tests/typedef.h @@ -4,15 +4,15 @@ #include -typedef void (*NamedFunctionProtocol)(); +typedef void (*NamedFunctionProto)(); struct Struct1 { - NamedFunctionProtocol named; + NamedFunctionProto named; void (*unnamed)(); }; -extern NamedFunctionProtocol func1(NamedFunctionProtocol named, void (*unnamed)(int)); +extern NamedFunctionProto func1(NamedFunctionProto named, void (*unnamed)(int)); typedef struct { From 3c4a2b095cfd895cf2397a7adf23174d06fcbad5 Mon Sep 17 00:00:00 2001 From: Liam Appelbe Date: Wed, 19 Jun 2024 09:55:12 +1200 Subject: [PATCH 30/30] Fix test --- pkgs/ffigen/test/native_objc_test/protocol_test.dart | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/ffigen/test/native_objc_test/protocol_test.dart b/pkgs/ffigen/test/native_objc_test/protocol_test.dart index 753adcc02d..947b837038 100644 --- a/pkgs/ffigen/test/native_objc_test/protocol_test.dart +++ b/pkgs/ffigen/test/native_objc_test/protocol_test.dart @@ -153,7 +153,7 @@ void main() { final sel = registerName('instanceMethod:withDouble:'); final signature = getProtocolMethodSignature(protocol, sel, - isRequired: true, isInstance: true); + isRequired: true, isInstanceMethod: true); final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) { return 'DartProxy: $s: $x'.toNSString(); @@ -163,7 +163,7 @@ void main() { final optSel = registerName('optionalMethod:'); final optSignature = getProtocolMethodSignature(protocol, optSel, - isRequired: false, isInstance: true); + isRequired: false, isInstanceMethod: true); final optBlock = OptionalMethodBlock.fromFunction((Pointer p, SomeStruct s) { return s.y - s.x; @@ -174,7 +174,7 @@ void main() { final otherSel = registerName('otherMethod:b:c:d:'); final otherSignature = getProtocolMethodSignature( secondProtocol, otherSel, - isRequired: true, isInstance: true); + isRequired: true, isInstanceMethod: true); final otherBlock = OtherMethodBlock.fromFunction( (Pointer p, int a, int b, int c, int d) { return a * b * c * d; @@ -235,7 +235,7 @@ void main() { final sel = registerName('instanceMethod:withDouble:'); final signature = getProtocolMethodSignature(protocol, sel, - isRequired: true, isInstance: true); + isRequired: true, isInstanceMethod: true); final block = InstanceMethodBlock.fromFunction( (Pointer p, NSString s, double x) => 'Hello'.toNSString()); proxyBuilder.implementMethod_withSignature_andBlock_(