On Thu, 2007-03-29 at 23:28 -0700, Chris Lattner wrote: > 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?
Yes, that's quite reasonable. Could you file an enhancement PR with this? I won't have time to get to such a large change for a while, and don't want to forget. Thanks, Reid. > > -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits