var searchIndex = {}; searchIndex["objc"] = {"doc":"Objective-C Runtime bindings and wrapper for Rust.","items":[[3,"Encoding","objc","An Objective-C type encoding.",null,null],[3,"MessageError","","An error encountered while attempting to send a message.",null,null],[0,"runtime","","A Rust interface for the functionality of the Objective-C runtime.",null,null],[3,"Sel","objc::runtime","A type that represents a method selector.",null,null],[3,"Ivar","","A type that represents an instance variable.",null,null],[3,"Method","","A type that represents a method in a class definition.",null,null],[3,"Class","","A type that represents an Objective-C class.",null,null],[3,"Protocol","","A type that represents an Objective-C protocol.",null,null],[3,"Object","","A type that represents an instance of a class.",null,null],[5,"sel_registerName","","",null,null],[5,"sel_getName","","",null,null],[5,"class_getName","","",null,null],[5,"class_getSuperclass","","",null,null],[5,"class_getInstanceSize","","",null,null],[5,"class_getInstanceMethod","","",null,null],[5,"class_getInstanceVariable","","",null,null],[5,"class_copyMethodList","","",null,null],[5,"class_copyIvarList","","",null,null],[5,"class_addMethod","","",null,null],[5,"class_addIvar","","",null,null],[5,"class_addProtocol","","",null,null],[5,"class_conformsToProtocol","","",null,null],[5,"class_copyProtocolList","","",null,null],[5,"objc_allocateClassPair","","",null,null],[5,"objc_disposeClassPair","","",null,null],[5,"objc_registerClassPair","","",null,null],[5,"class_createInstance","","",null,null],[5,"object_dispose","","",null,null],[5,"object_getClass","","",null,null],[5,"objc_getClassList","","",null,null],[5,"objc_copyClassList","","",null,null],[5,"objc_getClass","","",null,null],[5,"objc_getProtocol","","",null,null],[5,"objc_copyProtocolList","","",null,null],[5,"objc_allocateProtocol","","",null,null],[5,"objc_registerProtocol","","",null,null],[5,"protocol_addMethodDescription","","",null,null],[5,"protocol_addProtocol","","",null,null],[5,"protocol_getName","","",null,null],[5,"protocol_isEqual","","",null,null],[5,"protocol_copyProtocolList","","",null,null],[5,"protocol_conformsToProtocol","","",null,null],[5,"ivar_getName","","",null,null],[5,"ivar_getOffset","","",null,null],[5,"ivar_getTypeEncoding","","",null,null],[5,"method_getName","","",null,null],[5,"method_getImplementation","","",null,null],[5,"method_copyReturnType","","",null,null],[5,"method_copyArgumentType","","",null,null],[5,"method_getNumberOfArguments","","",null,null],[5,"method_setImplementation","","",null,null],[5,"method_exchangeImplementations","","",null,null],[6,"BOOL","","The Objective-C `BOOL` type.",null,null],[6,"Imp","","A pointer to the start of a method implementation.",null,null],[17,"YES","","The equivalent of true for Objective-C's `BOOL` type.",null,null],[17,"NO","","The equivalent of false for Objective-C's `BOOL` type.",null,null],[11,"register","","Registers a method with the Objective-C runtime system,\nmaps the method name to a selector, and returns the selector value.",0,{"inputs":[{"name":"str"}],"output":{"name":"sel"}}],[11,"name","","Returns the name of the method specified by self.",0,null],[11,"eq","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"name","","Returns the name of self.",1,null],[11,"offset","","Returns the offset of self.",1,null],[11,"type_encoding","","Returns the `Encoding` of self.",1,null],[11,"name","","Returns the name of self.",2,null],[11,"return_type","","Returns the `Encoding` of self's return type.",2,null],[11,"argument_type","","Returns the `Encoding` of a single parameter type of self, or\n`None` if self has no parameter at the given index.",2,null],[11,"arguments_count","","Returns the number of arguments accepted by self.",2,null],[11,"implementation","","Returns the implementation of self.",2,null],[11,"get","","Returns the class definition of a specified class, or `None` if the\nclass is not registered with the Objective-C runtime.",3,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"classes","","Obtains the list of registered class definitions.",3,{"inputs":[],"output":{"name":"mallocbuffer"}}],[11,"classes_count","","Returns the total number of registered classes.",3,{"inputs":[],"output":{"name":"usize"}}],[11,"name","","Returns the name of self.",3,null],[11,"superclass","","Returns the superclass of self, or `None` if self is a root class.",3,null],[11,"metaclass","","Returns the metaclass of self.",3,null],[11,"instance_size","","Returns the size of instances of self.",3,null],[11,"instance_method","","Returns a specified instance method for self, or `None` if self and\nits superclasses do not contain an instance method with the\nspecified selector.",3,null],[11,"instance_variable","","Returns the ivar for a specified instance variable of self, or `None`\nif self has no ivar with the given name.",3,null],[11,"instance_methods","","Describes the instance methods implemented by self.",3,null],[11,"conforms_to","","Checks whether this class conforms to the specified protocol.",3,null],[11,"adopted_protocols","","Get a list of the protocols to which this class conforms.",3,null],[11,"instance_variables","","Describes the instance variables declared by self.",3,null],[11,"eq","","",3,null],[11,"fmt","","",3,null],[11,"get","","Returns the protocol definition of a specified protocol, or `None` if the\nprotocol is not registered with the Objective-C runtime.",4,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"protocols","","Obtains the list of registered protocol definitions.",4,{"inputs":[],"output":{"name":"mallocbuffer"}}],[11,"adopted_protocols","","Get a list of the protocols to which this protocol conforms.",4,null],[11,"conforms_to","","Checks whether this protocol conforms to the specified protocol.",4,null],[11,"name","","Returns the name of self.",4,null],[11,"eq","","",4,null],[11,"fmt","","",4,null],[11,"class","","Returns the class of self.",5,null],[11,"get_ivar","","Returns a reference to the ivar of self with the given name.\nPanics if self has no ivar with the given name.\nUnsafe because the caller must ensure that the ivar is actually\nof type `T`.",5,null],[11,"get_mut_ivar","","Returns a mutable reference to the ivar of self with the given name.\nPanics if self has no ivar with the given name.\nUnsafe because the caller must ensure that the ivar is actually\nof type `T`.",5,null],[11,"set_ivar","","Sets the value of the ivar of self with the given name.\nPanics if self has no ivar with the given name.\nUnsafe because the caller must ensure that the ivar is actually\nof type `T`.",5,null],[11,"fmt","","",5,null],[0,"declare","objc","Functionality for declaring Objective-C classes.",null,null],[3,"ClassDecl","objc::declare","A type for declaring a new class and adding new methods and ivars to it\nbefore registering it.",null,null],[3,"ProtocolDecl","","A type for declaring a new protocol and adding new methods to it\nbefore registering it.",null,null],[8,"MethodImplementation","","Types that can be used as the implementation of an Objective-C method.",null,null],[16,"Callee","","The callee type of the method.",6,null],[16,"Ret","","The return type of the method.",6,null],[16,"Args","","The argument types of the method.",6,null],[10,"imp","","Returns self as an `Imp` of a method.",6,null],[11,"new","","Constructs a `ClassDecl` with the given name and superclass.\nReturns `None` if the class couldn't be allocated.",7,{"inputs":[{"name":"str"},{"name":"class"}],"output":{"name":"option"}}],[11,"root","","Constructs a `ClassDecl` declaring a new root class with the given name.\nReturns `None` if the class couldn't be allocated.",7,null],[11,"add_method","","Adds a method with the given name and implementation to self.\nPanics if the method wasn't sucessfully added\nor if the selector and function take different numbers of arguments.\nUnsafe because the caller must ensure that the types match those that\nare expected when the method is invoked from Objective-C.",7,null],[11,"add_class_method","","Adds a class method with the given name and implementation to self.\nPanics if the method wasn't sucessfully added\nor if the selector and function take different numbers of arguments.\nUnsafe because the caller must ensure that the types match those that\nare expected when the method is invoked from Objective-C.",7,null],[11,"add_ivar","","Adds an ivar with type `T` and the provided name to self.\nPanics if the ivar wasn't successfully added.",7,null],[11,"add_protocol","","Adds a protocol to self. Panics if the protocol wasn't successfully\nadded",7,null],[11,"register","","Registers self, consuming it and returning a reference to the\nnewly registered `Class`.",7,null],[11,"drop","","",7,null],[11,"new","","Constructs a `ProtocolDecl` with the given name. Returns `None` if the\nprotocol couldn't be allocated.",8,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"add_method_description","","Adds an instance method declaration with a given description to self.",8,null],[11,"add_class_method_description","","Adds a class method declaration with a given description to self.",8,null],[11,"add_protocol","","Adds a requirement on another protocol.",8,null],[11,"register","","Registers self, consuming it and returning a reference to the\nnewly registered `Protocol`.",8,null],[11,"from_str","objc","Constructs an `Encoding` from its string representation.\nUnsafe because the caller must ensure the string is a valid encoding.",9,{"inputs":[{"name":"str"}],"output":{"name":"encoding"}}],[11,"as_str","","Returns self as a `str`.",9,null],[11,"clone","","",9,null],[11,"eq","","",9,null],[11,"fmt","","",9,null],[11,"encode","objc::runtime","",0,{"inputs":[],"output":{"name":"encoding"}}],[11,"fmt","objc","",10,null],[11,"fmt","","",10,null],[11,"description","","",10,null],[8,"Encode","","Types that have an Objective-C type encoding.",null,null],[10,"encode","","Returns the Objective-C type encoding for Self.",11,{"inputs":[],"output":{"name":"encoding"}}],[8,"EncodeArguments","","Types that represent a group of arguments, where each has an Objective-C\ntype encoding.",null,null],[16,"Encs","","The type as which the encodings for Self will be returned.",12,null],[10,"encodings","","Returns the Objective-C type encodings for Self.",12,{"inputs":[],"output":{"name":"encs"}}],[8,"Message","","Types that may be sent Objective-C messages.\nFor example: objects, classes, and blocks.",null,null],[11,"send_message","","Sends a message to self with the given selector and arguments.",13,null],[11,"verify_message","","Verifies that the argument and return types match the encoding of the\nmethod for the given selector.",13,null],[8,"MessageArguments","","Types that may be used as the arguments of an Objective-C message.",null,null],[10,"invoke","","Invoke an `Imp` with the given object, selector, and arguments.",14,null],[14,"sel!","","Registers a selector, returning a `Sel`.",null,null],[14,"msg_send!","","Sends a message to an object.",null,null],[11,"send_message","","Sends a message to self with the given selector and arguments.",13,null],[11,"verify_message","","Verifies that the argument and return types match the encoding of the\nmethod for the given selector.",13,null]],"paths":[[3,"Sel"],[3,"Ivar"],[3,"Method"],[3,"Class"],[3,"Protocol"],[3,"Object"],[8,"MethodImplementation"],[3,"ClassDecl"],[3,"ProtocolDecl"],[3,"Encoding"],[3,"MessageError"],[8,"Encode"],[8,"EncodeArguments"],[8,"Message"],[8,"MessageArguments"]]}; initSearch(searchIndex);