I honestly dont think file offset or line number tracking belong in LineEmitter (would need something like a DocumentLineEmitter which adds that functionality) to keep things SRP