On Mar 29, 2007, at 11:17 PM, Reid Spencer wrote: > On Thu, 2007-03-29 at 22:59 -0700, Chris Lattner wrote: >>> >>> For PR789: http://llvm.org/PR789 : >>> * Add a method: bool isAbsolute() const, which determines if the >>> path name >>> is absolute or not. >>> * Implement caching of file status information in the Path object. >>> Allow it >>> to be updated forcefully or lazily re-fetched from the cached >>> value. >> >> Nice. Instead of new'ing the status object separately from the Path >> object, why not embed it by-value? > > Because, by far, the common case for Path objects is to copy them > around > and not use the FileStatus stuff. I even hesitated about putting a > pointer into the Path object. :)
Okay, how about an alternate approach, which fixes both problems :), how about something like this: class PathWithStatus : public Path { Status S; bool IsStatusValid; } If you sink the 'status gathering' methods out of Path into PathWithStatus, then you let the client decide whether they want to store a status or not. reasonable? -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits