In Feature #3917 it is mentioned short-coming of caller:
- caller() returns an array of "filename:linenum in `method'" string.
User must parse it and retrieve filename and linenum by rexp.
It is also very heavy weight task.
I think many have wished for objectified trace.
Different method would be needed than #caller though to prevent backward compatibility issue.