• Leszek Swirski's avatar
    [scanner] Make position a parameter of ReadBlock · 3e9ba672
    Leszek Swirski authored
    It's not obvious for Utf16CharacterStream::ReadBlock that the block it
    has to read is implicitly the one at the current pos(), and it was
    slightly odd how ReadBlockAt had to fiddle with buffer_* values to make
    pos() return the desired value before ReadBlock is called -- especially
    since ReadBlock would usually overwrite those changes.
    
    Instead, we can just make ReadBlock take an explicit position, and get
    rid of ReadBlockAt entirely.
    
    As a drive-by, I was always confused by what the various buffer_*
    actually mean (especially the difference between buffer_cursor_ and
    buffer_pos_) so document them with some ASCII art.
    
    Change-Id: I610019089920692f54e01ae979c0ba827779e414
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3217194
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77315}
    3e9ba672
scanner-character-streams.cc 33.2 KB