Well thing is the shader engine computes part of selfshadwing So self shadow is allready factored in the diffuse and specular passes. As no contribution of value.
You can do this tough, but theres little practical value of doing so it just makes for more comlex comp versus something you get for free anway.
See because light for a point is mostly
clamp(0,+Inf,dot(lightinclination, eye ray)) So as you see the other side of light always shades black, thus it appears in shadow.
Now physically worse the fact that objects get shaded lighter towards places where light is more perpendicular, means that the entire gradient is shadow, it is the shadow of microscopic roughness of the surface. Now as you can imagine it becomes extremely hard to separate these things from each other at some point.
Mainly problematic just because theres no such thing as light and shadow, theres just light and more light. So shadows as physical phenomenon as such do not exsist just lack of light. We just quantify the virtual concept becase we happen to have a name.
Now in CG shadow does exist, but it ONLY deals with Other parts occluding something. Because the rest is included in the local model.