def callables(self): """Return a list of Callable objects representing the combined operations and attributes for this interface""" if hasattr(self, "_callables"): return self._callables # build a list of all the Callable objects # The old backend processed all operations first # (FIXME: duplicate for the sake of easy checking) self._callables = [] for c in self._node.callables(): if isinstance(c, idlast.Operation): self._callables.append(call.operation(self, c)) for c in self._node.callables(): if isinstance(c, idlast.Attribute): self._callables = self._callables + call.read_attributes( self, c) if c.readonly(): continue self._callables = self._callables + call.write_attributes( self, c) return self._callables
def callables(self): """ Return a list of Callable objects representing the combined operations and attributes for this interface """ if self._callables is not None: return self._callables # build a list of all the Callable objects self._callables = [] for c in self._node.callables(): if isinstance(c, idlast.Operation): self._callables.append(call.operation(self, c)) else: self._callables.extend(call.read_attributes(self, c)) if not c.readonly(): self._callables.extend(call.write_attributes(self, c)) return self._callables
def callables(self): """Return a list of Callable objects representing the combined operations and attributes for this interface""" if hasattr(self, "_callables"): return self._callables # build a list of all the Callable objects # The old backend processed all operations first # (FIXME: duplicate for the sake of easy checking) self._callables = [] for c in self._node.callables(): if isinstance(c, idlast.Operation): self._callables.append(call.operation(self, c)) for c in self._node.callables(): if isinstance(c, idlast.Attribute): self._callables = self._callables + call.read_attributes(self, c) if c.readonly(): continue self._callables = self._callables + call.write_attributes(self, c) return self._callables