E_INVARG
is raised. If the programmer does not have read
permission on object, then E_PERM
is raised.
E_INVARG
is raised. If object
has no non-built-in property named prop-name, then E_PROPNF
is
raised. If the programmer does not have read (write) permission on the
property in question, then property_info()
(set_property_info()
)
raises E_PERM
. Property info has the following form:
{owner, perms [, new-name]}
where owner is an object, perms is a string containing only
characters from the set `r', `w', and `c', and new-name is
a string; new-name is never part of the value returned by
property_info()
, but it may optionally be given as part of the value
provided to set_property_info()
. This list is the kind of value
returned by property_info()
and expected as the third argument to
set_property_info()
; the latter function raises E_INVARG
if
owner is not valid, if perms contains any illegal characters, or,
when new-name is given, if prop-name is not defined directly on
object or new-name names an existing property defined on
object or any of its ancestors or descendants.
property_info()
, described above.
If object is not valid or info does not specify a valid owner and
well-formed permission bits or object or its ancestors or descendants
already defines a property named prop-name, then E_INVARG
is
raised. If the programmer does not have write permission on object or
if the owner specified by info is not the programmer and the programmer
is not a wizard, then E_PERM
is raised.
E_INVARG
is
raised. If the programmer does not have write permission on object,
then E_PERM
is raised. If object does not directly define a
property named prop-name (as opposed to inheriting one from its parent),
then E_PROPNF
is raised.
E_INVARG
is raised. If object has no non-built-in property
named prop-name, then E_PROPNF
is raised. If the programmer
does not have read (write) permission on the property in question, then
is_clear_property()
(clear_property()
) raises E_PERM
.
If a property is clear, then when the value of that property is queried the
value of the parent's property of the same name is returned. If the parent's
property is clear, then the parent's parent's value is examined, and so on.
If object is the definer of the property prop-name, as opposed to
an inheritor of the property, then clear_property()
raises
E_INVARG
.