shiftNextLine = function() {
      var lineContents = getNextLine();
      // The last line of a file might not have a newline.
      var newLine = getNextLine() || "";
      return lineContents + newLine;

      function getNextLine() {
        return remainingLinesIndex < remainingLines.length ?
            remainingLines[remainingLinesIndex++] : undefined;
      }
    }
Creates a SourceNode from generated code and a SourceMapConsumer.

@param aGeneratedCode The generated code
@param aSourceMapConsumer The SourceMap for the generated code
@param aRelativePath Optional. The path that relative sources in the
       SourceMapConsumer should be relative to.