# generated by 'rake generate'
require 'cocoa/bindings/NSObject'
module Cocoa
  class NSArray < Cocoa::NSObject
    attach_method :addObserver, [{:args=>4, :names=>[:forKeyPath, :options, :context], :types=>["@", "@", "Q", "^v"], :retval=>"v"}, {:args=>5, :names=>[:toObjectsAtIndexes, :forKeyPath, :options, :context], :types=>["@", "@", "@", "Q", "^v"], :retval=>"v"}]
    attach_singular_method :array, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :arrayByAddingObject, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :arrayByAddingObjectsFromArray, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :arrayWithArray, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :arrayWithContentsOfFile, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :arrayWithContentsOfURL, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :arrayWithObject, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :arrayWithObjects, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true}, {:args=>2, :names=>[:count], :types=>["^@", "Q"], :retval=>"@"}]
    attach_method :componentsJoinedByString, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :containsObject, :args=>1, :names=>[], :types=>["@"], :retval=>"B"
    attach_method :count, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :description, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :descriptionWithLocale, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>2, :names=>[:indent], :types=>["@", "Q"], :retval=>"@"}]
    attach_method :enumerateObjectsAtIndexes, :args=>3, :names=>[:options, :usingBlock], :types=>["@", "Q", "@?"], :retval=>"v"
    attach_method :enumerateObjectsUsingBlock, :args=>1, :names=>[], :types=>["@?"], :retval=>"v"
    attach_method :enumerateObjectsWithOptions, :args=>2, :names=>[:usingBlock], :types=>["Q", "@?"], :retval=>"v"
    attach_method :filteredArrayUsingPredicate, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :firstObjectCommonWithArray, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :getObjects, [{:args=>1, :names=>[], :types=>["^@"], :retval=>"v"}, {:args=>2, :names=>[:range], :types=>["^@", "{_NSRange=QQ}"], :retval=>"v"}]
    attach_method :indexOfObject, [{:args=>1, :names=>[], :types=>["@"], :retval=>"Q"}, {:args=>2, :names=>[:inRange], :types=>["@", "{_NSRange=QQ}"], :retval=>"Q"}, {:args=>4, :names=>[:inSortedRange, :options, :usingComparator], :types=>["@", "{_NSRange=QQ}", "Q", "@?"], :retval=>"Q"}]
    attach_method :indexOfObjectAtIndexes, :args=>3, :names=>[:options, :passingTest], :types=>["@", "Q", "@?"], :retval=>"Q"
    attach_method :indexOfObjectIdenticalTo, [{:args=>1, :names=>[], :types=>["@"], :retval=>"Q"}, {:args=>2, :names=>[:inRange], :types=>["@", "{_NSRange=QQ}"], :retval=>"Q"}]
    attach_method :indexOfObjectPassingTest, :args=>1, :names=>[], :types=>["@?"], :retval=>"Q"
    attach_method :indexOfObjectWithOptions, :args=>2, :names=>[:passingTest], :types=>["Q", "@?"], :retval=>"Q"
    attach_method :indexesOfObjectsAtIndexes, :args=>3, :names=>[:options, :passingTest], :types=>["@", "Q", "@?"], :retval=>"@"
    attach_method :indexesOfObjectsPassingTest, :args=>1, :names=>[], :types=>["@?"], :retval=>"@"
    attach_method :indexesOfObjectsWithOptions, :args=>2, :names=>[:passingTest], :types=>["Q", "@?"], :retval=>"@"
    attach_method :initWithArray, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>2, :names=>[:copyItems], :types=>["@", "B"], :retval=>"@"}]
    attach_method :initWithContentsOfFile, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :initWithContentsOfURL, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :initWithObjects, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true}, {:args=>2, :names=>[:count], :types=>["^@", "Q"], :retval=>"@"}]
    attach_method :isEqualToArray, :args=>1, :names=>[], :types=>["@"], :retval=>"B"
    attach_method :lastObject, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :makeObjectsPerformSelector, [{:args=>1, :names=>[], :types=>[":"], :retval=>"v"}, {:args=>2, :names=>[:withObject], :types=>[":", "@"], :retval=>"v"}]
    attach_method :objectAtIndex, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :objectAtIndexedSubscript, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :objectEnumerator, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :objectsAtIndexes, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :pathsMatchingExtensions, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :removeObserver, [{:args=>2, :names=>[:forKeyPath], :types=>["@", "@"], :retval=>"v"}, {:args=>3, :names=>[:forKeyPath, :context], :types=>["@", "@", "^v"], :retval=>"v"}, {:args=>3, :names=>[:fromObjectsAtIndexes, :forKeyPath], :types=>["@", "@", "@"], :retval=>"v"}, {:args=>4, :names=>[:fromObjectsAtIndexes, :forKeyPath, :context], :types=>["@", "@", "@", "^v"], :retval=>"v"}]
    attach_method :reverseObjectEnumerator, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :setValue, :args=>2, :names=>[:forKey], :types=>["@", "@"], :retval=>"v"
    attach_method :sortedArrayHint, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :sortedArrayUsingComparator, :args=>1, :names=>[], :types=>["@?"], :retval=>"@"
    attach_method :sortedArrayUsingDescriptors, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :sortedArrayUsingFunction, [{:args=>2, :names=>[:context], :types=>["^?", "^v"], :retval=>"@"}, {:args=>3, :names=>[:context, :hint], :types=>["^?", "^v", "@"], :retval=>"@"}]
    attach_method :sortedArrayUsingSelector, :args=>1, :names=>[], :types=>[":"], :retval=>"@"
    attach_method :sortedArrayWithOptions, :args=>2, :names=>[:usingComparator], :types=>["Q", "@?"], :retval=>"@"
    attach_method :subarrayWithRange, :args=>1, :names=>[], :types=>["{_NSRange=QQ}"], :retval=>"@"
    attach_method :valueForKey, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :writeToFile, :args=>2, :names=>[:atomically], :types=>["@", "B"], :retval=>"B"
    attach_method :writeToURL, :args=>2, :names=>[:atomically], :types=>["@", "B"], :retval=>"B"
  end
end
