Skip to content

Commit c4dfc8b

Browse files
committed
Use new style decorators for getters and setters
1 parent 18bb425 commit c4dfc8b

File tree

2 files changed

+93
-90
lines changed

2 files changed

+93
-90
lines changed

pygccxml/declarations/cpptypes.py

Lines changed: 68 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -63,25 +63,22 @@ def clone(self):
6363
answer = self._clone_impl()
6464
return answer
6565

66-
def _get_byte_size(self):
66+
@property
67+
def byte_size(self):
68+
"Size of this type in bytes @type: int"
6769
return self._byte_size
6870

69-
def _set_byte_size(self, new_byte_size):
71+
@byte_size.setter
72+
def byte_size(self, new_byte_size):
7073
self._byte_size = new_byte_size
71-
byte_size = property(
72-
_get_byte_size,
73-
_set_byte_size,
74-
doc="Size of this type in bytes @type: int")
7574

76-
def _get_byte_align(self):
75+
def byte_align(self):
76+
"Alignment of this type in bytes @type: int"
7777
return self._byte_align
7878

79-
def _set_byte_align(self, new_byte_align):
79+
@byte_align.setter
80+
def byte_align(self, new_byte_align):
8081
self._byte_align = new_byte_align
81-
byte_align = property(
82-
_get_byte_align,
83-
_set_byte_align,
84-
doc="Alignment of this type in bytes @type: int")
8582

8683

8784
# There are cases when GCC-XML reports something like this
@@ -492,17 +489,15 @@ def __init__(self, base):
492489
type_t.__init__(self)
493490
self._base = base
494491

495-
def _get_base(self):
492+
@property
493+
def base(self):
494+
"reference to internal/base class"
496495
return self._base
497496

498-
def _set_base(self, new_base):
497+
@base.setter
498+
def base(self, new_base):
499499
self._base = new_base
500500

501-
base = property(
502-
_get_base,
503-
_set_base,
504-
doc="reference to internal/base class")
505-
506501

507502
class volatile_t(compound_t):
508503

@@ -593,15 +588,16 @@ def __init__(self, base, size):
593588
compound_t.__init__(self, base)
594589
self._size = size
595590

596-
def _get_size(self):
591+
@property
592+
def size(self):
593+
"returns array size"
597594
return self._size
598595

599-
# sometimes there is a need to update the size of the array
600-
def _set_size(self, size):
596+
@size.setter
597+
def size(self, size):
598+
"""sometimes there is a need to update the size of the array"""
601599
self.cache.reset()
602600
self._size = size
603-
size = property(_get_size, _set_size,
604-
doc="returns array size")
605601

606602
def build_decl_string(self, with_defaults=True):
607603
# return self.base.build_decl_string(with_defaults) + '[%d]' %
@@ -639,25 +635,23 @@ def __init__(self, return_type=None, arguments_types=None):
639635
arguments_types = []
640636
self._arguments_types = arguments_types
641637

642-
def _get_return_type(self):
638+
@property
639+
def return_type(self):
640+
"""reference to :class:`return type <type_t>`"""
643641
return self._return_type
644642

645-
def _set_return_type(self, new_return_type):
643+
@return_type.setter
644+
def return_type(self, new_return_type):
646645
self._return_type = new_return_type
647-
return_type = property(
648-
_get_return_type,
649-
_set_return_type,
650-
doc="reference to :class:`return type <type_t>`")
651646

652-
def _get_arguments_types(self):
647+
@property
648+
def arguments_types(self):
649+
"""list of argument :class:`types <type_t>`"""
653650
return self._arguments_types
654651

655-
def _set_arguments_types(self, new_arguments_types):
652+
@arguments_types.setter
653+
def arguments_types(self, new_arguments_types):
656654
self._arguments_types = new_arguments_types
657-
arguments_types = property(
658-
_get_arguments_types,
659-
_set_arguments_types,
660-
doc="list of argument :class:`types <type_t>`")
661655

662656
@property
663657
def has_ellipsis(self):
@@ -720,10 +714,7 @@ def create_typedef(self, typedef_name, unused=None, with_defaults=True):
720714
return free_function_type_t.TYPEDEF_NAME_TEMPLATE % {
721715
'typedef_name': typedef_name,
722716
'return_type': self.return_type.build_decl_string(with_defaults),
723-
'arguments': ','.join(
724-
map(
725-
f,
726-
self.arguments_types))}
717+
'arguments': ','.join(map(f, self.arguments_types))}
727718

728719

