Skip to content

ReflectionProperty::isPrivateSet() not working as expected #16175

Open
@vudaltsov

Description

@vudaltsov

Description

The following code:

<?php

final class A
{
    private mixed $private;
    private private(set) mixed $privatePrivateSet;
    protected private(set) mixed $protectedPrivateSet;
    public private(set) mixed $publicPrivateSet;
}

var_dump(
    new ReflectionProperty(A::class, 'private')->isPrivateSet(),
    new ReflectionProperty(A::class, 'privatePrivateSet')->isPrivateSet(),
    new ReflectionProperty(A::class, 'protectedPrivateSet')->isPrivateSet(),
    new ReflectionProperty(A::class, 'publicPrivateSet')->isPrivateSet(),
);

Resulted in this output:

bool(false)
bool(false)
bool(true)
bool(true)

But I expected this output instead:

bool(true)
bool(true)
bool(true)
bool(true)

PHP Version

PHP 8.4.0-dev (cli) (built: Sep 24 2024 14:38:59)

Operating System

MacOS

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions