class Jaspion::Kilza::Objc::Class

Public Class Methods

new(name) click to toggle source
Calls superclass method Jaspion::Kilza::Class::new
# File lib/jaspion/kilza/language/objc/class.rb, line 7
def initialize(name)
  name = name + RESERVED_CLASS_POSFIX unless RESERVED_WORDS.index(name.downcase).nil?
  super(name)
end

Public Instance Methods

equals() click to toggle source
# File lib/jaspion/kilza/language/objc/class.rb, line 30
def equals
  r = StringIO.new
  r << '- (BOOL)isEqual:(id)anObject {'
  fields = []
  for pr in @properties
      fields.push("[((#{@name}) anObject).#{pr.name} isEqual:#{pr.name}]") if pr.key?
  end
  r << "\n    if (anObject instanceof #{@name}) {"
  r << "        return (" + fields.join(" &&\n            ") + "});"
  r << "\n    }"
  r << "\n    return false;"
  r << "\n}"
  r.string
end
imports() click to toggle source
# File lib/jaspion/kilza/language/objc/class.rb, line 26
def imports
  @imports.sort.flatten
end
push(pr) click to toggle source
Calls superclass method Jaspion::Kilza::Class#push
# File lib/jaspion/kilza/language/objc/class.rb, line 12
def push(pr)
  if pr.object? || (pr.array? && pr.null?)
    pr.type = pr.class_name + ' *'
    push_import("#import \"#{pr.class_name}.h\"")
  end

  pr.type = 'NSMutableArray *' if pr.array?
  unless Jaspion::Kilza::Objc::TYPES[pr.type].nil?
    pr.type = Jaspion::Kilza::Objc::TYPES[pr.type]
  end

  super(pr)
end
sources() click to toggle source
# File lib/jaspion/kilza/language/objc/class.rb, line 45
def sources
  [code('objc', 'h'), code('objc', 'm')]
end