LGTM. The Lexer isn't really the owner of the buffer, but this way you only have to pass one object around. http://llvm-reviews.chandlerc.com/D916 BRANCH svn ARCANIST PROJECT clang