Module: FastRuby::BuilderModule

Defined in:
lib/fastruby/builder.rb

Instance Method Summary collapse

Instance Method Details

#build(signature, method_name, noreturn = false) ⇒ Object



181
182
183
# File 'lib/fastruby/builder.rb', line 181

def build(signature, method_name, noreturn = false)
  fastruby_method(method_name.to_sym).build(signature, noreturn)
end

#fastruby_method(mname_) ⇒ Object



203
204
205
206
207
208
# File 'lib/fastruby/builder.rb', line 203

def fastruby_method(mname_)
  mname = mname_.to_sym
  @fastruby_method = Hash.new unless @fastruby_method
  @fastruby_method[mname] = FastRuby::Method.new(mname,self) unless @fastruby_method[mname]
  @fastruby_method[mname]
end

#method_added(method_name) ⇒ Object



196
197
198
199
200
201
# File 'lib/fastruby/builder.rb', line 196

def method_added(method_name)
  if self.respond_to? :clear_method_hash_addresses
    FastRuby.unset_tree(self,method_name)
    self.clear_method_hash_addresses(method_hash(method_name))
  end
end

#method_hash(method_name) ⇒ Object



191
192
193
194
# File 'lib/fastruby/builder.rb', line 191

def method_hash(method_name)
  @method_hash = Hash.new unless @method_hash
  @method_hash[method_name]
end

#register_method_value(method_name, key, value) ⇒ Object



185
186
187
188
189
# File 'lib/fastruby/builder.rb', line 185

def register_method_value(method_name,key,value)
  @method_hash = Hash.new unless @method_hash
  @method_hash[method_name] = Hash.new unless @method_hash[method_name]
  @method_hash[method_name][key] = value
end