As the unit test demonstrates, the .getLocWithOffset(-1) part was unnecessary.
@rsmith - you introduced these functions, WDYT?, hope i got the intent right.
The only user of this function was the plist file emitter (in Static Analyzer and ARCMigrator). It means that a lot of Static Analyzer's plist arrows are in fact off by one character. The patch carefully preserves this completely incorrect behavior and causes no functional change, i.e. no plist format breakage.