Package analysis :: Module specialisation :: Class Specialiser
[show private | hide private]
[frames | no frames]

Class Specialiser


A specialiser class, providing support for the retrieval and creation of function specialisations.
Method Summary
  are_identical_signatures(self, signature, spec_signature)
Return whether 'signature' and 'spec_signature' are identical.
  create_specialisation(self, block, locals, signature, add_to_module)
For the specified 'block', create a new specialisation with the given 'locals' and 'signature'.
  deepcopy(self, obj, root)
Copy the given 'obj', avoiding various special protected attributes.
  get_existing_specialisation(self, caller, block, signature)
Return whether the given 'block' has a specialisation with the given 'signature'.
  get_specialisation(self, caller, block, locals, signature, add_to_module)
Return a specialisation, for use by the given 'caller', for the given 'block' having the given 'locals' and 'signature'.
  is_signature_in_list(self, signature, signatures)
Return whether 'signature' is in the 'signatures' list.
  make_locals(self, ns)
Make a locals dictionary which is isolated from the actual argument nodes.
  make_signature(self, ns)
Make a signature given the namespace 'ns' using reference names.

Method Details

are_identical_signatures(self, signature, spec_signature)

Return whether 'signature' and 'spec_signature' are identical.

create_specialisation(self, block, locals, signature, add_to_module)

For the specified 'block', create a new specialisation with the given 'locals' and 'signature'.

If the 'add_to_module' parameter is set to true, add the specialisation as a sibling of the original 'block' in the module.

deepcopy(self, obj, root=None)

Copy the given 'obj', avoiding various special protected attributes.

get_existing_specialisation(self, caller, block, signature)

Return whether the given 'block' has a specialisation with the given 'signature'.

get_specialisation(self, caller, block, locals, signature, add_to_module)

Return a specialisation, for use by the given 'caller', for the given 'block' having the given 'locals' and 'signature'. If no existing specialisation exists, create a new one.

If the 'add_to_module' parameter is set to true, add any new specialisation as a sibling of the original 'block' in the module.

is_signature_in_list(self, signature, signatures)

Return whether 'signature' is in the 'signatures' list.

make_locals(self, ns)

Make a locals dictionary which is isolated from the actual argument nodes.

make_signature(self, ns)

Make a signature given the namespace 'ns' using reference names.

Generated by Epydoc 2.1 on Fri May 19 01:52:26 2006 http://epydoc.sf.net