function decodeLoc_(locText) {
  var loc = new NODE_LOC_CONSTRUCTOR();
  var m = locText.match(LOC_REGEX);
  var locStart = null;
  if (m[1] || m[2]) {
    locStart = new LINE_LOC_CONSTRUCTOR();
    locStart.line = Number(m[1]);
    locStart.column = Number(m[2]);
  }
  loc.start = locStart;
  var locEnd = null;
  if (m[3] || m[4]) {
    locEnd = new LINE_LOC_CONSTRUCTOR();
    locEnd.line = m[3] ? Number(m[3]) : Number(m[1]);
    locEnd.column = Number(m[4]);
  }
  loc.end = locEnd;
  if (m[5]) {
    loc.source = decodeURI(m[5]);
  } else {
    delete loc.source;
  }
  return loc;
}
Turn a serialized string '1:0-4:21 code' into a location object:
{
  start: {line 1, column: 0},
  end: {line 4, column: 21},
  source: "code"
}
@param {string} locText Serialized location.
@returns {!Object} Location object.