(self, *args, **kwargs)
| 62 | self.retcheck = self.annotations.pop('return', None) |
| 63 | |
| 64 | def __call__(self, *args, **kwargs): |
| 65 | bound = self.signature.bind(*args, **kwargs) |
| 66 | |
| 67 | for name, val in self.annotations.items(): |
| 68 | val.check(bound.arguments[name]) |
| 69 | |
| 70 | result = self.func(*args, **kwargs) |
| 71 | |
| 72 | if self.retcheck: |
| 73 | self.retcheck.check(result) |
| 74 | |
| 75 | return result |
| 76 | |
| 77 | # Examples |
| 78 | if __name__ == '__main__': |