objc2_foundation/generated/
NSScriptObjectSpecifiers.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsnospecifiererror?language=objc)
10pub const NSNoSpecifierError: NSInteger = 0;
11/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsnotoplevelcontainersspecifiererror?language=objc)
12pub const NSNoTopLevelContainersSpecifierError: NSInteger = 1;
13/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nscontainerspecifiererror?language=objc)
14pub const NSContainerSpecifierError: NSInteger = 2;
15/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsunknownkeyspecifiererror?language=objc)
16pub const NSUnknownKeySpecifierError: NSInteger = 3;
17/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsinvalidindexspecifiererror?language=objc)
18pub const NSInvalidIndexSpecifierError: NSInteger = 4;
19/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsinternalspecifiererror?language=objc)
20pub const NSInternalSpecifierError: NSInteger = 5;
21/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsoperationnotsupportedforkeyspecifiererror?language=objc)
22pub const NSOperationNotSupportedForKeySpecifierError: NSInteger = 6;
23
24/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsinsertionposition?language=objc)
25// NS_ENUM
26#[repr(transparent)]
27#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
28pub struct NSInsertionPosition(pub NSUInteger);
29impl NSInsertionPosition {
30    #[doc(alias = "NSPositionAfter")]
31    pub const PositionAfter: Self = Self(0);
32    #[doc(alias = "NSPositionBefore")]
33    pub const PositionBefore: Self = Self(1);
34    #[doc(alias = "NSPositionBeginning")]
35    pub const PositionBeginning: Self = Self(2);
36    #[doc(alias = "NSPositionEnd")]
37    pub const PositionEnd: Self = Self(3);
38    #[doc(alias = "NSPositionReplace")]
39    pub const PositionReplace: Self = Self(4);
40}
41
42unsafe impl Encode for NSInsertionPosition {
43    const ENCODING: Encoding = NSUInteger::ENCODING;
44}
45
46unsafe impl RefEncode for NSInsertionPosition {
47    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
48}
49
50/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsrelativeposition?language=objc)
51// NS_ENUM
52#[repr(transparent)]
53#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
54pub struct NSRelativePosition(pub NSUInteger);
55impl NSRelativePosition {
56    #[doc(alias = "NSRelativeAfter")]
57    pub const After: Self = Self(0);
58    #[doc(alias = "NSRelativeBefore")]
59    pub const Before: Self = Self(1);
60}
61
62unsafe impl Encode for NSRelativePosition {
63    const ENCODING: Encoding = NSUInteger::ENCODING;
64}
65
66unsafe impl RefEncode for NSRelativePosition {
67    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
68}
69
70/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nswhosesubelementidentifier?language=objc)
71// NS_ENUM
72#[repr(transparent)]
73#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
74pub struct NSWhoseSubelementIdentifier(pub NSUInteger);
75impl NSWhoseSubelementIdentifier {
76    #[doc(alias = "NSIndexSubelement")]
77    pub const IndexSubelement: Self = Self(0);
78    #[doc(alias = "NSEverySubelement")]
79    pub const EverySubelement: Self = Self(1);
80    #[doc(alias = "NSMiddleSubelement")]
81    pub const MiddleSubelement: Self = Self(2);
82    #[doc(alias = "NSRandomSubelement")]
83    pub const RandomSubelement: Self = Self(3);
84    #[doc(alias = "NSNoSubelement")]
85    pub const NoSubelement: Self = Self(4);
86}
87
88unsafe impl Encode for NSWhoseSubelementIdentifier {
89    const ENCODING: Encoding = NSUInteger::ENCODING;
90}
91
92unsafe impl RefEncode for NSWhoseSubelementIdentifier {
93    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
94}
95
96extern_class!(
97    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsscriptobjectspecifier?language=objc)
98    #[unsafe(super(NSObject))]
99    #[derive(Debug, PartialEq, Eq, Hash)]
100    pub struct NSScriptObjectSpecifier;
101);
102
103#[cfg(feature = "NSObject")]
104unsafe impl NSCoding for NSScriptObjectSpecifier {}
105
106unsafe impl NSObjectProtocol for NSScriptObjectSpecifier {}
107
108impl NSScriptObjectSpecifier {
109    extern_methods!(
110        #[cfg(feature = "NSAppleEventDescriptor")]
111        #[unsafe(method(objectSpecifierWithDescriptor:))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn objectSpecifierWithDescriptor(
114            descriptor: &NSAppleEventDescriptor,
115        ) -> Option<Retained<NSScriptObjectSpecifier>>;
116
117        #[cfg(feature = "NSString")]
118        #[unsafe(method(initWithContainerSpecifier:key:))]
119        #[unsafe(method_family = init)]
120        pub unsafe fn initWithContainerSpecifier_key(
121            this: Allocated<Self>,
122            container: &NSScriptObjectSpecifier,
123            property: &NSString,
124        ) -> Retained<Self>;
125
126        #[cfg(all(
127            feature = "NSClassDescription",
128            feature = "NSScriptClassDescription",
129            feature = "NSString"
130        ))]
131        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
132        #[unsafe(method_family = init)]
133        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
134            this: Allocated<Self>,
135            class_desc: &NSScriptClassDescription,
136            container: Option<&NSScriptObjectSpecifier>,
137            property: &NSString,
138        ) -> Retained<Self>;
139
140        #[cfg(feature = "NSCoder")]
141        #[unsafe(method(initWithCoder:))]
142        #[unsafe(method_family = init)]
143        pub unsafe fn initWithCoder(
144            this: Allocated<Self>,
145            in_coder: &NSCoder,
146        ) -> Option<Retained<Self>>;
147
148        #[unsafe(method(childSpecifier))]
149        #[unsafe(method_family = none)]
150        pub unsafe fn childSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
151
152        /// Setter for [`childSpecifier`][Self::childSpecifier].
153        #[unsafe(method(setChildSpecifier:))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn setChildSpecifier(&self, child_specifier: Option<&NSScriptObjectSpecifier>);
156
157        #[unsafe(method(containerSpecifier))]
158        #[unsafe(method_family = none)]
159        pub unsafe fn containerSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
160
161        /// Setter for [`containerSpecifier`][Self::containerSpecifier].
162        #[unsafe(method(setContainerSpecifier:))]
163        #[unsafe(method_family = none)]
164        pub unsafe fn setContainerSpecifier(
165            &self,
166            container_specifier: Option<&NSScriptObjectSpecifier>,
167        );
168
169        #[unsafe(method(containerIsObjectBeingTested))]
170        #[unsafe(method_family = none)]
171        pub unsafe fn containerIsObjectBeingTested(&self) -> bool;
172
173        /// Setter for [`containerIsObjectBeingTested`][Self::containerIsObjectBeingTested].
174        #[unsafe(method(setContainerIsObjectBeingTested:))]
175        #[unsafe(method_family = none)]
176        pub unsafe fn setContainerIsObjectBeingTested(
177            &self,
178            container_is_object_being_tested: bool,
179        );
180
181        #[unsafe(method(containerIsRangeContainerObject))]
182        #[unsafe(method_family = none)]
183        pub unsafe fn containerIsRangeContainerObject(&self) -> bool;
184
185        /// Setter for [`containerIsRangeContainerObject`][Self::containerIsRangeContainerObject].
186        #[unsafe(method(setContainerIsRangeContainerObject:))]
187        #[unsafe(method_family = none)]
188        pub unsafe fn setContainerIsRangeContainerObject(
189            &self,
190            container_is_range_container_object: bool,
191        );
192
193        #[cfg(feature = "NSString")]
194        #[unsafe(method(key))]
195        #[unsafe(method_family = none)]
196        pub unsafe fn key(&self) -> Retained<NSString>;
197
198        #[cfg(feature = "NSString")]
199        /// Setter for [`key`][Self::key].
200        #[unsafe(method(setKey:))]
201        #[unsafe(method_family = none)]
202        pub unsafe fn setKey(&self, key: &NSString);
203
204        #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
205        #[unsafe(method(containerClassDescription))]
206        #[unsafe(method_family = none)]
207        pub unsafe fn containerClassDescription(
208            &self,
209        ) -> Option<Retained<NSScriptClassDescription>>;
210
211        #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
212        /// Setter for [`containerClassDescription`][Self::containerClassDescription].
213        #[unsafe(method(setContainerClassDescription:))]
214        #[unsafe(method_family = none)]
215        pub unsafe fn setContainerClassDescription(
216            &self,
217            container_class_description: Option<&NSScriptClassDescription>,
218        );
219
220        #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
221        #[unsafe(method(keyClassDescription))]
222        #[unsafe(method_family = none)]
223        pub unsafe fn keyClassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
224
225        #[unsafe(method(indicesOfObjectsByEvaluatingWithContainer:count:))]
226        #[unsafe(method_family = none)]
227        pub unsafe fn indicesOfObjectsByEvaluatingWithContainer_count(
228            &self,
229            container: &AnyObject,
230            count: NonNull<NSInteger>,
231        ) -> *mut NSInteger;
232
233        #[unsafe(method(objectsByEvaluatingWithContainers:))]
234        #[unsafe(method_family = none)]
235        pub unsafe fn objectsByEvaluatingWithContainers(
236            &self,
237            containers: &AnyObject,
238        ) -> Option<Retained<AnyObject>>;
239
240        #[unsafe(method(objectsByEvaluatingSpecifier))]
241        #[unsafe(method_family = none)]
242        pub unsafe fn objectsByEvaluatingSpecifier(&self) -> Option<Retained<AnyObject>>;
243
244        #[unsafe(method(evaluationErrorNumber))]
245        #[unsafe(method_family = none)]
246        pub unsafe fn evaluationErrorNumber(&self) -> NSInteger;
247
248        /// Setter for [`evaluationErrorNumber`][Self::evaluationErrorNumber].
249        #[unsafe(method(setEvaluationErrorNumber:))]
250        #[unsafe(method_family = none)]
251        pub unsafe fn setEvaluationErrorNumber(&self, evaluation_error_number: NSInteger);
252
253        #[unsafe(method(evaluationErrorSpecifier))]
254        #[unsafe(method_family = none)]
255        pub unsafe fn evaluationErrorSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
256
257        #[cfg(feature = "NSAppleEventDescriptor")]
258        #[unsafe(method(descriptor))]
259        #[unsafe(method_family = none)]
260        pub unsafe fn descriptor(&self) -> Option<Retained<NSAppleEventDescriptor>>;
261    );
262}
263
264/// Methods declared on superclass `NSObject`.
265impl NSScriptObjectSpecifier {
266    extern_methods!(
267        #[unsafe(method(init))]
268        #[unsafe(method_family = init)]
269        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
270
271        #[unsafe(method(new))]
272        #[unsafe(method_family = new)]
273        pub unsafe fn new() -> Retained<Self>;
274    );
275}
276
277mod private_NSObjectNSScriptObjectSpecifiers {
278    pub trait Sealed {}
279}
280
281/// Category "NSScriptObjectSpecifiers" on [`NSObject`].
282#[doc(alias = "NSScriptObjectSpecifiers")]
283pub unsafe trait NSObjectNSScriptObjectSpecifiers:
284    ClassType + Sized + private_NSObjectNSScriptObjectSpecifiers::Sealed
285{
286    extern_methods!(
287        #[unsafe(method(objectSpecifier))]
288        #[unsafe(method_family = none)]
289        unsafe fn objectSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
290
291        #[cfg(all(feature = "NSArray", feature = "NSValue"))]
292        #[unsafe(method(indicesOfObjectsByEvaluatingObjectSpecifier:))]
293        #[unsafe(method_family = none)]
294        unsafe fn indicesOfObjectsByEvaluatingObjectSpecifier(
295            &self,
296            specifier: &NSScriptObjectSpecifier,
297        ) -> Option<Retained<NSArray<NSNumber>>>;
298    );
299}
300
301impl private_NSObjectNSScriptObjectSpecifiers::Sealed for NSObject {}
302unsafe impl NSObjectNSScriptObjectSpecifiers for NSObject {}
303
304extern_class!(
305    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsindexspecifier?language=objc)
306    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
307    #[derive(Debug, PartialEq, Eq, Hash)]
308    pub struct NSIndexSpecifier;
309);
310
311#[cfg(feature = "NSObject")]
312unsafe impl NSCoding for NSIndexSpecifier {}
313
314unsafe impl NSObjectProtocol for NSIndexSpecifier {}
315
316impl NSIndexSpecifier {
317    extern_methods!(
318        #[cfg(all(
319            feature = "NSClassDescription",
320            feature = "NSScriptClassDescription",
321            feature = "NSString"
322        ))]
323        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:index:))]
324        #[unsafe(method_family = init)]
325        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_index(
326            this: Allocated<Self>,
327            class_desc: &NSScriptClassDescription,
328            container: Option<&NSScriptObjectSpecifier>,
329            property: &NSString,
330            index: NSInteger,
331        ) -> Retained<Self>;
332
333        #[unsafe(method(index))]
334        #[unsafe(method_family = none)]
335        pub unsafe fn index(&self) -> NSInteger;
336
337        /// Setter for [`index`][Self::index].
338        #[unsafe(method(setIndex:))]
339        #[unsafe(method_family = none)]
340        pub unsafe fn setIndex(&self, index: NSInteger);
341    );
342}
343
344/// Methods declared on superclass `NSScriptObjectSpecifier`.
345impl NSIndexSpecifier {
346    extern_methods!(
347        #[cfg(feature = "NSString")]
348        #[unsafe(method(initWithContainerSpecifier:key:))]
349        #[unsafe(method_family = init)]
350        pub unsafe fn initWithContainerSpecifier_key(
351            this: Allocated<Self>,
352            container: &NSScriptObjectSpecifier,
353            property: &NSString,
354        ) -> Retained<Self>;
355
356        #[cfg(all(
357            feature = "NSClassDescription",
358            feature = "NSScriptClassDescription",
359            feature = "NSString"
360        ))]
361        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
362        #[unsafe(method_family = init)]
363        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
364            this: Allocated<Self>,
365            class_desc: &NSScriptClassDescription,
366            container: Option<&NSScriptObjectSpecifier>,
367            property: &NSString,
368        ) -> Retained<Self>;
369
370        #[cfg(feature = "NSCoder")]
371        #[unsafe(method(initWithCoder:))]
372        #[unsafe(method_family = init)]
373        pub unsafe fn initWithCoder(
374            this: Allocated<Self>,
375            in_coder: &NSCoder,
376        ) -> Option<Retained<Self>>;
377    );
378}
379
380/// Methods declared on superclass `NSObject`.
381impl NSIndexSpecifier {
382    extern_methods!(
383        #[unsafe(method(init))]
384        #[unsafe(method_family = init)]
385        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
386
387        #[unsafe(method(new))]
388        #[unsafe(method_family = new)]
389        pub unsafe fn new() -> Retained<Self>;
390    );
391}
392
393extern_class!(
394    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmiddlespecifier?language=objc)
395    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
396    #[derive(Debug, PartialEq, Eq, Hash)]
397    pub struct NSMiddleSpecifier;
398);
399
400#[cfg(feature = "NSObject")]
401unsafe impl NSCoding for NSMiddleSpecifier {}
402
403unsafe impl NSObjectProtocol for NSMiddleSpecifier {}
404
405impl NSMiddleSpecifier {
406    extern_methods!();
407}
408
409/// Methods declared on superclass `NSScriptObjectSpecifier`.
410impl NSMiddleSpecifier {
411    extern_methods!(
412        #[cfg(feature = "NSString")]
413        #[unsafe(method(initWithContainerSpecifier:key:))]
414        #[unsafe(method_family = init)]
415        pub unsafe fn initWithContainerSpecifier_key(
416            this: Allocated<Self>,
417            container: &NSScriptObjectSpecifier,
418            property: &NSString,
419        ) -> Retained<Self>;
420
421        #[cfg(all(
422            feature = "NSClassDescription",
423            feature = "NSScriptClassDescription",
424            feature = "NSString"
425        ))]
426        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
427        #[unsafe(method_family = init)]
428        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
429            this: Allocated<Self>,
430            class_desc: &NSScriptClassDescription,
431            container: Option<&NSScriptObjectSpecifier>,
432            property: &NSString,
433        ) -> Retained<Self>;
434
435        #[cfg(feature = "NSCoder")]
436        #[unsafe(method(initWithCoder:))]
437        #[unsafe(method_family = init)]
438        pub unsafe fn initWithCoder(
439            this: Allocated<Self>,
440            in_coder: &NSCoder,
441        ) -> Option<Retained<Self>>;
442    );
443}
444
445/// Methods declared on superclass `NSObject`.
446impl NSMiddleSpecifier {
447    extern_methods!(
448        #[unsafe(method(init))]
449        #[unsafe(method_family = init)]
450        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
451
452        #[unsafe(method(new))]
453        #[unsafe(method_family = new)]
454        pub unsafe fn new() -> Retained<Self>;
455    );
456}
457
458extern_class!(
459    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsnamespecifier?language=objc)
460    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
461    #[derive(Debug, PartialEq, Eq, Hash)]
462    pub struct NSNameSpecifier;
463);
464
465#[cfg(feature = "NSObject")]
466unsafe impl NSCoding for NSNameSpecifier {}
467
468unsafe impl NSObjectProtocol for NSNameSpecifier {}
469
470impl NSNameSpecifier {
471    extern_methods!(
472        #[cfg(feature = "NSCoder")]
473        #[unsafe(method(initWithCoder:))]
474        #[unsafe(method_family = init)]
475        pub unsafe fn initWithCoder(
476            this: Allocated<Self>,
477            in_coder: &NSCoder,
478        ) -> Option<Retained<Self>>;
479
480        #[cfg(all(
481            feature = "NSClassDescription",
482            feature = "NSScriptClassDescription",
483            feature = "NSString"
484        ))]
485        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:name:))]
486        #[unsafe(method_family = init)]
487        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_name(
488            this: Allocated<Self>,
489            class_desc: &NSScriptClassDescription,
490            container: Option<&NSScriptObjectSpecifier>,
491            property: &NSString,
492            name: &NSString,
493        ) -> Retained<Self>;
494
495        #[cfg(feature = "NSString")]
496        #[unsafe(method(name))]
497        #[unsafe(method_family = none)]
498        pub unsafe fn name(&self) -> Retained<NSString>;
499
500        #[cfg(feature = "NSString")]
501        /// Setter for [`name`][Self::name].
502        #[unsafe(method(setName:))]
503        #[unsafe(method_family = none)]
504        pub unsafe fn setName(&self, name: &NSString);
505    );
506}
507
508/// Methods declared on superclass `NSScriptObjectSpecifier`.
509impl NSNameSpecifier {
510    extern_methods!(
511        #[cfg(feature = "NSString")]
512        #[unsafe(method(initWithContainerSpecifier:key:))]
513        #[unsafe(method_family = init)]
514        pub unsafe fn initWithContainerSpecifier_key(
515            this: Allocated<Self>,
516            container: &NSScriptObjectSpecifier,
517            property: &NSString,
518        ) -> Retained<Self>;
519
520        #[cfg(all(
521            feature = "NSClassDescription",
522            feature = "NSScriptClassDescription",
523            feature = "NSString"
524        ))]
525        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
526        #[unsafe(method_family = init)]
527        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
528            this: Allocated<Self>,
529            class_desc: &NSScriptClassDescription,
530            container: Option<&NSScriptObjectSpecifier>,
531            property: &NSString,
532        ) -> Retained<Self>;
533    );
534}
535
536/// Methods declared on superclass `NSObject`.
537impl NSNameSpecifier {
538    extern_methods!(
539        #[unsafe(method(init))]
540        #[unsafe(method_family = init)]
541        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
542
543        #[unsafe(method(new))]
544        #[unsafe(method_family = new)]
545        pub unsafe fn new() -> Retained<Self>;
546    );
547}
548
549extern_class!(
550    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspositionalspecifier?language=objc)
551    #[unsafe(super(NSObject))]
552    #[derive(Debug, PartialEq, Eq, Hash)]
553    pub struct NSPositionalSpecifier;
554);
555
556unsafe impl NSObjectProtocol for NSPositionalSpecifier {}
557
558impl NSPositionalSpecifier {
559    extern_methods!(
560        #[unsafe(method(initWithPosition:objectSpecifier:))]
561        #[unsafe(method_family = init)]
562        pub unsafe fn initWithPosition_objectSpecifier(
563            this: Allocated<Self>,
564            position: NSInsertionPosition,
565            specifier: &NSScriptObjectSpecifier,
566        ) -> Retained<Self>;
567
568        #[unsafe(method(position))]
569        #[unsafe(method_family = none)]
570        pub unsafe fn position(&self) -> NSInsertionPosition;
571
572        #[unsafe(method(objectSpecifier))]
573        #[unsafe(method_family = none)]
574        pub unsafe fn objectSpecifier(&self) -> Retained<NSScriptObjectSpecifier>;
575
576        #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
577        #[unsafe(method(setInsertionClassDescription:))]
578        #[unsafe(method_family = none)]
579        pub unsafe fn setInsertionClassDescription(
580            &self,
581            class_description: &NSScriptClassDescription,
582        );
583
584        #[unsafe(method(evaluate))]
585        #[unsafe(method_family = none)]
586        pub unsafe fn evaluate(&self);
587
588        #[unsafe(method(insertionContainer))]
589        #[unsafe(method_family = none)]
590        pub unsafe fn insertionContainer(&self) -> Option<Retained<AnyObject>>;
591
592        #[cfg(feature = "NSString")]
593        #[unsafe(method(insertionKey))]
594        #[unsafe(method_family = none)]
595        pub unsafe fn insertionKey(&self) -> Option<Retained<NSString>>;
596
597        #[unsafe(method(insertionIndex))]
598        #[unsafe(method_family = none)]
599        pub unsafe fn insertionIndex(&self) -> NSInteger;
600
601        #[unsafe(method(insertionReplaces))]
602        #[unsafe(method_family = none)]
603        pub unsafe fn insertionReplaces(&self) -> bool;
604    );
605}
606
607/// Methods declared on superclass `NSObject`.
608impl NSPositionalSpecifier {
609    extern_methods!(
610        #[unsafe(method(init))]
611        #[unsafe(method_family = init)]
612        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
613
614        #[unsafe(method(new))]
615        #[unsafe(method_family = new)]
616        pub unsafe fn new() -> Retained<Self>;
617    );
618}
619
620extern_class!(
621    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nspropertyspecifier?language=objc)
622    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
623    #[derive(Debug, PartialEq, Eq, Hash)]
624    pub struct NSPropertySpecifier;
625);
626
627#[cfg(feature = "NSObject")]
628unsafe impl NSCoding for NSPropertySpecifier {}
629
630unsafe impl NSObjectProtocol for NSPropertySpecifier {}
631
632impl NSPropertySpecifier {
633    extern_methods!();
634}
635
636/// Methods declared on superclass `NSScriptObjectSpecifier`.
637impl NSPropertySpecifier {
638    extern_methods!(
639        #[cfg(feature = "NSString")]
640        #[unsafe(method(initWithContainerSpecifier:key:))]
641        #[unsafe(method_family = init)]
642        pub unsafe fn initWithContainerSpecifier_key(
643            this: Allocated<Self>,
644            container: &NSScriptObjectSpecifier,
645            property: &NSString,
646        ) -> Retained<Self>;
647
648        #[cfg(all(
649            feature = "NSClassDescription",
650            feature = "NSScriptClassDescription",
651            feature = "NSString"
652        ))]
653        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
654        #[unsafe(method_family = init)]
655        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
656            this: Allocated<Self>,
657            class_desc: &NSScriptClassDescription,
658            container: Option<&NSScriptObjectSpecifier>,
659            property: &NSString,
660        ) -> Retained<Self>;
661
662        #[cfg(feature = "NSCoder")]
663        #[unsafe(method(initWithCoder:))]
664        #[unsafe(method_family = init)]
665        pub unsafe fn initWithCoder(
666            this: Allocated<Self>,
667            in_coder: &NSCoder,
668        ) -> Option<Retained<Self>>;
669    );
670}
671
672/// Methods declared on superclass `NSObject`.
673impl NSPropertySpecifier {
674    extern_methods!(
675        #[unsafe(method(init))]
676        #[unsafe(method_family = init)]
677        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
678
679        #[unsafe(method(new))]
680        #[unsafe(method_family = new)]
681        pub unsafe fn new() -> Retained<Self>;
682    );
683}
684
685extern_class!(
686    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsrandomspecifier?language=objc)
687    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
688    #[derive(Debug, PartialEq, Eq, Hash)]
689    pub struct NSRandomSpecifier;
690);
691
692#[cfg(feature = "NSObject")]
693unsafe impl NSCoding for NSRandomSpecifier {}
694
695unsafe impl NSObjectProtocol for NSRandomSpecifier {}
696
697impl NSRandomSpecifier {
698    extern_methods!();
699}
700
701/// Methods declared on superclass `NSScriptObjectSpecifier`.
702impl NSRandomSpecifier {
703    extern_methods!(
704        #[cfg(feature = "NSString")]
705        #[unsafe(method(initWithContainerSpecifier:key:))]
706        #[unsafe(method_family = init)]
707        pub unsafe fn initWithContainerSpecifier_key(
708            this: Allocated<Self>,
709            container: &NSScriptObjectSpecifier,
710            property: &NSString,
711        ) -> Retained<Self>;
712
713        #[cfg(all(
714            feature = "NSClassDescription",
715            feature = "NSScriptClassDescription",
716            feature = "NSString"
717        ))]
718        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
719        #[unsafe(method_family = init)]
720        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
721            this: Allocated<Self>,
722            class_desc: &NSScriptClassDescription,
723            container: Option<&NSScriptObjectSpecifier>,
724            property: &NSString,
725        ) -> Retained<Self>;
726
727        #[cfg(feature = "NSCoder")]
728        #[unsafe(method(initWithCoder:))]
729        #[unsafe(method_family = init)]
730        pub unsafe fn initWithCoder(
731            this: Allocated<Self>,
732            in_coder: &NSCoder,
733        ) -> Option<Retained<Self>>;
734    );
735}
736
737/// Methods declared on superclass `NSObject`.
738impl NSRandomSpecifier {
739    extern_methods!(
740        #[unsafe(method(init))]
741        #[unsafe(method_family = init)]
742        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
743
744        #[unsafe(method(new))]
745        #[unsafe(method_family = new)]
746        pub unsafe fn new() -> Retained<Self>;
747    );
748}
749
750extern_class!(
751    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsrangespecifier?language=objc)
752    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
753    #[derive(Debug, PartialEq, Eq, Hash)]
754    pub struct NSRangeSpecifier;
755);
756
757#[cfg(feature = "NSObject")]
758unsafe impl NSCoding for NSRangeSpecifier {}
759
760unsafe impl NSObjectProtocol for NSRangeSpecifier {}
761
762impl NSRangeSpecifier {
763    extern_methods!(
764        #[cfg(feature = "NSCoder")]
765        #[unsafe(method(initWithCoder:))]
766        #[unsafe(method_family = init)]
767        pub unsafe fn initWithCoder(
768            this: Allocated<Self>,
769            in_coder: &NSCoder,
770        ) -> Option<Retained<Self>>;
771
772        #[cfg(all(
773            feature = "NSClassDescription",
774            feature = "NSScriptClassDescription",
775            feature = "NSString"
776        ))]
777        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:))]
778        #[unsafe(method_family = init)]
779        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_startSpecifier_endSpecifier(
780            this: Allocated<Self>,
781            class_desc: &NSScriptClassDescription,
782            container: Option<&NSScriptObjectSpecifier>,
783            property: &NSString,
784            start_spec: Option<&NSScriptObjectSpecifier>,
785            end_spec: Option<&NSScriptObjectSpecifier>,
786        ) -> Retained<Self>;
787
788        #[unsafe(method(startSpecifier))]
789        #[unsafe(method_family = none)]
790        pub unsafe fn startSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
791
792        /// Setter for [`startSpecifier`][Self::startSpecifier].
793        #[unsafe(method(setStartSpecifier:))]
794        #[unsafe(method_family = none)]
795        pub unsafe fn setStartSpecifier(&self, start_specifier: Option<&NSScriptObjectSpecifier>);
796
797        #[unsafe(method(endSpecifier))]
798        #[unsafe(method_family = none)]
799        pub unsafe fn endSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
800
801        /// Setter for [`endSpecifier`][Self::endSpecifier].
802        #[unsafe(method(setEndSpecifier:))]
803        #[unsafe(method_family = none)]
804        pub unsafe fn setEndSpecifier(&self, end_specifier: Option<&NSScriptObjectSpecifier>);
805    );
806}
807
808/// Methods declared on superclass `NSScriptObjectSpecifier`.
809impl NSRangeSpecifier {
810    extern_methods!(
811        #[cfg(feature = "NSString")]
812        #[unsafe(method(initWithContainerSpecifier:key:))]
813        #[unsafe(method_family = init)]
814        pub unsafe fn initWithContainerSpecifier_key(
815            this: Allocated<Self>,
816            container: &NSScriptObjectSpecifier,
817            property: &NSString,
818        ) -> Retained<Self>;
819
820        #[cfg(all(
821            feature = "NSClassDescription",
822            feature = "NSScriptClassDescription",
823            feature = "NSString"
824        ))]
825        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
826        #[unsafe(method_family = init)]
827        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
828            this: Allocated<Self>,
829            class_desc: &NSScriptClassDescription,
830            container: Option<&NSScriptObjectSpecifier>,
831            property: &NSString,
832        ) -> Retained<Self>;
833    );
834}
835
836/// Methods declared on superclass `NSObject`.
837impl NSRangeSpecifier {
838    extern_methods!(
839        #[unsafe(method(init))]
840        #[unsafe(method_family = init)]
841        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
842
843        #[unsafe(method(new))]
844        #[unsafe(method_family = new)]
845        pub unsafe fn new() -> Retained<Self>;
846    );
847}
848
849extern_class!(
850    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsrelativespecifier?language=objc)
851    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
852    #[derive(Debug, PartialEq, Eq, Hash)]
853    pub struct NSRelativeSpecifier;
854);
855
856#[cfg(feature = "NSObject")]
857unsafe impl NSCoding for NSRelativeSpecifier {}
858
859unsafe impl NSObjectProtocol for NSRelativeSpecifier {}
860
861impl NSRelativeSpecifier {
862    extern_methods!(
863        #[cfg(feature = "NSCoder")]
864        #[unsafe(method(initWithCoder:))]
865        #[unsafe(method_family = init)]
866        pub unsafe fn initWithCoder(
867            this: Allocated<Self>,
868            in_coder: &NSCoder,
869        ) -> Option<Retained<Self>>;
870
871        #[cfg(all(
872            feature = "NSClassDescription",
873            feature = "NSScriptClassDescription",
874            feature = "NSString"
875        ))]
876        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:))]
877        #[unsafe(method_family = init)]
878        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_relativePosition_baseSpecifier(
879            this: Allocated<Self>,
880            class_desc: &NSScriptClassDescription,
881            container: Option<&NSScriptObjectSpecifier>,
882            property: &NSString,
883            rel_pos: NSRelativePosition,
884            base_specifier: Option<&NSScriptObjectSpecifier>,
885        ) -> Retained<Self>;
886
887        #[unsafe(method(relativePosition))]
888        #[unsafe(method_family = none)]
889        pub unsafe fn relativePosition(&self) -> NSRelativePosition;
890
891        /// Setter for [`relativePosition`][Self::relativePosition].
892        #[unsafe(method(setRelativePosition:))]
893        #[unsafe(method_family = none)]
894        pub unsafe fn setRelativePosition(&self, relative_position: NSRelativePosition);
895
896        #[unsafe(method(baseSpecifier))]
897        #[unsafe(method_family = none)]
898        pub unsafe fn baseSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
899
900        /// Setter for [`baseSpecifier`][Self::baseSpecifier].
901        #[unsafe(method(setBaseSpecifier:))]
902        #[unsafe(method_family = none)]
903        pub unsafe fn setBaseSpecifier(&self, base_specifier: Option<&NSScriptObjectSpecifier>);
904    );
905}
906
907/// Methods declared on superclass `NSScriptObjectSpecifier`.
908impl NSRelativeSpecifier {
909    extern_methods!(
910        #[cfg(feature = "NSString")]
911        #[unsafe(method(initWithContainerSpecifier:key:))]
912        #[unsafe(method_family = init)]
913        pub unsafe fn initWithContainerSpecifier_key(
914            this: Allocated<Self>,
915            container: &NSScriptObjectSpecifier,
916            property: &NSString,
917        ) -> Retained<Self>;
918
919        #[cfg(all(
920            feature = "NSClassDescription",
921            feature = "NSScriptClassDescription",
922            feature = "NSString"
923        ))]
924        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
925        #[unsafe(method_family = init)]
926        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
927            this: Allocated<Self>,
928            class_desc: &NSScriptClassDescription,
929            container: Option<&NSScriptObjectSpecifier>,
930            property: &NSString,
931        ) -> Retained<Self>;
932    );
933}
934
935/// Methods declared on superclass `NSObject`.
936impl NSRelativeSpecifier {
937    extern_methods!(
938        #[unsafe(method(init))]
939        #[unsafe(method_family = init)]
940        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
941
942        #[unsafe(method(new))]
943        #[unsafe(method_family = new)]
944        pub unsafe fn new() -> Retained<Self>;
945    );
946}
947
948extern_class!(
949    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsuniqueidspecifier?language=objc)
950    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
951    #[derive(Debug, PartialEq, Eq, Hash)]
952    pub struct NSUniqueIDSpecifier;
953);
954
955#[cfg(feature = "NSObject")]
956unsafe impl NSCoding for NSUniqueIDSpecifier {}
957
958unsafe impl NSObjectProtocol for NSUniqueIDSpecifier {}
959
960impl NSUniqueIDSpecifier {
961    extern_methods!(
962        #[cfg(feature = "NSCoder")]
963        #[unsafe(method(initWithCoder:))]
964        #[unsafe(method_family = init)]
965        pub unsafe fn initWithCoder(
966            this: Allocated<Self>,
967            in_coder: &NSCoder,
968        ) -> Option<Retained<Self>>;
969
970        #[cfg(all(
971            feature = "NSClassDescription",
972            feature = "NSScriptClassDescription",
973            feature = "NSString"
974        ))]
975        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:uniqueID:))]
976        #[unsafe(method_family = init)]
977        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_uniqueID(
978            this: Allocated<Self>,
979            class_desc: &NSScriptClassDescription,
980            container: Option<&NSScriptObjectSpecifier>,
981            property: &NSString,
982            unique_id: &AnyObject,
983        ) -> Retained<Self>;
984
985        #[unsafe(method(uniqueID))]
986        #[unsafe(method_family = none)]
987        pub unsafe fn uniqueID(&self) -> Retained<AnyObject>;
988
989        /// Setter for [`uniqueID`][Self::uniqueID].
990        #[unsafe(method(setUniqueID:))]
991        #[unsafe(method_family = none)]
992        pub unsafe fn setUniqueID(&self, unique_id: &AnyObject);
993    );
994}
995
996/// Methods declared on superclass `NSScriptObjectSpecifier`.
997impl NSUniqueIDSpecifier {
998    extern_methods!(
999        #[cfg(feature = "NSString")]
1000        #[unsafe(method(initWithContainerSpecifier:key:))]
1001        #[unsafe(method_family = init)]
1002        pub unsafe fn initWithContainerSpecifier_key(
1003            this: Allocated<Self>,
1004            container: &NSScriptObjectSpecifier,
1005            property: &NSString,
1006        ) -> Retained<Self>;
1007
1008        #[cfg(all(
1009            feature = "NSClassDescription",
1010            feature = "NSScriptClassDescription",
1011            feature = "NSString"
1012        ))]
1013        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1014        #[unsafe(method_family = init)]
1015        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1016            this: Allocated<Self>,
1017            class_desc: &NSScriptClassDescription,
1018            container: Option<&NSScriptObjectSpecifier>,
1019            property: &NSString,
1020        ) -> Retained<Self>;
1021    );
1022}
1023
1024/// Methods declared on superclass `NSObject`.
1025impl NSUniqueIDSpecifier {
1026    extern_methods!(
1027        #[unsafe(method(init))]
1028        #[unsafe(method_family = init)]
1029        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1030
1031        #[unsafe(method(new))]
1032        #[unsafe(method_family = new)]
1033        pub unsafe fn new() -> Retained<Self>;
1034    );
1035}
1036
1037extern_class!(
1038    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nswhosespecifier?language=objc)
1039    #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
1040    #[derive(Debug, PartialEq, Eq, Hash)]
1041    pub struct NSWhoseSpecifier;
1042);
1043
1044#[cfg(feature = "NSObject")]
1045unsafe impl NSCoding for NSWhoseSpecifier {}
1046
1047unsafe impl NSObjectProtocol for NSWhoseSpecifier {}
1048
1049impl NSWhoseSpecifier {
1050    extern_methods!(
1051        #[cfg(feature = "NSCoder")]
1052        #[unsafe(method(initWithCoder:))]
1053        #[unsafe(method_family = init)]
1054        pub unsafe fn initWithCoder(
1055            this: Allocated<Self>,
1056            in_coder: &NSCoder,
1057        ) -> Option<Retained<Self>>;
1058
1059        #[cfg(all(
1060            feature = "NSClassDescription",
1061            feature = "NSScriptClassDescription",
1062            feature = "NSScriptWhoseTests",
1063            feature = "NSString"
1064        ))]
1065        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:test:))]
1066        #[unsafe(method_family = init)]
1067        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_test(
1068            this: Allocated<Self>,
1069            class_desc: &NSScriptClassDescription,
1070            container: Option<&NSScriptObjectSpecifier>,
1071            property: &NSString,
1072            test: &NSScriptWhoseTest,
1073        ) -> Retained<Self>;
1074
1075        #[cfg(feature = "NSScriptWhoseTests")]
1076        #[unsafe(method(test))]
1077        #[unsafe(method_family = none)]
1078        pub unsafe fn test(&self) -> Retained<NSScriptWhoseTest>;
1079
1080        #[cfg(feature = "NSScriptWhoseTests")]
1081        /// Setter for [`test`][Self::test].
1082        #[unsafe(method(setTest:))]
1083        #[unsafe(method_family = none)]
1084        pub unsafe fn setTest(&self, test: &NSScriptWhoseTest);
1085
1086        #[unsafe(method(startSubelementIdentifier))]
1087        #[unsafe(method_family = none)]
1088        pub unsafe fn startSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1089
1090        /// Setter for [`startSubelementIdentifier`][Self::startSubelementIdentifier].
1091        #[unsafe(method(setStartSubelementIdentifier:))]
1092        #[unsafe(method_family = none)]
1093        pub unsafe fn setStartSubelementIdentifier(
1094            &self,
1095            start_subelement_identifier: NSWhoseSubelementIdentifier,
1096        );
1097
1098        #[unsafe(method(startSubelementIndex))]
1099        #[unsafe(method_family = none)]
1100        pub unsafe fn startSubelementIndex(&self) -> NSInteger;
1101
1102        /// Setter for [`startSubelementIndex`][Self::startSubelementIndex].
1103        #[unsafe(method(setStartSubelementIndex:))]
1104        #[unsafe(method_family = none)]
1105        pub unsafe fn setStartSubelementIndex(&self, start_subelement_index: NSInteger);
1106
1107        #[unsafe(method(endSubelementIdentifier))]
1108        #[unsafe(method_family = none)]
1109        pub unsafe fn endSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1110
1111        /// Setter for [`endSubelementIdentifier`][Self::endSubelementIdentifier].
1112        #[unsafe(method(setEndSubelementIdentifier:))]
1113        #[unsafe(method_family = none)]
1114        pub unsafe fn setEndSubelementIdentifier(
1115            &self,
1116            end_subelement_identifier: NSWhoseSubelementIdentifier,
1117        );
1118
1119        #[unsafe(method(endSubelementIndex))]
1120        #[unsafe(method_family = none)]
1121        pub unsafe fn endSubelementIndex(&self) -> NSInteger;
1122
1123        /// Setter for [`endSubelementIndex`][Self::endSubelementIndex].
1124        #[unsafe(method(setEndSubelementIndex:))]
1125        #[unsafe(method_family = none)]
1126        pub unsafe fn setEndSubelementIndex(&self, end_subelement_index: NSInteger);
1127    );
1128}
1129
1130/// Methods declared on superclass `NSScriptObjectSpecifier`.
1131impl NSWhoseSpecifier {
1132    extern_methods!(
1133        #[cfg(feature = "NSString")]
1134        #[unsafe(method(initWithContainerSpecifier:key:))]
1135        #[unsafe(method_family = init)]
1136        pub unsafe fn initWithContainerSpecifier_key(
1137            this: Allocated<Self>,
1138            container: &NSScriptObjectSpecifier,
1139            property: &NSString,
1140        ) -> Retained<Self>;
1141
1142        #[cfg(all(
1143            feature = "NSClassDescription",
1144            feature = "NSScriptClassDescription",
1145            feature = "NSString"
1146        ))]
1147        #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1148        #[unsafe(method_family = init)]
1149        pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1150            this: Allocated<Self>,
1151            class_desc: &NSScriptClassDescription,
1152            container: Option<&NSScriptObjectSpecifier>,
1153            property: &NSString,
1154        ) -> Retained<Self>;
1155    );
1156}
1157
1158/// Methods declared on superclass `NSObject`.
1159impl NSWhoseSpecifier {
1160    extern_methods!(
1161        #[unsafe(method(init))]
1162        #[unsafe(method_family = init)]
1163        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1164
1165        #[unsafe(method(new))]
1166        #[unsafe(method_family = new)]
1167        pub unsafe fn new() -> Retained<Self>;
1168    );
1169}