Skip to content

SortNamedParamRector is missing Attribute param #9514

@VincentLanglet

Description

@VincentLanglet

Bug Report

Subject Details
Rector version 2.2.8

Minimal PHP Code Causing Issue

When using Rector\CodeQuality\Rector\FuncCall\SortNamedParamRector

Something like

#[SomeAttribute(
    foo: [
        new Bar(
            param2: 'foo',
            param1: 'bar',
        ),
   ]
)]

is correctly fixed to

#[SomeAttribute(
    foo: [
        new Bar(
            param1: 'foo',
            param2: 'bar',
        ),
   ]
)]

since param1, param2 are param from a constructor call.

But something like

#[SomeAttribute(param2: 'foo', param1: 'bar')]

was not reordered.

Expected Behaviour

#[SomeAttribute(param2: 'foo', param1: 'bar')]

should be fixed to

#[SomeAttribute(param1: 'bar', param2: 'foo')]

I dunno if you prefer to update Rector\CodeQuality\Rector\FuncCall\SortNamedParamRector or create a dedicated rule for Attribute.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions