| 483 | """Wraps a macro function.""" |
| 484 | |
| 485 | def __init__(self, environment, func, name, arguments, |
| 486 | catch_kwargs, catch_varargs, caller, |
| 487 | default_autoescape=None): |
| 488 | self._environment = environment |
| 489 | self._func = func |
| 490 | self._argument_count = len(arguments) |
| 491 | self.name = name |
| 492 | self.arguments = arguments |
| 493 | self.catch_kwargs = catch_kwargs |
| 494 | self.catch_varargs = catch_varargs |
| 495 | self.caller = caller |
| 496 | self.explicit_caller = 'caller' in arguments |
| 497 | if default_autoescape is None: |
| 498 | default_autoescape = environment.autoescape |
| 499 | self._default_autoescape = default_autoescape |
| 500 | |
| 501 | @internalcode |
| 502 | @evalcontextfunction |