I am having an SOQL query just to check that which user is having what all permissions to an apex class. So the SOQL looks like this
SELECT RecordId, HasReadAccess, HasAllAccess,HasDeleteAccess,HasEditAccess, HasTransferAccess, MaxAccessLevel FROM UserRecordAccess where UserId='0052v00000cDteP' and recordId='01p2v00000HaUmj'
here recordId is Id of ApexClass and userId is the id of the user which is assigned to custom System admin profile with author apex permission unchecked.
As per my understanding it should show me no edit access on the class, but it shows following result
why the result shows hasEditAccess as true when the user does not have author apex permission itself, also the user doesn't have any extra permission set assigned