Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  message.rs

  Sprache: Rust
 

//! The `objc_msgSend` family of functions.
//!
//! Most of these are `cfg`-gated, these configs are semver-stable.
//!
//! TODO: Some of these are only supported on _some_ GNUStep targets!
use crate::runtime::{AnyClass, AnyObject};
#[cfg(any(doc, feature = "gnustep-1-7", feature = "unstable-objfw"))]
use crate::runtime::{Imp, Sel};

/// Specifies data used when sending messages to superclasses.
#[repr(C)]
#[derive(Debug, Copy, Clone)]
// TODO: Does this belong in this file or in types.rs?
pub struct objc_super {
    /// The object / instance to send a message to.
    pub receiver: *mut AnyObject,
    /// The particular superclass of the instance to message.
    ///
    /// Named `class` in older Objective-C versions.
    pub super_class: *const AnyClass,
}

// All message sending functions should use "C-unwind"!
//
// Note that lookup functions won't throw exceptions themselves, but they can
// call hooks, `resolveClassMethod:` and `resolveInstanceMethod:`, so we have
// to make those "C-unwind" as well!
extern_c_unwind! {
    #[cfg(any(doc, feature = "gnustep-1-7", feature = "unstable-objfw"))]
    pub fn objc_msg_lookup(receiver: *mut AnyObject, sel: Sel) -> Option<Imp>;
    #[cfg(any(doc, feature = "unstable-objfw"))]
    pub fn objc_msg_lookup_stret(receiver: *mut AnyObject, sel: Sel) -> Option<Imp>;
    #[cfg(any(doc, feature = "gnustep-1-7", feature = "unstable-objfw"))]
    pub fn objc_msg_lookup_super(sup: *const objc_super, sel: Sel) -> Option<Imp>;
    #[cfg(any(doc, feature = "unstable-objfw"))]
    pub fn objc_msg_lookup_super_stret(sup: *const objc_super, sel: Sel) -> Option<Imp>;
    // #[cfg(any(doc, feature = "gnustep-1-7"))]
    // objc_msg_lookup_sender
    // objc_msgLookup family available in macOS >= 10.12

    // objc_msgSend_noarg

    #[cfg(any(doc, not(feature = "unstable-objfw")))]
    pub fn objc_msgSend();
    // objc_msgSend_debug

    #[cfg(any(doc, target_vendor = "apple"))]
    pub fn objc_msgSendSuper();
    // objc_msgSendSuper2
    // objc_msgSendSuper2_debug

    #[cfg(any(doc, target_vendor = "apple"))]
    pub fn method_invoke();
    #[cfg(any(doc, target_vendor = "apple"))]
    pub fn _objc_msgForward();
    pub fn class_getMethodImplementation();

    // Struct return. Not available on __arm64__:

    #[cfg(any(doc, all(not(feature = "unstable-objfw"), not(target_arch = "aarch64"))))]
    pub fn objc_msgSend_stret();
    // objc_msgSend_stret_debug

    #[cfg(any(doc, all(target_vendor = "apple", not(target_arch = "aarch64"))))]
    pub fn objc_msgSendSuper_stret();
    // objc_msgSendSuper2_stret
    // objc_msgSendSuper2_stret_debug

    #[cfg(any(doc, all(target_vendor = "apple", not(target_arch = "aarch64"))))]
    pub fn method_invoke_stret();
    #[cfg(any(doc, all(target_vendor = "apple", not(target_arch = "aarch64"))))]
    pub fn _objc_msgForward_stret();
    #[cfg(any(doc, feature = "unstable-objfw", not(target_arch = "aarch64")))]
    pub fn class_getMethodImplementation_stret();

    // __x86_64__ and __i386__

    #[cfg(any(doc, all(not(feature = "unstable-objfw"), any(target_arch = "x86_64", target_arch = "x86"))))]
    pub fn objc_msgSend_fpret();
    // objc_msgSend_fpret_debug

    // __x86_64__

    #[cfg(any(doc, all(target_vendor = "apple", target_arch = "x86_64")))]
    pub fn objc_msgSend_fp2ret();
    // objc_msgSend_fp2ret_debug
}

Messung V0.5 in Prozent
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet am  2026-08-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=655579