729720
class member_function_type_t(type_t, calldef_type_t):
@@ -746,25 +737,23 @@ def __init__(
746737
self._has_const = has_const
747738
self._class_inst = class_inst
748739

749-
def _get_has_const(self):
740+
@property
741+
def has_const(self):
742+
"""describes, whether function has const modifier"""
750743
return self._has_const
751744

752-
def _set_has_const(self, has_const):
745+
@has_const.setter
746+
def has_const(self, has_const):
753747
self._has_const = has_const
754-
has_const = property(
755-
_get_has_const,
756-
_set_has_const,
757-
doc="describes, whether function has const modifier")
758748

759-
def _get_class_inst(self):
749+
@property
750+
def class_inst(self):
751+
"""reference to parent :class:`class <declaration_t>`"""
760752
return self._class_inst
761753

762-
def _set_class_inst(self, class_inst):
754+
@class_inst.setter
755+
def class_inst(self, class_inst):
763756
self._class_inst = class_inst
764-
class_inst = property(
765-
_get_class_inst,
766-
_set_class_inst,
767-
doc="reference to parent :class:`class <declaration_t>`")
768757

769758
# TODO: create real typedef
770759
def create_typedef(
@@ -854,15 +843,14 @@ def __init__(self, class_inst=None, variable_type=None):
854843
compound_t.__init__(self, class_inst)
855844
self._mv_type = variable_type
856845

857-
def _get_variable_type(self):
846+
@property
847+
def variable_type(self):
848+
"""describes member variable :class:`type <type_t>`"""
858849
return self._mv_type
859850

860-
def _set_variable_type(self, new_type):
851+
@variable_type.setter
852+
def variable_type(self, new_type):
861853
self._mv_type = new_type
862-
variable_type = property(
863-
_get_variable_type,
864-
_set_variable_type,
865-
doc="describes member variable :class:`type <type_t>`")
866854

867855
def build_decl_string(self, with_defaults=True):
868856
return self.NAME_TEMPLATE % {
@@ -887,15 +875,14 @@ def __init__(self, declaration):
887875
type_t.__init__(self)
888876
self._declaration = declaration
889877

890-
def _get_declaration(self):
878+
@property
879+
def declaration(self):
880+
"reference to :class:`declaration_t`"
891881
return self._declaration
892882

893-
def _set_declaration(self, new_declaration):
883+
@declaration.setter
884+
def declaration(self, new_declaration):
894885
self._declaration = new_declaration
895-
declaration = property(
896-
_get_declaration,
897-
_set_declaration,
898-
doc="reference to :class:`declaration_t`")
899886

900887
def build_decl_string(self, with_defaults=True):
901888
if with_defaults:
@@ -943,17 +930,27 @@ def __lt__(self, other):
943930
return self.has_static < other.has_static \
944931
and self.has_mutable < other.has_mutable
945932

946-
def _get_has_static(self):
933+
@property
934+
def has_static(self):
947935
return self._has_static
948936

949-
def _set_has_static(self, has_static):
937+
@has_static.setter
938+
def has_static(self, has_static):
950939
self._has_static = has_static
951-
has_static = property(_get_has_static, _set_has_static)
952-
has_extern = has_static # synonim to static
953940

954-
def _get_has_mutable(self):
941+
@property
942+
def has_extern(self):
943+
"""synonym to static"""
944+
return self.has_static
945+
946+
@has_extern.setter
947+
def has_extern(self, has_extern):
948+
self.has_static = has_extern
949+
950+
@property
951+
def has_mutable(self):
955952
return self._has_mutable
956953

957-
def _set_has_mutable(self, has_mutable):
954+
@has_mutable.setter
955+
def has_mutable(self, has_mutable):
958956
self._has_mutable = has_mutable
959-
has_mutable = property(_get_has_mutable, _set_has_mutable)

pygccxml/declarations/decl_printer.py

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,47 +50,53 @@ def clone(self, increment_level=True):
5050
verbose=self.__verbose,
5151
writer=self.writer)
5252

53-
def _get_recursive(self):
53+
@property
54+
def recursive(self):
5455
return self.__recursive
5556

56-
def _set_recursive(self, recursive):
57+
@recursive.setter
58+
def recursive(self, recursive):
5759
self.__recursive = recursive
58-
recursive = property(_get_recursive, _set_recursive)
5960

60-
def _get_verbose(self):
61+
@property
62+
def verbose(self):
6163
return self.__verbose
6264

63-
def _set_verbose(self, verbose):
65+
@verbose.setter
66+
def verbose(self, verbose):
6467
self.__verbose = verbose
65-
verbose = property(_get_verbose, _set_verbose)
6668

67-
def _get_level(self):
69+
@property
70+
def level(self):
6871
return self.__level
6972

70-
def _set_level(self, lvl):
71-
self.__level = lvl
72-
level = property(_get_level, _set_level)
73+
@level.setter
74+
def level(self, level):
75+
self.__level = level
7376

74-
def _get_print_details(self):
77+
@property
78+
def print_details(self):
7579
return self.__print_details
7680

77-
def _set_print_details(self, details):
81+
@print_details.setter
82+
def print_details(self, details):
7883
self.__print_details = details
79-
print_details = property(_get_print_details, _set_print_details)
8084

81-
def _get_writer(self):
85+
@property
86+
def writer(self):
8287
return self.__writer
8388

84-
def _set_writer(self, writer):
89+
@writer.setter
90+
def writer(self, writer):
8591
self.__writer = writer
86-
writer = property(_get_writer, _set_writer)
8792

88-
def _get_inst(self):
93+
@property
94+
def instance(self):
8995
return self.__inst
9096

91-
def _set_inst(self, inst):
97+
@instance.setter
98+
def instance(self, inst):
9299
self.__inst = inst
93-
instance = property(_get_inst, _set_inst)
94100

95101
def is_builtin_decl(self, decl):
96102
if not decl.name.startswith('__builtin_'):

0 commit comments

Comments
 (0)