@@ -987,19 +987,22 @@ def definition_order_index(
987
987
# in which case it is not read-only
988
988
# dict(inspect.getmembers(clazz))[name]
989
989
if isinstance (obj , property ):
990
- if obj .fdel is not None or obj .fset is not None :
991
- vartype = "property"
992
- else :
993
- vartype = "ro-property"
990
+ kind = "property"
991
+ if obj .fget is not None :
992
+ kind += "/get"
993
+ if obj .fset is not None :
994
+ kind += "/set"
995
+ if obj .fdel is not None :
996
+ kind += "/del"
994
997
else :
995
- vartype = "var"
998
+ kind = "var"
996
999
self .doc [name ] = Variable (
997
1000
name , self .module ,
998
1001
docstring = (
999
1002
var_docstrings .get (name ) or
1000
1003
(inspect .isclass (obj ) or _is_descriptor (obj )) and inspect .getdoc (obj )),
1001
1004
cls = self ,
1002
- vartype = vartype ,
1005
+ kind = kind ,
1003
1006
obj = getattr (obj , 'fget' , getattr (obj , '__get__' , None )),
1004
1007
instance_var = (_is_descriptor (obj ) or
1005
1008
name in getattr (self .obj , '__slots__' , ())))
@@ -1475,10 +1478,10 @@ class Variable(Doc):
1475
1478
Representation of a variable's documentation. This includes
1476
1479
module, class, and instance variables.
1477
1480
"""
1478
- __slots__ = ('cls' , 'instance_var' , 'vartype ' )
1481
+ __slots__ = ('cls' , 'instance_var' , 'kind ' )
1479
1482
1480
1483
def __init__ (self , name , module , docstring , * ,
1481
- obj = None , cls : Class = None , instance_var = False , vartype = None ):
1484
+ obj = None , cls : Class = None , instance_var = False , kind = None ):
1482
1485
"""
1483
1486
Same as `pdoc.Doc`, except `cls` should be provided
1484
1487
as a `pdoc.Class` object when this is a class or instance
@@ -1498,9 +1501,10 @@ def __init__(self, name, module, docstring, *,
1498
1501
opposed to class variable).
1499
1502
"""
1500
1503
1501
- self .vartype = vartype
1504
+ self .kind = kind
1502
1505
"""
1503
- One of `var`, `property`, or `property(R/O)`.
1506
+ One of `var`, `property/get/set/del` with one or more of get, set, del, e.g. property/get/set for
1507
+ a property that can be read and set.
1504
1508
"""
1505
1509
1506
1510
@property
0 commit comments