# `object_property/2`

## Description

    object_property(Object, Property)

Enumerates, by backtracking, the properties associated with the defined objects. The valid properties are listed in the language grammar section on entity properties and described in the User Manual section on object properties.

## Modes and number of proofs

    object_property(?object_identifier, ?object_property) - zero_or_more

## Errors

`Object` is neither a variable nor a valid object identifier:
`type_error(object_identifier, Object)`
`Property` is neither a variable nor a callable term:
`type_error(callable, Property)`
`Property` is a callable term but not a valid object property:
`domain_error(object_property, Property)`

## Examples

    % enumerate the properties of the logtalk built-in object:
    | ?- object_property(logtalk, Property).

    Property = context_switching_calls ;
    Property = source_data ;
    Property = threaded ;
    Property = static ;
    Property = built_in ;
    ...

See also

abolish_object/1, create_object/4, current_object/1, extends_object/2-3, instantiates_class/2-3, specializes_class/2-3, complements_object/2