@noArgsFlattening
@typed_pos_args('environment', optargs=[(str, list, dict)])
@typed_kwargs('environment', ENV_METHOD_KW, ENV_SEPARATOR_KW.evolve(since='0.62.0'))
def func_environment(self, node: mparser.FunctionNode, args: T.Tuple[T.Union[(None, str, T.List['TYPE_var'], T.Dict[(str, 'TYPE_var')])]], kwargs: 'TYPE_kwargs') -> build.EnvironmentVariables:
    init = args[0]
    if (init is not None):
        FeatureNew.single_use('environment positional arguments', '0.52.0', self.subproject, location=node)
        msg = ENV_KW.validator(init)
        if msg:
            raise InvalidArguments(f'"environment": {msg}')
        if (isinstance(init, dict) and any((i for i in init.values() if isinstance(i, list)))):
            FeatureNew.single_use('List of string in dictionary value', '0.62.0', self.subproject, location=node)
        return env_convertor_with_method(init, kwargs['method'], kwargs['separator'])
    return build.EnvironmentVariables()
@noArgsFlattening
@typed_pos_args('environment', optargs=[(str, list, dict)])
@typed_kwargs('environment', ENV_METHOD_KW, ENV_SEPARATOR_KW.evolve(since='0.62.0'))
def func_environment(self, node: mparser.FunctionNode, args: T.Tuple[T.Union[(None, str, T.List['TYPE_var'], T.Dict[(str, 'TYPE_var')])]], kwargs: 'TYPE_kwargs') -> build.EnvironmentVariables:
    init = args[0]
    if (init is not None):
        FeatureNew.single_use('environment positional arguments', '0.52.0', self.subproject, location=node)
        msg = ENV_KW.validator(init)
        if msg:
            raise InvalidArguments(f'"environment": {msg}')
        if (isinstance(init, dict) and any((i for i in init.values() if isinstance(i, list)))):
            FeatureNew.single_use('List of string in dictionary value', '0.62.0', self.subproject, location=node)
        return env_convertor_with_method(init, kwargs['method'], kwargs['separator'])
    return build.EnvironmentVariables()