MCPcopy Create free account
hub / github.com/astral-sh/ruff / duplicate_parameter_name

Method duplicate_parameter_name

crates/ruff_python_parser/src/semantic_errors.rs:761–785  ·  view source on GitHub ↗
(
        parameters: &ast::Parameters,
        ctx: &Ctx,
    )

Source from the content-addressed store, hash-verified

759 }
760
761 fn duplicate_parameter_name<Ctx: SemanticSyntaxContext>(
762 parameters: &ast::Parameters,
763 ctx: &Ctx,
764 ) {
765 if parameters.len() < 2 {
766 return;
767 }
768
769 let mut all_arg_names =
770 FxHashSet::with_capacity_and_hasher(parameters.len(), FxBuildHasher);
771
772 for parameter in parameters {
773 let range = parameter.name().range();
774 let param_name = parameter.name().as_str();
775 if !all_arg_names.insert(param_name) {
776 // test_err params_duplicate_names
777 // def foo(a, a=10, *a, a, a: str, **a): ...
778 Self::add_error(
779 ctx,
780 SemanticSyntaxErrorKind::DuplicateParameter(param_name.to_string()),
781 range,
782 );
783 }
784 }
785 }
786
787 fn duplicate_keyword_args<Ctx: SemanticSyntaxContext>(args: &ast::Arguments, ctx: &Ctx) {
788 if args.keywords.len() < 2 {

Callers

nothing calls this directly

Calls 6

lenMethod · 0.45
rangeMethod · 0.45
nameMethod · 0.45
as_strMethod · 0.45
insertMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected