diff dwt/internal/cocoa/NSObject.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dwt/internal/cocoa/NSObject.d	Sat Aug 09 17:00:02 2008 +0200
@@ -0,0 +1,1625 @@
+/*******************************************************************************
+ * Copyright (c) 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D Programming language:
+ *     Jacob Carlborg <jacob.carlborg@gmail.com>
+ *******************************************************************************/
+module dwt.internal.cocoa.NSObject;
+
+import dwt.dwthelper.utils;
+import dwt.internal.c.carboncore.MacTypes : FourCharCode;
+import dwt.internal.cocoa.id;
+import dwt.internal.cocoa.NSArchiver;
+import dwt.internal.cocoa.NSArray;
+import dwt.internal.cocoa.NSCachedURLResponse;
+import dwt.internal.cocoa.NSClassDescription;
+import dwt.internal.cocoa.NSCoder;
+import dwt.internal.cocoa.NSConnection;
+import dwt.internal.cocoa.NSData;
+import dwt.internal.cocoa.NSDate : NSTimeInterval;
+import dwt.internal.cocoa.NSDecimal;
+import dwt.internal.cocoa.NSDecimalNumber;
+import dwt.internal.cocoa.NSDictionary;
+import dwt.internal.cocoa.NSDistantObjectRequest;
+import dwt.internal.cocoa.NSEnumerator : NSFastEnumerationState;
+import dwt.internal.cocoa.NSError;
+import dwt.internal.cocoa.NSFileManager;
+import dwt.internal.cocoa.NSIndexSet;
+import dwt.internal.cocoa.NSInteger;
+import dwt.internal.cocoa.NSInvocation;
+import dwt.internal.cocoa.NSKeyedArchiver;
+import dwt.internal.cocoa.NSKeyedUnarchiver;
+import dwt.internal.cocoa.NSKeyValueObserving;
+import dwt.internal.cocoa.NSMetadataItem;
+import dwt.internal.cocoa.NSMetadataQuery;
+import dwt.internal.cocoa.NSMethodSignature;
+import dwt.internal.cocoa.NSMutableArray;
+import dwt.internal.cocoa.NSMutableSet;
+import dwt.internal.cocoa.NSNetService;
+import dwt.internal.cocoa.NSNetServiceBrowser;
+import dwt.internal.cocoa.NSPortCoder;
+import dwt.internal.cocoa.NSPortMessage;
+import dwt.internal.cocoa.NSRange;
+import dwt.internal.cocoa.NSScriptObjectSpecifier;
+import dwt.internal.cocoa.NSSet;
+import dwt.internal.cocoa.NSSpellServer;
+import dwt.internal.cocoa.NSStream;
+import dwt.internal.cocoa.NSString;
+import dwt.internal.cocoa.NSThread;
+import dwt.internal.cocoa.NSURL;
+import dwt.internal.cocoa.NSURLAuthenticationChallenge;
+import dwt.internal.cocoa.NSURLCache : NSURLCacheStoragePolicy;
+import dwt.internal.cocoa.NSURLConnection;
+import dwt.internal.cocoa.NSURLCredential;
+import dwt.internal.cocoa.NSURLDownload;
+import dwt.internal.cocoa.NSURLHandle;
+import dwt.internal.cocoa.NSURLProtocol;
+import dwt.internal.cocoa.NSURLRequest;
+import dwt.internal.cocoa.NSURLResponse;
+import dwt.internal.cocoa.NSXMLParser;
+import dwt.internal.cocoa.NSZone;
+import dwt.internal.cocoa.OS;
+import objc = dwt.internal.objc.runtime;
+
+public class NSObject : id
+{
+
+    public this ()
+    {
+        super();
+    }
+
+    public this (objc.id id)
+    {
+        super(id);
+    }
+
+    public void URL_resourceDataDidBecomeAvailable_ (NSURL sender, NSData newBytes)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URL_1resourceDataDidBecomeAvailable_1, sender !is null ? sender.id : null,
+                newBytes !is null ? newBytes.id : null);
+    }
+
+    public void URL_resourceDidFailLoadingWithReason_ (NSURL sender, NSString reason)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URL_1resourceDidFailLoadingWithReason_1, sender !is null ? sender.id : null,
+                reason !is null ? reason.id : null);
+    }
+
+    public void URLHandle_resourceDataDidBecomeAvailable_ (NSURLHandle sender, NSData newBytes)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLHandle_1resourceDataDidBecomeAvailable_1, sender !is null ? sender.id : null,
+                newBytes !is null ? newBytes.id : null);
+    }
+
+    public void URLHandle_resourceDidFailLoadingWithReason_ (NSURLHandle sender, NSString reason)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLHandle_1resourceDidFailLoadingWithReason_1, sender !is null ? sender.id : null,
+                reason !is null ? reason.id : null);
+    }
+
+    public void URLHandleResourceDidBeginLoading (NSURLHandle sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLHandleResourceDidBeginLoading_1, sender !is null ? sender.id : null);
+    }
+
+    public void URLHandleResourceDidCancelLoading (NSURLHandle sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLHandleResourceDidCancelLoading_1, sender !is null ? sender.id : null);
+    }
+
+    public void URLHandleResourceDidFinishLoading (NSURLHandle sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLHandleResourceDidFinishLoading_1, sender !is null ? sender.id : null);
+    }
+
+    public void URLProtocol_cachedResponseIsValid_ (NSURLProtocol protocol, NSCachedURLResponse cachedResponse)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1cachedResponseIsValid_1, protocol !is null ? protocol.id : null,
+                cachedResponse !is null ? cachedResponse.id : null);
+    }
+
+    public void URLProtocol_didCancelAuthenticationChallenge_ (NSURLProtocol protocol, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1didCancelAuthenticationChallenge_1, protocol !is null ? protocol.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void URLProtocol_didFailWithError_ (NSURLProtocol protocol, NSError error)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1didFailWithError_1, protocol !is null ? protocol.id : null, error !is null ? error.id : null);
+    }
+
+    public void URLProtocol_didLoadData_ (NSURLProtocol protocol, NSData data)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1didLoadData_1, protocol !is null ? protocol.id : null, data !is null ? data.id : null);
+    }
+
+    public void URLProtocol_didReceiveAuthenticationChallenge_ (NSURLProtocol protocol, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1didReceiveAuthenticationChallenge_1, protocol !is null ? protocol.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void URLProtocol_didReceiveResponse_cacheStoragePolicy_ (NSURLProtocol protocol, NSURLResponse response, NSURLCacheStoragePolicy policy)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1didReceiveResponse_1cacheStoragePolicy_1, protocol !is null ? protocol.id : null,
+                response !is null ? response.id : null, policy);
+    }
+
+    public void URLProtocol_wasRedirectedToRequest_redirectResponse_ (NSURLProtocol protocol, NSURLRequest request, NSURLResponse redirectResponse)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocol_1wasRedirectedToRequest_1redirectResponse_1, protocol !is null ? protocol.id : null,
+                request !is null ? request.id : null, redirectResponse !is null ? redirectResponse.id : null);
+    }
+
+    public void URLProtocolDidFinishLoading (NSURLProtocol protocol)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLProtocolDidFinishLoading_1, protocol !is null ? protocol.id : null);
+    }
+
+    public void URLResourceDidCancelLoading (NSURL sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLResourceDidCancelLoading_1, sender !is null ? sender.id : null);
+    }
+
+    public void URLResourceDidFinishLoading (NSURL sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_URLResourceDidFinishLoading_1, sender !is null ? sender.id : null);
+    }
+
+    public static bool accessInstanceVariablesDirectly ()
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_accessInstanceVariablesDirectly) !is null;
+    }
+
+    public void addObserver (NSObject observer, NSString keyPath, NSKeyValueObservingOptions options, void* context)
+    {
+        OS.objc_msgSend(this.id, OS.sel_addObserver_1forKeyPath_1options_1context_1, observer !is null ? observer.id : null,
+                keyPath !is null ? keyPath.id : null, options, context);
+    }
+
+    public NSObject alloc ()
+    {
+        objc.id result = OS.objc_msgSend(cast(objc.id)get_class(), OS.sel_alloc);
+        this.id = result;
+        return result !is null ? this : null;
+    }
+
+    public objc.Class get_class ()
+    {
+        String name = this.classinfo.name;
+        int index = name.lastIndexOf('.');
+        if (index != -1)
+            name = name.substring(index + 1);
+        return cast(objc.Class)OS.objc_getClass(name);
+    }
+
+    public static id allocWithZone (NSZone* zone)
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_allocWithZone_1, zone);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void archiver_didEncodeObject_ (NSKeyedArchiver archiver, id object)
+    {
+        OS.objc_msgSend(this.id, OS.sel_archiver_1didEncodeObject_1, archiver !is null ? archiver.id : null, object !is null ? object.id : null);
+    }
+
+    public id archiver_willEncodeObject_ (NSKeyedArchiver archiver, id object)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_archiver_1willEncodeObject_1, archiver !is null ? archiver.id : null,
+                object !is null ? object.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void archiver_willReplaceObject_withObject_ (NSKeyedArchiver archiver, id object, id newObject)
+    {
+        OS.objc_msgSend(this.id, OS.sel_archiver_1willReplaceObject_1withObject_1, archiver !is null ? archiver.id : null,
+                object !is null ? object.id : null, newObject !is null ? newObject.id : null);
+    }
+
+    public void archiverDidFinish (NSKeyedArchiver archiver)
+    {
+        OS.objc_msgSend(this.id, OS.sel_archiverDidFinish_1, archiver !is null ? archiver.id : null);
+    }
+
+    public void archiverWillFinish (NSKeyedArchiver archiver)
+    {
+        OS.objc_msgSend(this.id, OS.sel_archiverWillFinish_1, archiver !is null ? archiver.id : null);
+    }
+
+    public bool attemptRecoveryFromError_optionIndex_ (NSError error, NSUInteger recoveryOptionIndex)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_attemptRecoveryFromError_1optionIndex_1, error !is null ? error.id : null, recoveryOptionIndex) !is null;
+    }
+
+    public void attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_ (NSError error, NSUInteger recoveryOptionIndex, id delegatee,
+            objc.SEL didRecoverSelector, void* contextInfo)
+    {
+        OS.objc_msgSend(this.id, OS.sel_attemptRecoveryFromError_1optionIndex_1delegate_1didRecoverSelector_1contextInfo_1,
+                error !is null ? error.id : null, recoveryOptionIndex, delegatee !is null ? delegatee.id : null, didRecoverSelector, contextInfo);
+    }
+
+    public NSArray attributeKeys ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_attributeKeys);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public bool authenticateComponents (NSArray components, NSData signature)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_authenticateComponents_1withData_1, components !is null ? components.id : null,
+                signature !is null ? signature.id : null) !is null;
+    }
+
+    public NSData authenticationDataForComponents (NSArray components)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_authenticationDataForComponents_1, components !is null ? components.id : null);
+        return result !is null ? new NSData(result) : null;
+    }
+
+    public static bool automaticallyNotifiesObserversForKey (NSString key)
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_automaticallyNotifiesObserversForKey_1, key !is null ? key.id : null) !is null;
+    }
+
+    public id autorelease ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_autorelease);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id awakeAfterUsingCoder (NSCoder aDecoder)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_awakeAfterUsingCoder_1, aDecoder !is null ? aDecoder.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void cancelAuthenticationChallenge (NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_cancelAuthenticationChallenge_1, challenge !is null ? challenge.id : null);
+    }
+
+    public static void static_cancelPreviousPerformRequestsWithTarget_ (id aTarget)
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_cancelPreviousPerformRequestsWithTarget_1, aTarget !is null ? aTarget.id : null);
+    }
+
+    public static void static_cancelPreviousPerformRequestsWithTarget_selector_object_ (id aTarget, objc.SEL aSelector, id anArgument)
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_cancelPreviousPerformRequestsWithTarget_1selector_1object_1, aTarget !is null ? aTarget.id : null,
+                aSelector, anArgument !is null ? anArgument.id : null);
+    }
+
+    public static objc.Class static_class ()
+    {
+        return cast(objc.Class)OS.objc_msgSend(OS.class_NSObject, OS.sel_class);
+    }
+
+    //public objc.Class class() {
+    //  return OS.objc_msgSend(this.id, OS.sel_class);
+    //}
+
+    public FourCharCode classCode ()
+    {
+        return OS.objc_msgSend(this.id, OS.sel_classCode);
+    }
+
+    public NSClassDescription classDescription ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_classDescription);
+        return result !is null ? new NSClassDescription(result) : null;
+    }
+
+    public static NSArray classFallbacksForKeyedArchiver ()
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_classFallbacksForKeyedArchiver);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public objc.Class classForArchiver ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_classForArchiver);
+    }
+
+    public objc.Class classForCoder ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_classForCoder);
+    }
+
+    public objc.Class classForKeyedArchiver ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_classForKeyedArchiver);
+    }
+
+    public static objc.Class classForKeyedUnarchiver ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(OS.class_NSObject, OS.sel_classForKeyedUnarchiver);
+    }
+
+    public objc.Class  classForPortCoder ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_classForPortCoder);
+    }
+
+    public NSString className ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_className);
+        return result !is null ? new NSString(result) : null;
+    }
+
+    public id coerceValue (id value, NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_coerceValue_1forKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    //public bool conformsToProtocol_(Protocol aProtocol) {
+    //  return OS.objc_msgSend(this.id, OS.sel_conformsToProtocol_1, aProtocol !is null ? aProtocol.id : null) !is null;
+    //}
+    //
+    //public static bool static_conformsToProtocol_(Protocol protocol) {
+    //  return OS.objc_msgSend(OS.class_NSObject, OS.sel_conformsToProtocol_1, protocol !is null ? protocol.id : null) !is null;
+    //}
+
+    public void connection_didCancelAuthenticationChallenge_ (NSURLConnection connection, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connection_1didCancelAuthenticationChallenge_1, connection !is null ? connection.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void connection_didFailWithError_ (NSURLConnection connection, NSError error)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connection_1didFailWithError_1, connection !is null ? connection.id : null, error !is null ? error.id : null);
+    }
+
+    public void connection_didReceiveAuthenticationChallenge_ (NSURLConnection connection, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connection_1didReceiveAuthenticationChallenge_1, connection !is null ? connection.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void connection_didReceiveData_ (NSURLConnection connection, NSData data)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connection_1didReceiveData_1, connection !is null ? connection.id : null, data !is null ? data.id : null);
+    }
+
+    public void connection_didReceiveResponse_ (NSURLConnection connection, NSURLResponse response)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connection_1didReceiveResponse_1, connection !is null ? connection.id : null,
+                response !is null ? response.id : null);
+    }
+
+    public bool connection_handleRequest_ (NSConnection connection, NSDistantObjectRequest doreq)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_connection_1handleRequest_1, connection !is null ? connection.id : null,
+                doreq !is null ? doreq.id : null) !is null;
+    }
+
+    public bool connection_shouldMakeNewConnection_ (NSConnection ancestor, NSConnection conn)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_connection_1shouldMakeNewConnection_1, ancestor !is null ? ancestor.id : null,
+                conn !is null ? conn.id : null) !is null;
+    }
+
+    public NSCachedURLResponse connection_willCacheResponse_ (NSURLConnection connection, NSCachedURLResponse cachedResponse)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_connection_1willCacheResponse_1, connection !is null ? connection.id : null,
+                cachedResponse !is null ? cachedResponse.id : null);
+        return result !is null ? new NSCachedURLResponse(result) : null;
+    }
+
+    public NSURLRequest connection_willSendRequest_redirectResponse_ (NSURLConnection connection, NSURLRequest request, NSURLResponse response)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_connection_1willSendRequest_1redirectResponse_1, connection !is null ? connection.id : null,
+                request !is null ? request.id : null, response !is null ? response.id : null);
+        return result !is null ? new NSURLRequest(result) : null;
+    }
+
+    public void connectionDidFinishLoading (NSURLConnection connection)
+    {
+        OS.objc_msgSend(this.id, OS.sel_connectionDidFinishLoading_1, connection !is null ? connection.id : null);
+    }
+
+    public void continueWithoutCredentialForAuthenticationChallenge (NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_continueWithoutCredentialForAuthenticationChallenge_1, challenge !is null ? challenge.id : null);
+    }
+
+    public id copy ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_copy);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id copyScriptingValue (id value, NSString key, NSDictionary properties)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_copyScriptingValue_1forKey_1withProperties_1, value !is null ? value.id : null,
+                key !is null ? key.id : null, properties !is null ? properties.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id copyWithZone_ (NSZone* zone)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_copyWithZone_1, zone);
+        return result !is null ? new id(result) : null;
+    }
+
+    public static id static_copyWithZone_ (NSZone* zone)
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_copyWithZone_1, zone);
+        return result !is null ? new id(result) : null;
+    }
+
+    public NSUInteger countByEnumeratingWithState (NSFastEnumerationState* state, objc.id* stackbuf, NSUInteger len)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_countByEnumeratingWithState_1objects_1count_1, state, stackbuf, len);
+    }
+
+    public id createConversationForConnection (NSConnection conn)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_createConversationForConnection_1, conn !is null ? conn.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void dealloc ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_dealloc);
+    }
+
+    public NSString description ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_description);
+        return result !is null ? new NSString(result) : null;
+    }
+
+    public static NSString static_description ()
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_description);
+        return result !is null ? new NSString(result) : null;
+    }
+
+    public NSDictionary dictionaryWithValuesForKeys (NSArray keys)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_dictionaryWithValuesForKeys_1, keys !is null ? keys.id : null);
+        return result !is null ? new NSDictionary(result) : null;
+    }
+
+    public void didChange (NSKeyValueChange changeKind, NSIndexSet indexes, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_didChange_1valuesAtIndexes_1forKey_1, changeKind, indexes !is null ? indexes.id : null,
+                key !is null ? key.id : null);
+    }
+
+    public void didChangeValueForKey_ (NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_didChangeValueForKey_1, key !is null ? key.id : null);
+    }
+
+    public void didChangeValueForKey_withSetMutation_usingObjects_ (NSString key, NSKeyValueSetMutationKind mutationKind, NSSet objects)
+    {
+        OS.objc_msgSend(this.id, OS.sel_didChangeValueForKey_1withSetMutation_1usingObjects_1, key !is null ? key.id : null, mutationKind,
+                objects !is null ? objects.id : null);
+    }
+
+    public bool doesContain (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_doesContain_1, object !is null ? object.id : null) !is null;
+    }
+
+    public void doesNotRecognizeSelector (objc.SEL aSelector)
+    {
+        OS.objc_msgSend(this.id, OS.sel_doesNotRecognizeSelector_1, aSelector);
+    }
+
+    public void download_decideDestinationWithSuggestedFilename_ (NSURLDownload download, NSString filename)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1decideDestinationWithSuggestedFilename_1, download !is null ? download.id : null,
+                filename !is null ? filename.id : null);
+    }
+
+    public void download_didCancelAuthenticationChallenge_ (NSURLDownload download, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didCancelAuthenticationChallenge_1, download !is null ? download.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void download_didCreateDestination_ (NSURLDownload download, NSString path)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didCreateDestination_1, download !is null ? download.id : null, path !is null ? path.id : null);
+    }
+
+    public void download_didFailWithError_ (NSURLDownload download, NSError error)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didFailWithError_1, download !is null ? download.id : null, error !is null ? error.id : null);
+    }
+
+    public void download_didReceiveAuthenticationChallenge_ (NSURLDownload download, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didReceiveAuthenticationChallenge_1, download !is null ? download.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public void download_didReceiveDataOfLength_ (NSURLDownload download, NSUInteger length)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didReceiveDataOfLength_1, download !is null ? download.id : null, length);
+    }
+
+    public void download_didReceiveResponse_ (NSURLDownload download, NSURLResponse response)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1didReceiveResponse_1, download !is null ? download.id : null,
+                response !is null ? response.id : null);
+    }
+
+    public bool download_shouldDecodeSourceDataOfMIMEType_ (NSURLDownload download, NSString encodingType)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_download_1shouldDecodeSourceDataOfMIMEType_1, download !is null ? download.id : null,
+                encodingType !is null ? encodingType.id : null) !is null;
+    }
+
+    public void download_willResumeWithResponse_fromByte_ (NSURLDownload download, NSURLResponse response, long startingByte)
+    {
+        OS.objc_msgSend(this.id, OS.sel_download_1willResumeWithResponse_1fromByte_1, download !is null ? download.id : null,
+                response !is null ? response.id : null, startingByte);
+    }
+
+    public NSURLRequest download_willSendRequest_redirectResponse_ (NSURLDownload download, NSURLRequest request, NSURLResponse redirectResponse)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_download_1willSendRequest_1redirectResponse_1, download !is null ? download.id : null,
+                request !is null ? request.id : null, redirectResponse !is null ? redirectResponse.id : null);
+        return result !is null ? new NSURLRequest(result) : null;
+    }
+
+    public void downloadDidBegin (NSURLDownload download)
+    {
+        OS.objc_msgSend(this.id, OS.sel_downloadDidBegin_1, download !is null ? download.id : null);
+    }
+
+    public void downloadDidFinish (NSURLDownload download)
+    {
+        OS.objc_msgSend(this.id, OS.sel_downloadDidFinish_1, download !is null ? download.id : null);
+    }
+
+    public void encodeWithCoder (NSCoder aCoder)
+    {
+        OS.objc_msgSend(this.id, OS.sel_encodeWithCoder_1, aCoder !is null ? aCoder.id : null);
+    }
+
+    public NSDecimalNumber exceptionDuringOperation (objc.SEL operation, NSCalculationError error, NSDecimalNumber leftOperand, NSDecimalNumber rightOperand)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_exceptionDuringOperation_1error_1leftOperand_1rightOperand_1, operation, error,
+                leftOperand !is null ? leftOperand.id : null, rightOperand !is null ? rightOperand.id : null);
+        return result !is null ? new NSDecimalNumber(result) : null;
+    }
+
+    public bool fileManager_shouldCopyItemAtPath_toPath_ (NSFileManager fileManager, NSString srcPath, NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldCopyItemAtPath_1toPath_1, fileManager !is null ? fileManager.id : null,
+                srcPath !is null ? srcPath.id : null, dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldLinkItemAtPath_toPath_ (NSFileManager fileManager, NSString srcPath, NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldLinkItemAtPath_1toPath_1, fileManager !is null ? fileManager.id : null,
+                srcPath !is null ? srcPath.id : null, dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldMoveItemAtPath_toPath_ (NSFileManager fileManager, NSString srcPath, NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldMoveItemAtPath_1toPath_1, fileManager !is null ? fileManager.id : null,
+                srcPath !is null ? srcPath.id : null, dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldProceedAfterError_ (NSFileManager fm, NSDictionary errorInfo)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldProceedAfterError_1, fm !is null ? fm.id : null,
+                errorInfo !is null ? errorInfo.id : null) !is null;
+    }
+
+    public bool fileManager_shouldProceedAfterError_copyingItemAtPath_toPath_ (NSFileManager fileManager, NSError error, NSString srcPath,
+            NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldProceedAfterError_1copyingItemAtPath_1toPath_1,
+                fileManager !is null ? fileManager.id : null, error !is null ? error.id : null, srcPath !is null ? srcPath.id : null,
+                dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldProceedAfterError_linkingItemAtPath_toPath_ (NSFileManager fileManager, NSError error, NSString srcPath,
+            NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldProceedAfterError_1linkingItemAtPath_1toPath_1,
+                fileManager !is null ? fileManager.id : null, error !is null ? error.id : null, srcPath !is null ? srcPath.id : null,
+                dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldProceedAfterError_movingItemAtPath_toPath_ (NSFileManager fileManager, NSError error, NSString srcPath,
+            NSString dstPath)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldProceedAfterError_1movingItemAtPath_1toPath_1,
+                fileManager !is null ? fileManager.id : null, error !is null ? error.id : null, srcPath !is null ? srcPath.id : null,
+                dstPath !is null ? dstPath.id : null) !is null;
+    }
+
+    public bool fileManager_shouldProceedAfterError_removingItemAtPath_ (NSFileManager fileManager, NSError error, NSString path)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldProceedAfterError_1removingItemAtPath_1,
+                fileManager !is null ? fileManager.id : null, error !is null ? error.id : null, path !is null ? path.id : null) !is null;
+    }
+
+    public bool fileManager_shouldRemoveItemAtPath_ (NSFileManager fileManager, NSString path)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_fileManager_1shouldRemoveItemAtPath_1, fileManager !is null ? fileManager.id : null,
+                path !is null ? path.id : null) !is null;
+    }
+
+    public void fileManager_willProcessPath_ (NSFileManager fm, NSString path)
+    {
+        OS.objc_msgSend(this.id, OS.sel_fileManager_1willProcessPath_1, fm !is null ? fm.id : null, path !is null ? path.id : null);
+    }
+
+    public void finalizeXX ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_finalize);
+    }
+
+    public void forwardInvocation (NSInvocation anInvocation)
+    {
+        OS.objc_msgSend(this.id, OS.sel_forwardInvocation_1, anInvocation !is null ? anInvocation.id : null);
+    }
+
+    public void handleMachMessage (void* msg)
+    {
+        OS.objc_msgSend(this.id, OS.sel_handleMachMessage_1, msg);
+    }
+
+    public void handlePortMessage (NSPortMessage message)
+    {
+        OS.objc_msgSend(this.id, OS.sel_handlePortMessage_1, message !is null ? message.id : null);
+    }
+
+    public id handleQueryWithUnboundKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_handleQueryWithUnboundKey_1, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void handleTakeValue (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_handleTakeValue_1forUnboundKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public NSUInteger hash ()
+    {
+        return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_hash);
+    }
+
+    public NSArray indicesOfObjectsByEvaluatingObjectSpecifier (NSScriptObjectSpecifier specifier)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_indicesOfObjectsByEvaluatingObjectSpecifier_1, specifier !is null ? specifier.id : null);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public NSObject init ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_init);
+        return result !is null ? this : null;
+    }
+
+    public NSObject initWithCoder (NSCoder aDecoder)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCoder_1, aDecoder !is null ? aDecoder.id : null);
+        return result !is null ? this : null;
+    }
+
+    public static void initialize ()
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_initialize);
+    }
+
+    public void insertValue_atIndex_inPropertyWithKey_ (id value, NSUInteger index, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_insertValue_1atIndex_1inPropertyWithKey_1, value !is null ? value.id : null, index,
+                key !is null ? key.id : null);
+    }
+
+    public void insertValue_inPropertyWithKey_ (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_insertValue_1inPropertyWithKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public static objc.IMP instanceMethodForSelector (objc.SEL aSelector)
+    {
+        return cast(objc.IMP) OS.objc_msgSend(OS.class_NSObject, OS.sel_instanceMethodForSelector_1, aSelector);
+    }
+
+    public static NSMethodSignature instanceMethodSignatureForSelector (objc.SEL aSelector)
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_instanceMethodSignatureForSelector_1, aSelector);
+        return result !is null ? new NSMethodSignature(result) : null;
+    }
+
+    public static bool instancesRespondToSelector (objc.SEL aSelector)
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_instancesRespondToSelector_1, aSelector) !is null;
+    }
+
+    public NSString inverseForRelationshipKey (NSString relationshipKey)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_inverseForRelationshipKey_1, relationshipKey !is null ? relationshipKey.id : null);
+        return result !is null ? new NSString(result) : null;
+    }
+
+    public bool isCaseInsensitiveLike (NSString object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isCaseInsensitiveLike_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isEqual (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isEqual_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isGreaterThan (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isGreaterThan_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isGreaterThanOrEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isGreaterThanOrEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isKindOfClass (objc.Class aClass)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isKindOfClass_1, aClass) !is null;
+    }
+
+    public bool isLessThan (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isLessThan_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isLessThanOrEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isLessThanOrEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isLike (NSString object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isLike_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isMemberOfClass (objc.Class aClass)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isMemberOfClass_1, aClass) !is null;
+    }
+
+    public bool isNotEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isNotEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool isProxy ()
+    {
+        return OS.objc_msgSend(this.id, OS.sel_isProxy) !is null;
+    }
+
+    public static bool isSubclassOfClass (objc.Class aClass)
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_isSubclassOfClass_1, aClass) !is null;
+    }
+
+    public static NSSet keyPathsForValuesAffectingValueForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_keyPathsForValuesAffectingValueForKey_1, key !is null ? key.id : null);
+        return result !is null ? new NSSet(result) : null;
+    }
+
+    public static void load ()
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_load);
+    }
+
+    public void lock ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_lock);
+    }
+
+    public bool makeNewConnection (NSConnection conn, NSConnection ancestor)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_makeNewConnection_1sender_1, conn !is null ? conn.id : null, ancestor !is null ? ancestor.id : null) !is null;
+    }
+
+    public id metadataQuery_replacementObjectForResultObject_ (NSMetadataQuery query, NSMetadataItem result)
+    {
+        objc.id r = OS.objc_msgSend(this.id, OS.sel_metadataQuery_1replacementObjectForResultObject_1, query !is null ? query.id : null,
+                result !is null ? result.id : null);
+        return r !is null ? new id(r) : null;
+    }
+
+    public id metadataQuery_replacementValueForAttribute_value_ (NSMetadataQuery query, NSString attrName, id attrValue)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_metadataQuery_1replacementValueForAttribute_1value_1, query !is null ? query.id : null,
+                attrName !is null ? attrName.id : null, attrValue !is null ? attrValue.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public objc.IMP methodForSelector (objc.SEL aSelector)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_methodForSelector_1, aSelector);
+    }
+
+    public NSMethodSignature methodSignatureForSelector (objc.SEL aSelector)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_methodSignatureForSelector_1, aSelector);
+        return result !is null ? new NSMethodSignature(result) : null;
+    }
+
+    public NSMutableArray mutableArrayValueForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableArrayValueForKey_1, key !is null ? key.id : null);
+        return result !is null ? new NSMutableArray(result) : null;
+    }
+
+    public NSMutableArray mutableArrayValueForKeyPath (NSString keyPath)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableArrayValueForKeyPath_1, keyPath !is null ? keyPath.id : null);
+        return result !is null ? new NSMutableArray(result) : null;
+    }
+
+    public id mutableCopy ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableCopy);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id mutableCopyWithZone_ (NSZone* zone)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableCopyWithZone_1, zone);
+        return result !is null ? new id(result) : null;
+    }
+
+    public static id static_mutableCopyWithZone_ (NSZone* zone)
+    {
+        objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_mutableCopyWithZone_1, zone);
+        return result !is null ? new id(result) : null;
+    }
+
+    public NSMutableSet mutableSetValueForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableSetValueForKey_1, key !is null ? key.id : null);
+        return result !is null ? new NSMutableSet(result) : null;
+    }
+
+    public NSMutableSet mutableSetValueForKeyPath (NSString keyPath)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_mutableSetValueForKeyPath_1, keyPath !is null ? keyPath.id : null);
+        return result !is null ? new NSMutableSet(result) : null;
+    }
+
+    public void netService_didNotPublish_ (NSNetService sender, NSDictionary errorDict)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netService_1didNotPublish_1, sender !is null ? sender.id : null, errorDict !is null ? errorDict.id : null);
+    }
+
+    public void netService_didNotResolve_ (NSNetService sender, NSDictionary errorDict)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netService_1didNotResolve_1, sender !is null ? sender.id : null, errorDict !is null ? errorDict.id : null);
+    }
+
+    public void netService_didUpdateTXTRecordData_ (NSNetService sender, NSData data)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netService_1didUpdateTXTRecordData_1, sender !is null ? sender.id : null, data !is null ? data.id : null);
+    }
+
+    public void netServiceBrowser_didFindDomain_moreComing_ (NSNetServiceBrowser aNetServiceBrowser, NSString domainString, bool moreComing)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowser_1didFindDomain_1moreComing_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null,
+                domainString !is null ? domainString.id : null, moreComing);
+    }
+
+    public void netServiceBrowser_didFindService_moreComing_ (NSNetServiceBrowser aNetServiceBrowser, NSNetService aNetService, bool moreComing)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowser_1didFindService_1moreComing_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null,
+                aNetService !is null ? aNetService.id : null, moreComing);
+    }
+
+    public void netServiceBrowser_didNotSearch_ (NSNetServiceBrowser aNetServiceBrowser, NSDictionary errorDict)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowser_1didNotSearch_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null,
+                errorDict !is null ? errorDict.id : null);
+    }
+
+    public void netServiceBrowser_didRemoveDomain_moreComing_ (NSNetServiceBrowser aNetServiceBrowser, NSString domainString, bool moreComing)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowser_1didRemoveDomain_1moreComing_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null,
+                domainString !is null ? domainString.id : null, moreComing);
+    }
+
+    public void netServiceBrowser_didRemoveService_moreComing_ (NSNetServiceBrowser aNetServiceBrowser, NSNetService aNetService, bool moreComing)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowser_1didRemoveService_1moreComing_1,
+                aNetServiceBrowser !is null ? aNetServiceBrowser.id : null, aNetService !is null ? aNetService.id : null, moreComing);
+    }
+
+    public void netServiceBrowserDidStopSearch (NSNetServiceBrowser aNetServiceBrowser)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowserDidStopSearch_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null);
+    }
+
+    public void netServiceBrowserWillSearch (NSNetServiceBrowser aNetServiceBrowser)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceBrowserWillSearch_1, aNetServiceBrowser !is null ? aNetServiceBrowser.id : null);
+    }
+
+    public void netServiceDidPublish (NSNetService sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceDidPublish_1, sender !is null ? sender.id : null);
+    }
+
+    public void netServiceDidResolveAddress (NSNetService sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceDidResolveAddress_1, sender !is null ? sender.id : null);
+    }
+
+    public void netServiceDidStop (NSNetService sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceDidStop_1, sender !is null ? sender.id : null);
+    }
+
+    public void netServiceWillPublish (NSNetService sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceWillPublish_1, sender !is null ? sender.id : null);
+    }
+
+    public void netServiceWillResolve (NSNetService sender)
+    {
+        OS.objc_msgSend(this.id, OS.sel_netServiceWillResolve_1, sender !is null ? sender.id : null);
+    }
+
+    //public static id new() {
+    //  objc.id result = OS.objc_msgSend(OS.class_NSObject, OS.sel_new);
+    //  return result !is null ? new id(result) : null;
+    //}
+
+    public id newScriptingObjectOfClass (objc.Class objectClass, NSString key, id contentsValue, NSDictionary properties)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_newScriptingObjectOfClass_1forValueForKey_1withContentsValue_1properties_1, objectClass,
+                key !is null ? key.id : null, contentsValue !is null ? contentsValue.id : null, properties !is null ? properties.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public NSScriptObjectSpecifier objectSpecifier ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_objectSpecifier);
+        return result !is null ? new NSScriptObjectSpecifier(result) : null;
+    }
+
+    public void* observationInfo ()
+    {
+        return cast(void*) OS.objc_msgSend(this.id, OS.sel_observationInfo);
+    }
+
+    public void observeValueForKeyPath (NSString keyPath, id object, NSDictionary change, void* context)
+    {
+        OS.objc_msgSend(this.id, OS.sel_observeValueForKeyPath_1ofObject_1change_1context_1, keyPath !is null ? keyPath.id : null,
+                object !is null ? object.id : null, change !is null ? change.id : null, context);
+    }
+
+    public void parser_didEndElement_namespaceURI_qualifiedName_ (NSXMLParser parser, NSString elementName, NSString namespaceURI, NSString qName)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1didEndElement_1namespaceURI_1qualifiedName_1, parser !is null ? parser.id : null,
+                elementName !is null ? elementName.id : null, namespaceURI !is null ? namespaceURI.id : null, qName !is null ? qName.id : null);
+    }
+
+    public void parser_didEndMappingPrefix_ (NSXMLParser parser, NSString prefix)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1didEndMappingPrefix_1, parser !is null ? parser.id : null, prefix !is null ? prefix.id : null);
+    }
+
+    public void parser_didStartElement_namespaceURI_qualifiedName_attributes_ (NSXMLParser parser, NSString elementName, NSString namespaceURI,
+            NSString qName, NSDictionary attributeDict)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1didStartElement_1namespaceURI_1qualifiedName_1attributes_1, parser !is null ? parser.id : null,
+                elementName !is null ? elementName.id : null, namespaceURI !is null ? namespaceURI.id : null, qName !is null ? qName.id : null,
+                attributeDict !is null ? attributeDict.id : null);
+    }
+
+    public void parser_didStartMappingPrefix_toURI_ (NSXMLParser parser, NSString prefix, NSString namespaceURI)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1didStartMappingPrefix_1toURI_1, parser !is null ? parser.id : null,
+                prefix !is null ? prefix.id : null, namespaceURI !is null ? namespaceURI.id : null);
+    }
+
+    public void parser_foundAttributeDeclarationWithName_forElement_type_defaultValue_ (NSXMLParser parser, NSString attributeName,
+            NSString elementName, NSString type, NSString defaultValue)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundAttributeDeclarationWithName_1forElement_1type_1defaultValue_1,
+                parser !is null ? parser.id : null, attributeName !is null ? attributeName.id : null, elementName !is null ? elementName.id : null,
+                type !is null ? type.id : null, defaultValue !is null ? defaultValue.id : null);
+    }
+
+    public void parser_foundCDATA_ (NSXMLParser parser, NSData CDATABlock)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundCDATA_1, parser !is null ? parser.id : null, CDATABlock !is null ? CDATABlock.id : null);
+    }
+
+    public void parser_foundCharacters_ (NSXMLParser parser, NSString string)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundCharacters_1, parser !is null ? parser.id : null, string !is null ? string.id : null);
+    }
+
+    public void parser_foundComment_ (NSXMLParser parser, NSString comment)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundComment_1, parser !is null ? parser.id : null, comment !is null ? comment.id : null);
+    }
+
+    public void parser_foundElementDeclarationWithName_model_ (NSXMLParser parser, NSString elementName, NSString model)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundElementDeclarationWithName_1model_1, parser !is null ? parser.id : null,
+                elementName !is null ? elementName.id : null, model !is null ? model.id : null);
+    }
+
+    public void parser_foundExternalEntityDeclarationWithName_publicID_systemID_ (NSXMLParser parser, NSString name, NSString publicID,
+            NSString systemID)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundExternalEntityDeclarationWithName_1publicID_1systemID_1, parser !is null ? parser.id : null,
+                name !is null ? name.id : null, publicID !is null ? publicID.id : null, systemID !is null ? systemID.id : null);
+    }
+
+    public void parser_foundIgnorableWhitespace_ (NSXMLParser parser, NSString whitespaceString)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundIgnorableWhitespace_1, parser !is null ? parser.id : null,
+                whitespaceString !is null ? whitespaceString.id : null);
+    }
+
+    public void parser_foundInternalEntityDeclarationWithName_value_ (NSXMLParser parser, NSString name, NSString value)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundInternalEntityDeclarationWithName_1value_1, parser !is null ? parser.id : null,
+                name !is null ? name.id : null, value !is null ? value.id : null);
+    }
+
+    public void parser_foundNotationDeclarationWithName_publicID_systemID_ (NSXMLParser parser, NSString name, NSString publicID, NSString systemID)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundNotationDeclarationWithName_1publicID_1systemID_1, parser !is null ? parser.id : null,
+                name !is null ? name.id : null, publicID !is null ? publicID.id : null, systemID !is null ? systemID.id : null);
+    }
+
+    public void parser_foundProcessingInstructionWithTarget_data_ (NSXMLParser parser, NSString target, NSString data)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundProcessingInstructionWithTarget_1data_1, parser !is null ? parser.id : null,
+                target !is null ? target.id : null, data !is null ? data.id : null);
+    }
+
+    public void parser_foundUnparsedEntityDeclarationWithName_publicID_systemID_notationName_ (NSXMLParser parser, NSString name, NSString publicID,
+            NSString systemID, NSString notationName)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1foundUnparsedEntityDeclarationWithName_1publicID_1systemID_1notationName_1,
+                parser !is null ? parser.id : null, name !is null ? name.id : null, publicID !is null ? publicID.id : null,
+                systemID !is null ? systemID.id : null, notationName !is null ? notationName.id : null);
+    }
+
+    public void parser_parseErrorOccurred_ (NSXMLParser parser, NSError parseError)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1parseErrorOccurred_1, parser !is null ? parser.id : null, parseError !is null ? parseError.id : null);
+    }
+
+    public NSData parser_resolveExternalEntityName_systemID_ (NSXMLParser parser, NSString name, NSString systemID)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_parser_1resolveExternalEntityName_1systemID_1, parser !is null ? parser.id : null,
+                name !is null ? name.id : null, systemID !is null ? systemID.id : null);
+        return result !is null ? new NSData(result) : null;
+    }
+
+    public void parser_validationErrorOccurred_ (NSXMLParser parser, NSError validationError)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parser_1validationErrorOccurred_1, parser !is null ? parser.id : null,
+                validationError !is null ? validationError.id : null);
+    }
+
+    public void parserDidEndDocument (NSXMLParser parser)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parserDidEndDocument_1, parser !is null ? parser.id : null);
+    }
+
+    public void parserDidStartDocument (NSXMLParser parser)
+    {
+        OS.objc_msgSend(this.id, OS.sel_parserDidStartDocument_1, parser !is null ? parser.id : null);
+    }
+
+    public id performSelector_ (objc.SEL aSelector)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_performSelector_1, aSelector);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void performSelector_onThread_withObject_waitUntilDone_ (objc.SEL aSelector, NSThread thr, id arg, bool wait)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelector_1onThread_1withObject_1waitUntilDone_1, aSelector, thr !is null ? thr.id : null,
+                arg !is null ? arg.id : null, wait);
+    }
+
+    public void performSelector_onThread_withObject_waitUntilDone_modes_ (objc.SEL aSelector, NSThread thr, id arg, bool wait, NSArray array)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelector_1onThread_1withObject_1waitUntilDone_1modes_1, aSelector, thr !is null ? thr.id : null,
+                arg !is null ? arg.id : null, wait, array !is null ? array.id : null);
+    }
+
+    public id performSelector_withObject_ (objc.SEL aSelector, id object)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_performSelector_1withObject_1, aSelector, object !is null ? object.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void performSelector_withObject_afterDelay_ (objc.SEL aSelector, id anArgument, NSTimeInterval delay)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelector_1withObject_1afterDelay_1, aSelector, anArgument !is null ? anArgument.id : null, delay);
+    }
+
+    public void performSelector_withObject_afterDelay_inModes_ (objc.SEL aSelector, id anArgument, NSTimeInterval delay, NSArray modes)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelector_1withObject_1afterDelay_1inModes_1, aSelector, anArgument !is null ? anArgument.id : null,
+                delay, modes !is null ? modes.id : null);
+    }
+
+    public id performSelector_withObject_withObject_ (objc.SEL aSelector, id object1, id object2)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_performSelector_1withObject_1withObject_1, aSelector, object1 !is null ? object1.id : null,
+                object2 !is null ? object2.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void performSelectorInBackground (objc.SEL aSelector, id arg)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelectorInBackground_1withObject_1, aSelector, arg !is null ? arg.id : null);
+    }
+
+    public void performSelectorOnMainThread_withObject_waitUntilDone_ (objc.SEL aSelector, id arg, bool wait)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelectorOnMainThread_1withObject_1waitUntilDone_1, aSelector, arg !is null ? arg.id : null, wait);
+    }
+
+    public void performSelectorOnMainThread_withObject_waitUntilDone_modes_ (objc.SEL aSelector, id arg, bool wait, NSArray array)
+    {
+        OS.objc_msgSend(this.id, OS.sel_performSelectorOnMainThread_1withObject_1waitUntilDone_1modes_1, aSelector, arg !is null ? arg.id : null,
+                wait, array !is null ? array.id : null);
+    }
+
+    public static void poseAsClass (objc.Class aClass)
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_poseAsClass_1, aClass);
+    }
+
+    public void release ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_release);
+    }
+
+    public void removeObserver (NSObject observer, NSString keyPath)
+    {
+        OS.objc_msgSend(this.id, OS.sel_removeObserver_1forKeyPath_1, observer !is null ? observer.id : null, keyPath !is null ? keyPath.id : null);
+    }
+
+    public void removeObserver (NSObject observer)
+    {
+        OS.objc_msgSend(this.id, OS.sel_removeObserver_1, observer !is null ? observer.id : null);
+    }
+
+    public void removeValueAtIndex (NSUInteger index, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_removeValueAtIndex_1fromPropertyWithKey_1, index, key !is null ? key.id : null);
+    }
+
+    public void replaceValueAtIndex (NSUInteger index, NSString key, id value)
+    {
+        OS.objc_msgSend(this.id, OS.sel_replaceValueAtIndex_1inPropertyWithKey_1withValue_1, index, key !is null ? key.id : null,
+                value !is null ? value.id : null);
+    }
+
+    public id replacementObjectForArchiver (NSArchiver archiver)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_replacementObjectForArchiver_1, archiver !is null ? archiver.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id replacementObjectForCoder (NSCoder aCoder)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_replacementObjectForCoder_1, aCoder !is null ? aCoder.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id replacementObjectForKeyedArchiver (NSKeyedArchiver archiver)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_replacementObjectForKeyedArchiver_1, archiver !is null ? archiver.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id replacementObjectForPortCoder (NSPortCoder coder)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_replacementObjectForPortCoder_1, coder !is null ? coder.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public static bool resolveClassMethod (objc.SEL sel)
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_resolveClassMethod_1, sel) !is null;
+    }
+
+    public static bool resolveInstanceMethod (objc.SEL sel)
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_resolveInstanceMethod_1, sel) !is null;
+    }
+
+    public bool respondsToSelector (objc.SEL aSelector)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_respondsToSelector_1, aSelector) !is null;
+    }
+
+    public id retain ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_retain);
+        return result !is null ? new id(result) : null;
+    }
+
+    public NSUInteger retainCount ()
+    {
+        return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_retainCount);
+    }
+
+    public NSRoundingMode roundingMode ()
+    {
+        return cast(NSRoundingMode) OS.objc_msgSend(this.id, OS.sel_roundingMode);
+    }
+
+    public short scale ()
+    {
+        return cast(short) OS.objc_msgSend(this.id, OS.sel_scale);
+    }
+
+    public bool scriptingBeginsWith (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingBeginsWith_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingContains (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingContains_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingEndsWith (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingEndsWith_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingIsEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingIsEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingIsGreaterThan (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingIsGreaterThan_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingIsGreaterThanOrEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingIsGreaterThanOrEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingIsLessThan (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingIsLessThan_1, object !is null ? object.id : null) !is null;
+    }
+
+    public bool scriptingIsLessThanOrEqualTo (id object)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_scriptingIsLessThanOrEqualTo_1, object !is null ? object.id : null) !is null;
+    }
+
+    public NSDictionary scriptingProperties ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_scriptingProperties);
+        return result !is null ? new NSDictionary(result) : null;
+    }
+
+    public id scriptingValueForSpecifier (NSScriptObjectSpecifier objectSpecifier)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_scriptingValueForSpecifier_1, objectSpecifier !is null ? objectSpecifier.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id self ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_self);
+        return result !is null ? new id(result) : null;
+    }
+
+    public static void setKeys (NSArray keys, NSString dependentKey)
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_setKeys_1triggerChangeNotificationsForDependentKey_1, keys !is null ? keys.id : null,
+                dependentKey !is null ? dependentKey.id : null);
+    }
+
+    public void setNilValueForKey (NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setNilValueForKey_1, key !is null ? key.id : null);
+    }
+
+    public void setObservationInfo (void* observationInfo)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setObservationInfo_1, observationInfo);
+    }
+
+    public void setScriptingProperties (NSDictionary properties)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setScriptingProperties_1, properties !is null ? properties.id : null);
+    }
+
+    public void setValue_forKey_ (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setValue_1forKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public void setValue_forKeyPath_ (id value, NSString keyPath)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setValue_1forKeyPath_1, value !is null ? value.id : null, keyPath !is null ? keyPath.id : null);
+    }
+
+    public void setValue_forUndefinedKey_ (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setValue_1forUndefinedKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public void setValuesForKeysWithDictionary (NSDictionary keyedValues)
+    {
+        OS.objc_msgSend(this.id, OS.sel_setValuesForKeysWithDictionary_1, keyedValues !is null ? keyedValues.id : null);
+    }
+
+    public static void setVersion (NSInteger aVersion)
+    {
+        OS.objc_msgSend(OS.class_NSObject, OS.sel_setVersion_1, aVersion);
+    }
+
+    public NSRange spellServer_checkGrammarInString_language_details_ (NSSpellServer sender, NSString stringToCheck, NSString language, objc.id** details)
+    {
+        NSRange result;
+        OS.objc_msgSend_stret(result, this.id, OS.sel_spellServer_1checkGrammarInString_1language_1details_1, sender !is null ? sender.id : null,
+                stringToCheck !is null ? stringToCheck.id : null, language !is null ? language.id : null, details);
+        return result;
+    }
+
+    public void spellServer_didForgetWord_inLanguage_ (NSSpellServer sender, NSString word, NSString language)
+    {
+        OS.objc_msgSend(this.id, OS.sel_spellServer_1didForgetWord_1inLanguage_1, sender !is null ? sender.id : null, word !is null ? word.id : null,
+                language !is null ? language.id : null);
+    }
+
+    public void spellServer_didLearnWord_inLanguage_ (NSSpellServer sender, NSString word, NSString language)
+    {
+        OS.objc_msgSend(this.id, OS.sel_spellServer_1didLearnWord_1inLanguage_1, sender !is null ? sender.id : null, word !is null ? word.id : null,
+                language !is null ? language.id : null);
+    }
+
+    public NSRange spellServer_findMisspelledWordInString_language_wordCount_countOnly_ (NSSpellServer sender, NSString stringToCheck,
+            NSString language, int* wordCount, bool countOnly)
+    {
+        NSRange result;
+        OS.objc_msgSend_stret(result, this.id, OS.sel_spellServer_1findMisspelledWordInString_1language_1wordCount_1countOnly_1,
+                sender !is null ? sender.id : null, stringToCheck !is null ? stringToCheck.id : null, language !is null ? language.id : null,
+                wordCount, countOnly);
+        return result;
+    }
+
+    public NSArray spellServer_suggestCompletionsForPartialWordRange_inString_language_ (NSSpellServer sender, NSRange range, NSString string,
+            NSString language)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_spellServer_1suggestCompletionsForPartialWordRange_1inString_1language_1,
+                sender !is null ? sender.id : null, range, string !is null ? string.id : null, language !is null ? language.id : null);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public NSArray spellServer_suggestGuessesForWord_inLanguage_ (NSSpellServer sender, NSString word, NSString language)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_spellServer_1suggestGuessesForWord_1inLanguage_1, sender !is null ? sender.id : null,
+                word !is null ? word.id : null, language !is null ? language.id : null);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public id storedValueForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_storedValueForKey_1, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void stream (NSStream aStream, NSStreamEvent eventCode)
+    {
+        OS.objc_msgSend(this.id, OS.sel_stream_1handleEvent_1, aStream !is null ? aStream.id : null, eventCode);
+    }
+
+    public static objc.Class static_superclass ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(OS.class_NSObject, OS.sel_superclass);
+    }
+
+    public objc.Class superclass ()
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_superclass);
+    }
+
+    public void takeStoredValue (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_takeStoredValue_1forKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public void takeValue_forKey_ (id value, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_takeValue_1forKey_1, value !is null ? value.id : null, key !is null ? key.id : null);
+    }
+
+    public void takeValue_forKeyPath_ (id value, NSString keyPath)
+    {
+        OS.objc_msgSend(this.id, OS.sel_takeValue_1forKeyPath_1, value !is null ? value.id : null, keyPath !is null ? keyPath.id : null);
+    }
+
+    public void takeValuesFromDictionary (NSDictionary properties)
+    {
+        OS.objc_msgSend(this.id, OS.sel_takeValuesFromDictionary_1, properties !is null ? properties.id : null);
+    }
+
+    public NSArray toManyRelationshipKeys ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_toManyRelationshipKeys);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public NSArray toOneRelationshipKeys ()
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_toOneRelationshipKeys);
+        return result !is null ? new NSArray(result) : null;
+    }
+
+    public void unableToSetNilForKey (NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_unableToSetNilForKey_1, key !is null ? key.id : null);
+    }
+
+    public objc.Class unarchiver_cannotDecodeObjectOfClassName_originalClasses_ (NSKeyedUnarchiver unarchiver, NSString name, NSArray classNames)
+    {
+        return cast(objc.Class) OS.objc_msgSend(this.id, OS.sel_unarchiver_1cannotDecodeObjectOfClassName_1originalClasses_1,
+                unarchiver !is null ? unarchiver.id : null, name !is null ? name.id : null, classNames !is null ? classNames.id : null);
+    }
+
+    public id unarchiver_didDecodeObject_ (NSKeyedUnarchiver unarchiver, id object)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_unarchiver_1didDecodeObject_1, unarchiver !is null ? unarchiver.id : null,
+                object !is null ? object.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public void unarchiver_willReplaceObject_withObject_ (NSKeyedUnarchiver unarchiver, id object, id newObject)
+    {
+        OS.objc_msgSend(this.id, OS.sel_unarchiver_1willReplaceObject_1withObject_1, unarchiver !is null ? unarchiver.id : null,
+                object !is null ? object.id : null, newObject !is null ? newObject.id : null);
+    }
+
+    public void unarchiverDidFinish (NSKeyedUnarchiver unarchiver)
+    {
+        OS.objc_msgSend(this.id, OS.sel_unarchiverDidFinish_1, unarchiver !is null ? unarchiver.id : null);
+    }
+
+    public void unarchiverWillFinish (NSKeyedUnarchiver unarchiver)
+    {
+        OS.objc_msgSend(this.id, OS.sel_unarchiverWillFinish_1, unarchiver !is null ? unarchiver.id : null);
+    }
+
+    public void unlock ()
+    {
+        OS.objc_msgSend(this.id, OS.sel_unlock);
+    }
+
+    public void useCredential (NSURLCredential credential, NSURLAuthenticationChallenge challenge)
+    {
+        OS.objc_msgSend(this.id, OS.sel_useCredential_1forAuthenticationChallenge_1, credential !is null ? credential.id : null,
+                challenge !is null ? challenge.id : null);
+    }
+
+    public static bool useStoredAccessor ()
+    {
+        return OS.objc_msgSend(OS.class_NSObject, OS.sel_useStoredAccessor) !is null;
+    }
+
+    public bool validateValue_forKey_error_ (objc.id* ioValue, NSString inKey, objc.id** outError)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_validateValue_1forKey_1error_1, ioValue, inKey !is null ? inKey.id : null, outError) !is null;
+    }
+
+    public bool validateValue_forKeyPath_error_ (objc.id* ioValue, NSString inKeyPath, objc.id** outError)
+    {
+        return OS.objc_msgSend(this.id, OS.sel_validateValue_1forKeyPath_1error_1, ioValue, inKeyPath !is null ? inKeyPath.id : null, outError) !is null;
+    }
+
+    public id valueAtIndex (NSUInteger index, NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueAtIndex_1inPropertyWithKey_1, index, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id valueForKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueForKey_1, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id valueForKeyPath (NSString keyPath)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueForKeyPath_1, keyPath !is null ? keyPath.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id valueForUndefinedKey (NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueForUndefinedKey_1, key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id valueWithName (NSString name, NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueWithName_1inPropertyWithKey_1, name !is null ? name.id : null,
+                key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public id valueWithUniqueID (id uniqueID, NSString key)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valueWithUniqueID_1inPropertyWithKey_1, uniqueID !is null ? uniqueID.id : null,
+                key !is null ? key.id : null);
+        return result !is null ? new id(result) : null;
+    }
+
+    public NSDictionary valuesForKeys (NSArray keys)
+    {
+        objc.id result = OS.objc_msgSend(this.id, OS.sel_valuesForKeys_1, keys !is null ? keys.id : null);
+        return result !is null ? new NSDictionary(result) : null;
+    }
+
+    public static NSInteger versionn ()
+    {
+        return cast(NSInteger) OS.objc_msgSend(OS.class_NSObject, OS.sel_version);
+    }
+
+    public void willChange (NSKeyValueChange changeKind, NSIndexSet indexes, NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_willChange_1valuesAtIndexes_1forKey_1, changeKind, indexes !is null ? indexes.id : null,
+                key !is null ? key.id : null);
+    }
+
+    public void willChangeValueForKey_ (NSString key)
+    {
+        OS.objc_msgSend(this.id, OS.sel_willChangeValueForKey_1, key !is null ? key.id : null);
+    }
+
+    public void willChangeValueForKey_withSetMutation_usingObjects_ (NSString key, NSKeyValueSetMutationKind mutationKind, NSSet objects)
+    {
+        OS.objc_msgSend(this.id, OS.sel_willChangeValueForKey_1withSetMutation_1usingObjects_1, key !is null ? key.id : null, mutationKind,
+                objects !is null ? objects.id : null);
+    }
+
+    public NSZone* zone ()
+    {
+        return cast(NSZone*) OS.objc_msgSend(this.id, OS.sel_zone);
+    }
+
+}