This is the protest Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:25:06 2024 GMT+0.
protest/protest.asd
protest/src/package.lisp
protest/base/src/base/package.lisp
protest/base/src/base/base.lisp
protest/base/src/base/protocol-error.lisp
protest/protocol/src/protocol/package.lisp
protest/protocol/src/protocol/elements.lisp
protest/protocol/src/protocol/elements/function.lisp
protest/protocol/src/protocol/elements/macro.lisp
protest/protocol/src/protocol/elements/class.lisp
protest/protocol/src/protocol/elements/condition-type.lisp
protest/protocol/src/protocol/elements/variable.lisp
protest/protocol/src/protocol/elements/category.lisp
protest/protocol/src/protocol/elements/config.lisp
protest/protocol/src/protocol/definition.lisp
protest/protocol/src/protocol/validation.lisp
protest/protocol/src/protocol/macro.lisp
protest/ftype/src/ftype/package.lisp
protest/ftype/src/ftype/ftype.lisp
protest/test-case/src/test-case/package.lisp
protest/test-case/src/test-case/test-step.lisp
protest/test-case/src/test-case/test-case.lisp
The main system appears first, followed by any subsystem dependency.
protest
Common Lisp PROtocol and TESTcase Manager
Michał "phoe" Herda <phoe@disroot.org>
LLGPL
protest/base
(system).
protest/protocol
(system).
protest/test-case
(system).
src/package.lisp
(file).
protest/base
Base macros and utilities for PROTEST
Michał "phoe" Herda <phoe@disroot.org>
LLGPL
alexandria
(system).
closer-mop
(system).
trivial-garbage
(system).
src/base/package.lisp
(file).
src/base/base.lisp
(file).
src/base/protocol-error.lisp
(file).
protest/protocol
Protocol defining utilities for PROTEST
Michał "phoe" Herda <phoe@disroot.org>
LLGPL
alexandria
(system).
closer-mop
(system).
moptilities
(system).
protest/base
(system).
protest/ftype
(system).
src/protocol/package.lisp
(file).
src/protocol/elements.lisp
(file).
src/protocol/elements/function.lisp
(file).
src/protocol/elements/macro.lisp
(file).
src/protocol/elements/class.lisp
(file).
src/protocol/elements/condition-type.lisp
(file).
src/protocol/elements/variable.lisp
(file).
src/protocol/elements/category.lisp
(file).
src/protocol/elements/config.lisp
(file).
src/protocol/definition.lisp
(file).
src/protocol/validation.lisp
(file).
src/protocol/macro.lisp
(file).
protest/ftype
FTYPE generation for PROTEST
Michał "phoe" Herda <phoe@disroot.org>
LLGPL
alexandria
(system).
src/ftype/package.lisp
(file).
src/ftype/ftype.lisp
(file).
protest/test-case
Test case defining utilities for PROTEST
Michał "phoe" Herda <phoe@disroot.org>
LLGPL
alexandria
(system).
protest/base
(system).
src/test-case/package.lisp
(file).
src/test-case/test-step.lisp
(file).
src/test-case/test-case.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
protest/protest.asd
protest/src/package.lisp
protest/base/src/base/package.lisp
protest/base/src/base/base.lisp
protest/base/src/base/protocol-error.lisp
protest/protocol/src/protocol/package.lisp
protest/protocol/src/protocol/elements.lisp
protest/protocol/src/protocol/elements/function.lisp
protest/protocol/src/protocol/elements/macro.lisp
protest/protocol/src/protocol/elements/class.lisp
protest/protocol/src/protocol/elements/condition-type.lisp
protest/protocol/src/protocol/elements/variable.lisp
protest/protocol/src/protocol/elements/category.lisp
protest/protocol/src/protocol/elements/config.lisp
protest/protocol/src/protocol/definition.lisp
protest/protocol/src/protocol/validation.lisp
protest/protocol/src/protocol/macro.lisp
protest/ftype/src/ftype/package.lisp
protest/ftype/src/ftype/ftype.lisp
protest/test-case/src/test-case/package.lisp
protest/test-case/src/test-case/test-step.lisp
protest/test-case/src/test-case/test-case.lisp
protest/base/src/base/base.lisp
src/base/package.lisp
(file).
protest/base
(system).
define-protocol-class
(macro).
define-protocol-condition-type
(macro).
protocol-object-p
(function).
remove-protocol-object
(generic function).
*protocol-objects*
(special variable).
define-protocol-object
(macro).
protest/base/src/base/protocol-error.lisp
src/base/base.lisp
(file).
protest/base
(system).
initialize-instance
(method).
protocol-error
(function).
protocol-error
(condition).
protocol-object-instantiation
(condition).
protocol-object-instantiation-symbol
(reader method).
protocol-object-instantiation-type
(reader method).
simple-protocol-error
(condition).
protest/protocol/src/protocol/package.lisp
protest/protocol
(system).
protest/protocol/src/protocol/elements.lisp
src/protocol/package.lisp
(file).
protest/protocol
(system).
canonical-name
(generic function).
docstring
(reader method).
(setf docstring)
(writer method).
generate-code
(generic function).
generate-element
(function).
generate-element-using-class
(generic function).
generate-forms
(generic function).
initialize-instance
(method).
initialize-instance
(method).
initialize-instance
(method).
keyword-element-class
(generic function).
make-load-form
(method).
name
(generic reader).
print-object
(method).
protocol-data-type
(class).
protocol-element
(class).
protocol-element-boundp
(generic function).
protocol-element-makunbound
(generic function).
protocol-operation
(class).
remove-protocol-element
(generic function).
protest/protocol/src/protocol/elements/function.lisp
src/protocol/elements.lisp
(file).
protest/protocol
(system).
declaim-type-p
(reader method).
(setf declaim-type-p)
(writer method).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
keyword-element-class
(method).
keyword-types
(reader method).
(setf keyword-types)
(writer method).
lambda-list
(reader method).
name
(reader method).
protocol-function
(class).
remove-protocol-element
(method).
return-type
(reader method).
(setf return-type)
(writer method).
defgeneric?
(macro).
protest/protocol/src/protocol/elements/macro.lisp
protest/protocol
(system).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
keyword-element-class
(method).
lambda-list
(reader method).
name
(reader method).
protocol-macro
(class).
embed-documentation
(method).
protest/protocol/src/protocol/elements/class.lisp
src/protocol/elements/macro.lisp
(file).
protest/protocol
(system).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
keyword-element-class
(method).
name
(reader method).
options
(reader method).
(setf options)
(writer method).
protocol-class
(class).
remove-protocol-element
(method).
slots
(reader method).
(setf slots)
(writer method).
superclasses
(reader method).
(setf superclasses)
(writer method).
protest/protocol/src/protocol/elements/condition-type.lisp
src/protocol/elements/class.lisp
(file).
protest/protocol
(system).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
keyword-element-class
(method).
name
(reader method).
(setf name)
(writer method).
options
(reader method).
(setf options)
(writer method).
protocol-condition-type
(class).
remove-protocol-element
(method).
slots
(reader method).
(setf slots)
(writer method).
supertypes
(reader method).
(setf supertypes)
(writer method).
protest/protocol/src/protocol/elements/variable.lisp
protest/protocol
(system).
declaim-type-p
(reader method).
(setf declaim-type-p)
(writer method).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
initial-value
(reader method).
(setf initial-value)
(writer method).
keyword-element-class
(method).
name
(reader method).
protocol-element-boundp
(method).
protocol-element-makunbound
(method).
protocol-variable
(class).
remove-protocol-element
(method).
value-type
(reader method).
(setf value-type)
(writer method).
embed-documentation
(method).
protest/protocol/src/protocol/elements/category.lisp
protest/protocol
(system).
*category-callback*
(special variable).
canonical-name
(method).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
keyword-element-class
(method).
name
(reader method).
(setf name)
(writer method).
protocol-category
(class).
remove-protocol-element
(method).
*category-documentation-store*
(special variable).
protest/protocol/src/protocol/elements/config.lisp
protest/protocol
(system).
*config-callback*
(special variable).
canonical-name
(method).
generate-code
(method).
generate-element-using-class
(method).
generate-forms
(method).
initial-value
(reader method).
(setf initial-value)
(writer method).
keyword-element-class
(method).
mandatoryp
(reader method).
(setf mandatoryp)
(writer method).
name
(reader method).
(setf name)
(writer method).
protocol-config
(class).
protocol-element-boundp
(method).
protocol-element-makunbound
(method).
remove-protocol-element
(method).
value-type
(reader method).
(setf value-type)
(writer method).
*config-documentation-store*
(special variable).
protest/protocol/src/protocol/definition.lisp
protest/protocol
(system).
*protocols*
(special variable).
attachments
(reader method).
(setf attachments)
(writer method).
bindings
(reader method).
(setf bindings)
(writer method).
compute-effective-protocol-elements
(function).
dependencies
(reader method).
(setf documentation)
(method).
documentation
(method).
elements
(reader method).
(setf elements)
(writer method).
exports
(reader method).
(setf exports)
(writer method).
find-protocol
(function).
(setf find-protocol)
(function).
generate-code
(method).
initialize-instance
(method).
make-load-form
(method).
name
(reader method).
print-object
(method).
protocol
(class).
remove-protocol
(generic function).
tags
(reader method).
(setf tags)
(writer method).
validate-implementations
(generic function).
whole
(reader method).
(setf whole)
(writer method).
*protocol-documentation-store*
(special variable).
*protocol-validation-error-report*
(special variable).
*undefined-protocol-function-report*
(special variable).
compute-exports
(function).
concrete-subclasses
(function).
find-valid-method
(function).
generate-elements
(function).
protocol-effective-dependencies
(function).
protocol-function-specializers
(function).
protocol-superclasses
(function).
protocol-validation-error
(condition).
protocol-validation-error-class
(reader method).
protocol-validation-error-function
(reader method).
protocol-validation-error-position
(reader method).
protocol-validation-error-report
(function).
protocol-validation-error-subclass
(reader method).
replace-one
(function).
retain-duplicates
(function).
undefined-protocol-function
(condition).
undefined-protocol-function-report
(function).
validate-function
(function).
protest/protocol/src/protocol/validation.lisp
src/protocol/definition.lisp
(file).
protest/protocol
(system).
canonicalize-name
(function).
check-dependencies-not-circular
(function).
check-dependencies-valid
(function).
check-duplicate-effective-elements
(function).
check-duplicate-element-forms
(function).
check-exports
(function).
validate-all-protocols
(function).
validate-protocol
(function).
protest/protocol/src/protocol/macro.lisp
src/protocol/validation.lisp
(file).
protest/protocol
(system).
define-protocol
(macro).
execute-protocol
(macro).
remove-protocol-element
(method).
ensure-protocol
(function).
protest/ftype/src/ftype/package.lisp
protest/ftype
(system).
protest/ftype/src/ftype/ftype.lisp
src/ftype/package.lisp
(file).
protest/ftype
(system).
function-ftype-declaration-form
(function).
lambda-list-argument-types
(function).
protest/test-case/src/test-case/package.lisp
protest/test-case
(system).
protest/test-case/src/test-case/test-step.lisp
src/test-case/package.lisp
(file).
protest/test-case
(system).
description
(reader method).
id
(reader method).
initialize-instance
(method).
make-load-form
(method).
print-object
(method).
test-phase
(reader method).
test-step
(class).
protest/test-case/src/test-case/test-case.lisp
src/test-case/test-step.lisp
(file).
protest/test-case
(system).
attachments
(reader method).
(setf attachments)
(writer method).
define-test-case
(macro).
(setf documentation)
(method).
documentation
(method).
find-test-case
(function).
(setf find-test-case)
(function).
initialize-instance
(method).
make-load-form
(method).
name
(reader method).
package-of
(reader method).
print-object
(method).
steps
(reader method).
(setf steps)
(writer method).
steps-list
(method).
tags
(reader method).
(setf tags)
(writer method).
test-case
(class).
whole
(reader method).
(setf whole)
(writer method).
*test-case-documentation-store*
(special variable).
*test-cases*
(special variable).
*warn-on-test-case-redefinition-p*
(special variable).
check-duplicate-ids
(function).
check-duplicate-test-phases
(function).
check-id-order
(function).
ensure-test-case
(function).
generate-steps
(function).
validate-test-case
(function).
Packages are listed by definition order.
protest/ftype
alexandria
.
common-lisp
.
function-ftype-declaration-form
(function).
lambda-list-argument-types
(function).
protest/base
alexandria
.
closer-mop
.
common-lisp
.
define-protocol-class
(macro).
define-protocol-condition-type
(macro).
protocol-error
(function).
protocol-error
(condition).
protocol-object-instantiation
(condition).
protocol-object-instantiation-symbol
(generic reader).
protocol-object-instantiation-type
(generic reader).
protocol-object-p
(function).
remove-protocol-object
(generic function).
simple-protocol-error
(condition).
*protocol-objects*
(special variable).
define-protocol-object
(macro).
protest/common
This package exports symbols common across all PROTEST packages to avoid conflicts between individual PROTEST packages.
attachments
(generic reader).
(setf attachments)
(generic writer).
name
(generic reader).
(setf name)
(generic writer).
tags
(generic reader).
(setf tags)
(generic writer).
whole
(generic reader).
(setf whole)
(generic writer).
protest/protocol
alexandria
.
closer-mop
.
common-lisp
.
protest/base
.
protest/common
.
protest/ftype
.
*category-callback*
(special variable).
*config-callback*
(special variable).
*protocols*
(special variable).
bindings
(generic reader).
(setf bindings)
(generic writer).
canonical-name
(generic function).
compute-effective-protocol-elements
(function).
declaim-type-p
(generic reader).
(setf declaim-type-p)
(generic writer).
define-protocol
(macro).
dependencies
(generic reader).
docstring
(generic reader).
(setf docstring)
(generic writer).
elements
(generic reader).
(setf elements)
(generic writer).
execute-protocol
(macro).
exports
(generic reader).
(setf exports)
(generic writer).
find-protocol
(function).
(setf find-protocol)
(function).
generate-code
(generic function).
generate-element
(function).
generate-element-using-class
(generic function).
generate-forms
(generic function).
initial-value
(generic reader).
(setf initial-value)
(generic writer).
keyword-element-class
(generic function).
keyword-types
(generic reader).
(setf keyword-types)
(generic writer).
lambda-list
(generic reader).
mandatoryp
(generic reader).
(setf mandatoryp)
(generic writer).
options
(generic reader).
(setf options)
(generic writer).
protocol
(class).
protocol-category
(class).
protocol-class
(class).
protocol-condition-type
(class).
protocol-config
(class).
protocol-data-type
(class).
protocol-element
(class).
protocol-element-boundp
(generic function).
protocol-element-makunbound
(generic function).
protocol-function
(class).
protocol-macro
(class).
protocol-operation
(class).
protocol-variable
(class).
remove-protocol
(generic function).
remove-protocol-element
(generic function).
return-type
(generic reader).
(setf return-type)
(generic writer).
slots
(generic reader).
(setf slots)
(generic writer).
superclasses
(generic reader).
(setf superclasses)
(generic writer).
supertypes
(generic reader).
(setf supertypes)
(generic writer).
validate-implementations
(generic function).
value-type
(generic reader).
(setf value-type)
(generic writer).
*category-documentation-store*
(special variable).
*config-documentation-store*
(special variable).
*protocol-documentation-store*
(special variable).
*protocol-validation-error-report*
(special variable).
*undefined-protocol-function-report*
(special variable).
canonicalize-name
(function).
check-dependencies-not-circular
(function).
check-dependencies-valid
(function).
check-duplicate-effective-elements
(function).
check-duplicate-element-forms
(function).
check-exports
(function).
compute-exports
(function).
concrete-subclasses
(function).
defgeneric?
(macro).
embed-documentation
(generic function).
ensure-protocol
(function).
find-valid-method
(function).
generate-elements
(function).
protocol-effective-dependencies
(function).
protocol-function-specializers
(function).
protocol-superclasses
(function).
protocol-validation-error
(condition).
protocol-validation-error-class
(generic reader).
protocol-validation-error-function
(generic reader).
protocol-validation-error-position
(generic reader).
protocol-validation-error-report
(function).
protocol-validation-error-subclass
(generic reader).
replace-one
(function).
retain-duplicates
(function).
undefined-protocol-function
(condition).
undefined-protocol-function-report
(function).
validate-all-protocols
(function).
validate-function
(function).
validate-protocol
(function).
protest/test-case
alexandria
.
common-lisp
.
protest/base
.
protest/common
.
define-test-case
(macro).
description
(generic reader).
find-test-case
(function).
(setf find-test-case)
(function).
id
(generic reader).
package-of
(generic reader).
steps
(generic reader).
(setf steps)
(generic writer).
steps-list
(generic function).
test-case
(class).
test-phase
(generic reader).
test-step
(class).
*test-case-documentation-store*
(special variable).
*test-cases*
(special variable).
*warn-on-test-case-redefinition-p*
(special variable).
check-duplicate-ids
(function).
check-duplicate-test-phases
(function).
check-id-order
(function).
ensure-test-case
(function).
generate-steps
(function).
validate-test-case
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A function of one argument used as a callback for declaring categories. The only argument is the category name.
A function of two arguments used as a callback for declaring configuration values. The first argument is the configuration entry name, the second is the type that the value of the configuration entry is allowed to take, the third is a boolean stating if the configuration entry is mandatory to be set, and the fourth is the initial value that was passed in the protocol. If no optional value was provided, this argument is not passed.
A hash-table mapping from protocol names to protocol objects.
Defines the protocol with the provided NAME and OPTIONS, instantiating all its elements based on FORMS.
Like DEFCLASS, but the defined class may not be instantiated directly.
Like DEFINE-CONDITION, but the defined class may not be instantiated directly.
Executes all the side effects of the protocol with the provided NAME.
Returns a fresh list of all protocol elements that occur inside the provided protocol and all of its dependencies, including transitive ones.
Returns the protocol with the provided name.
Sets the protocol with the provided name.
Returns the test case with the provided name from the provided package.
Sets the test case with the provided name with the provided package.
Given a lambda list annotated with types and a function result type, produces a form suitable for usage inside FTYPE declarations.
Given the keyword representing the element type and the rest of that element’s list representation, attempts to generate and return a matching protocol element. Signals PROTOCOL-ERROR if the generation fails. The argument DECLAIM-TYPE-P states if the types of functions and variables should be declaimed; it may be ignored by the method.
Returns true if CLASS is a protocol class or a protocol condition type, and false otherwise.
Returns the canonical name of the protocol element.
If a protocol element has a name that is a list, a canonical name of that element is a copy of that element’s name, in which non-keyword symbols have been replaced by NIL. Otherwise, the canonical name is the name of the element.
protocol-config
)) ¶protocol-category
)) ¶protocol-element
)) ¶protocol-variable
)) ¶automatically generated reader method
protocol-function
)) ¶automatically generated reader method
protocol-variable
)) ¶automatically generated writer method
protocol-function
)) ¶automatically generated writer method
protocol-element
)) ¶automatically generated reader method
protocol-element
)) ¶automatically generated writer method
Generates a fresh list of forms that is suitable to be NCONCed with other forms to generate the Lisp code that is meant to come into effect when the protocol is defined.
protocol-config
)) ¶protocol-category
)) ¶protocol-variable
)) ¶protocol-condition-type
)) ¶protocol-class
)) ¶protocol-macro
)) ¶protocol-function
)) ¶Given the concrete class of the element type and the list representing that element’s list representation, attempts to generate and return a matching protocol element. Signals PROTOCOL-ERROR if the generation fails. The argument DECLAIM-TYPE-P states if the types of functions and variables should be declaimed; it may be ignored by the method.
(eql #<standard-class protest/protocol:protocol-config>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-category>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-variable>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-condition-type>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-class>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-macro>)
) details &optional declaim-type-p) ¶(eql #<standard-class protest/protocol:protocol-function>)
) details &optional declaim-type-p) ¶Generates a fresh list of forms that is suitable to be NCONCed with other forms to generate a protocol body.
protocol-config
)) ¶protocol-category
)) ¶protocol-variable
)) ¶protocol-condition-type
)) ¶protocol-class
)) ¶protocol-macro
)) ¶protocol-function
)) ¶protocol-config
)) ¶automatically generated reader method
protocol-variable
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated writer method
protocol-variable
)) ¶automatically generated writer method
Given the keyword representing the element type, returns the class object representing the concrete element type.
(eql :config)
)) ¶(eql :category)
)) ¶(eql :variable)
)) ¶(eql :condition-type)
)) ¶(eql :class)
)) ¶(eql :macro)
)) ¶(eql :function)
)) ¶protocol-function
)) ¶automatically generated reader method
protocol-function
)) ¶automatically generated writer method
protocol-macro
)) ¶automatically generated reader method
protocol-function
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated writer method
Returns the name of the protocol element. The name might be a symbol or a list of symbols.
test-case
)) ¶automatically generated reader method
protocol
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated reader method
protocol-category
)) ¶automatically generated reader method
protocol-variable
)) ¶automatically generated reader method
protocol-condition-type
)) ¶automatically generated reader method
protocol-class
)) ¶automatically generated reader method
protocol-macro
)) ¶automatically generated reader method
protocol-function
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated writer method
protocol-category
)) ¶automatically generated writer method
protocol-condition-type
)) ¶automatically generated writer method
protocol-condition-type
)) ¶automatically generated reader method
protocol-class
)) ¶automatically generated reader method
protocol-condition-type
)) ¶automatically generated writer method
protocol-class
)) ¶automatically generated writer method
Checks if the initial value of the protocol element is bound.
If the protocol element contains an initial value and that value is bound,
this function returns (VALUES T T).
If the protocol element contains an initial value and that value is unbound,
this function returns (VALUES NIL T).
If the protocol element does not contain an initial value, this function returns
(VALUES NIL NIL).
protocol-config
)) ¶protocol-variable
)) ¶protocol-element
)) ¶Attempts to unbind the initial value of the protocol element.
If the protocol element contains an initial value and that value is bound,
this function unbinds that value. Otherwise, it does nothing.
In any case, the protocol element is returned.
protocol-config
)) ¶protocol-variable
)) ¶protocol-element
)) ¶protocol-object-instantiation
)) ¶protocol-object-instantiation
)) ¶type
.
Removes the provided protocol and all the effects of its elements from the Lisp image.
symbol
)) ¶Removes the effects of the provided protocol element from the
Lisp image.
This function does nothing unless the protocol associated with this element has been executed.
protocol-macro
)) ¶protocol-config
)) ¶protocol-category
)) ¶protocol-variable
)) ¶protocol-condition-type
)) ¶protocol-class
)) ¶protocol-function
)) ¶protocol-element
)) ¶Removes the provided protocol object from the Lisp image.
protocol-function
)) ¶automatically generated reader method
protocol-function
)) ¶automatically generated writer method
protocol-condition-type
)) ¶automatically generated reader method
protocol-class
)) ¶automatically generated reader method
protocol-condition-type
)) ¶automatically generated writer method
protocol-class
)) ¶automatically generated writer method
protocol-class
)) ¶automatically generated reader method
protocol-class
)) ¶automatically generated writer method
protocol-condition-type
)) ¶automatically generated reader method
protocol-condition-type
)) ¶automatically generated writer method
Checks if all subclasses of protocol classes defined
in the protocol have appropriate methods defined on protocol functions defined
in the protocol. Returns a list of validation errors if the check fails or if
any protocol function is undefined. Each entry in the list follows the pattern:
* (:missing-method FUNCTION POSITION PROTOCOL-CLASS CONCRETE-CLASS): There is no
method defined on the protocol function that accepts the concrete class as its
POSITIONth argument on the given position, but that class is a subtype of
protocol class that is the declared protocol specializer of that argument.
If ERRORP is true, a condition of type PROTOCOL-VALIDATION-ERROR is instead
signaled.
* (:undefined-function FUNCTION-NAME): The protocol function with this name is
undefined. The protocol might not have been executed. If ERRORP is true, a
condition of type UNDEFINED-PROTOCOL-FUNCTION is instead signaled.
* (:success FUNCTION POSITION PROTOCOL-CLASS CONCRETE-CLASS SPECIALIZER):
Denotes that the function has a method specialized on the specializer on
POSITIONth position and that specializer is a proper subtype of the concrete
class. (In other words, there is a method defined on that class.)
This entry is only collected if the SUCCESSP argument is true.
protocol-config
)) ¶automatically generated reader method
protocol-variable
)) ¶automatically generated reader method
protocol-config
)) ¶automatically generated writer method
protocol-variable
)) ¶automatically generated writer method
protocol-error
) &key) ¶protocol-operation
) &key) ¶protocol-data-type
) &key) ¶protocol
) &key name dependencies export declaim-types-p documentation) ¶protocol-element
) &key) ¶protocol-element
) &optional environment) ¶protocol-element
) stream) ¶The parent condition type for all protocol errors.
This condition type is a protocol condition type and must not be instantiated directly.
error
.
protocol-error
.
simple-condition
.
Describes a protocol understood as a relation between data types and operations on these types.
(setf attachments)
.
attachments
.
(setf bindings)
.
bindings
.
dependencies
.
(setf documentation)
.
documentation
.
(setf elements)
.
elements
.
(setf exports)
.
exports
.
generate-code
.
initialize-instance
.
make-load-form
.
name
.
print-object
.
remove-protocol
.
(setf tags)
.
tags
.
validate-implementations
.
(setf whole)
.
whole
.
(error "must provide name.")
:name
name
.
This slot is read-only.
:whole
(quote nil)
:attachments
(quote nil)
This slot is read-only.
(quote nil)
:exports
(quote nil)
:bindings
(quote nil)
:elements
Describes a protocol configuration category that is a part of a protocol.
The form for a protocol configuration category consits of the following
subforms:
* NAME - mandatory, must be a list of keywords and symbols. Denotes the name of
the configuration category. The canonical names (with non-keyword symbols
replaced by NIL) of configuration entries and configuration categories must
not collide with each other.
Describes a protocol class that is a part of a protocol.
The form for a protocol class consists of the following subforms:
* NAME - mandatory, must be a symbol. Denotes the name of the class.
* SUPERCLASSES - mandatory, must be a list of symbols. Denotes the superclasses
of the class.
* SLOTS - mandatory, must be a list of slot definitions. Denotes the slots of
the class. It is discouraged to create slots in protocol classes; client code
should instead create slots in concrete classes which subclass the protocol
classes.
* OPTIONS - optional, is the tail of the list. Denotes the options that will
be passed to DEFCLASS.
(error "must provide name.")
:name
name
.
This slot is read-only.
(quote nil)
:superclasses
(quote nil)
:slots
(quote nil)
:options
Describes a protocol condition type that is a part of a protocol.
The form for a protocol condition type consists of the following subforms:
* NAME - mandatory, must be a symbol. Denotes the name of the condition type.
* SUPERTYPES - mandatory, must be a list of symbols. Denotes the supertypes
of the condition type.
* SLOTS - mandatory, must be a list of slot definitions. Denotes the slots of
the condition type. It is discouraged to create slots in protocol condition
types; client code should instead create slots in concrete types which
subtype the protocol condition types.
* OPTIONS - optional, is the tail of the list. Denotes the options that will
be passed to DEFINE-CONDITION.
(quote nil)
:supertypes
(quote nil)
:slots
(quote nil)
:options
Describes a protocol configuration entry that is a part of a protocol.
The form for a protocol configuration entry consists of the following subforms:
* NAME - mandatory, must be a list of keywords and symbols. Denotes the name of
the configuration entry. The canonical names (with non-keyword symbols
replaced by NIL) of configuration entries and configuration categories must
not collide with each other.
* VALUE-TYPE - optional, must be a valid type specifier. Denotes the type of the
value bound to the configuration entry. If not specified, the configuration
type will default to T.
* MANDATORYP - optional, must be of type (MEMBER :MANDATORY :OPTIONAL). States
if the configuration entry must have a value set in the configuration before
any client code may be executed. If not provided, defaults to :OPTIONAL.
* INITIAL-VALUE - optional. Denotes the default value that the configuration
entry will be bound to at the moment of executing the protocol. If not passed,
the value will not be bound.
t
:type
:mandatoryp
:initial-value
An data type belgonging to a protocol.
This class is a protocol class and must not be instantiated directly.
An element of a protocol.
This class is a protocol class and must not be instantiated directly.
:docstring
Describes a generic function that is a part of a protocol.
The form for a protocol function consists of the following subforms:
* NAME - mandatory, must be a symbol or a (SETF symbol) form. Denotes the name
of the function.
* LAMBDA-LIST - mandatory, must be a valid lambda list.
* RETURN-TYPE - optional, must be a valid return type for a function. If not
specified, defaults to the symbol CL:*.
* KEYWORD-TYPES - optional, must be a valid plist containing some or all of the
&KEY arguments used in LAMBDA-LIST along with their respective types.
(error "must provide name.")
:name
name
.
This slot is read-only.
(error "must provide lambda-list.")
:lambda-list
This slot is read-only.
(quote *)
:return-type
(quote nil)
:keyword-types
t
Describes a protocol macro that is a part of a protocol.
The form of a protocol macro consists of the following subforms: * NAME - mandatory, must be a symbol. Denotes the name of the macro. * LAMBDA-LIST - mandatory, must be a valid macro lambda list.
(error "must provide name.")
:name
name
.
This slot is read-only.
(error "must provide lambda-list.")
:lambda-list
This slot is read-only.
An operation belgonging to a protocol.
This class is a protocol class and must not be instantiated directly.
Describes a protocol variable that is a part of a protocol.
The form for a protocol variable consists of the following subforms:
* NAME - mandatory, must be a symbol. Denotes the name of the variable.
* VALUE-TYPE - optional, must be a valid type specifier. Denotes the type of
the value bound to the variable. If not passed, the variable type will not be
declaimed.
* INITIAL-VALUE - optional. Denotes the default value that the variable will be
bound to at the moment of executing the protocol. If not passed, the variable
will be unbound.
(error "must provide name.")
:name
name
.
This slot is read-only.
t
:value-type
:initial-value
t
Describes a test case understood as a series of test phases and test steps describing each part of the test.
(error "must provide name.")
:name
name
.
This slot is read-only.
*package*
:package
This slot is read-only.
:whole
(quote nil)
:attachments
(make-hash-table)
:steps
A mapping from test case names to test cases.
If true, then test case redefinitions will signal warnings.
protocol-variable
) (string string
)) ¶protocol-macro
) (string string
)) ¶protocol-validation-error
)) ¶protocol-validation-error
)) ¶protocol-validation-error
)) ¶protocol-validation-error
)) ¶common-lisp
.
(quote (alexandria:required-argument :function))
:function
This slot is read-only.
(quote (alexandria:required-argument :subclass))
:subclass
This slot is read-only.
common-lisp
.
(quote (alexandria:required-argument :class))
:class
This slot is read-only.
common-lisp
.
(quote (alexandria:required-argument :position))
:position
This slot is read-only.
protocol-error
.
undefined-function
.
Jump to: | (
A B C D E F G I K L M N O P R S T U V W |
---|
Jump to: | (
A B C D E F G I K L M N O P R S T U V W |
---|
Jump to: | %
*
C F P S T |
---|
Jump to: | %
*
C F P S T |
---|
Jump to: | C F P S T U |
---|
Jump to: | C F P S T U |
---|