Next Prev Up Top Contents Index

compute-class-potential-initargs

Generic Function
Summary

Computes the valid initargs of a class.

Package

clos

Signature

compute-class-potential-initargs class => initargs

Arguments

class

A class.

Values

initargs

A list of symbols, or t .

Description

The generic function compute-class-potential-initargs is called to compute the initialization arguments of a class. This set of valid initargs is used by make-instance when its arguments are checked.

class is the class passed to make-instance . That is, compute-class-potential-initargs specializes on the metaclass.

initargs is either a list of valid initargs, or t meaning that any initialization argument is allowed.

There is a supplied method on t , which returns nil .

The other supplied method is on standard-class . This consults the Relevant Methods, which are the applicable methods of make-instance , allocate-instance , initialize-instance and shared-initialize . If any of the Relevant Methods have a lambda list containing &allow-other-keys then initargs is t. Otherwise initargs is a list containing all the &key arguments from Relevant Method lambda lists, together with the initargs of the slots of class and its superclasses, and the result of class-extra-initargs .

The list initargs contains no duplicates, and the result of compute-class-potential-initargs is cached so that it is not recomputed unless one of the Relevant Methods, the class or its class precedence list is altered.

See also

class-extra-initargs
make-instance
set-make-instance-argument-checking


LispWorks Reference Manual - 13 Jun 2003

Next Prev Up Top Contents Index