@noArgsFlattening
@FeatureNewKwargs('summary', '0.54.0', ['list_sep'])
@permittedKwargs({'section', 'bool_yn', 'list_sep'})
@FeatureNew('summary', '0.53.0')
def func_summary(self, node, args, kwargs):
    if (len(args) == 1):
        if (not isinstance(args[0], dict)):
            raise InterpreterException('Summary first argument must be dictionary.')
        values = args[0]
    elif (len(args) == 2):
        if (not isinstance(args[0], str)):
            raise InterpreterException('Summary first argument must be string.')
        values = {args[0]: args[1]}
    else:
        raise InterpreterException('Summary accepts at most 2 arguments.')
    section = kwargs.get('section', '')
    if (not isinstance(section, str)):
        raise InterpreterException("Summary's section keyword argument must be string.")
    self.summary_impl(section, values, kwargs)
@noArgsFlattening
@FeatureNewKwargs('summary', '0.54.0', ['list_sep'])
@permittedKwargs({'section', 'bool_yn', 'list_sep'})
@FeatureNew('summary', '0.53.0')
def func_summary(self, node, args, kwargs):
    if (len(args) == 1):
        if (not isinstance(args[0], dict)):
            raise InterpreterException('Summary first argument must be dictionary.')
        values = args[0]
    elif (len(args) == 2):
        if (not isinstance(args[0], str)):
            raise InterpreterException('Summary first argument must be string.')
        values = {args[0]: args[1]}
    else:
        raise InterpreterException('Summary accepts at most 2 arguments.')
    section = kwargs.get('section', )
    if (not isinstance(section, str)):
        raise InterpreterException("Summary's section keyword argument must be string.")
    self.summary_impl(section, values, kwargs)