Member visibility question

Given the following:

  • A class named KwikValidatingTestFixture uses the trait ValidatingFixtureTrait
  • ValidatingFixtureTrait contains a private member requiresValidation and a public method requiresValidation that returns the value of requiresValidation
  • KwikValidatingTestFixture is extended by EmployeeTimeChargingPolicyStatementFixture
  • EmployeeTimeChargingPolicyStatementFixture is extended by EmployeeTimeChargingFixture

I have a break point set in ValidatingFixtureTrait::requiresValidation and have it paused as it is called via EmployeeTimeChargingFixture. The PHPStorm Variables panel looks like this:

Notice that there is no requiresValidation property that is visible. I gather that the asterisks vis-a-vis *EmployeeTimeChargingPolicyStatementFixture*requiresValidation and *KwikValidatingTestFixture*requiresValidation indicate a super class visibility of private. It should also be noted that the default value of  *EmployeeTimeChargingPolicyStatementFixture*requiresValidation is true, and at this moment in time (that is, when the screen shot was snapped) that value is actually true, however the EmployeeTimeCharging member, requiresValidation, is in fact false. Which leads me to believe there may be a bug here? Or, maybe I'm not understanding what is being indicated by the asterisks? In any event it doesn't appear to be accurate.

1 comment
Comment actions Permalink

The asterisks are just a way to specify that the field is a private member of another class.
We even have a request to make its representation clearer: https://youtrack.jetbrains.com/issue/WI-9086

Honestly, I don't really know why the value is different to what you expect to see, we need a reproducible sample to say for sure. If you can elaborate one, please submit it within a support ticket at https://intellij-support.jetbrains.com/hc/en-us

Thank you!

0

Please sign in to leave a comment.