generatedPositionFor(aArgs) {
    for (let i = 0; i < this._sections.length; i++) {
      const section = this._sections[i];

      // Only consider this section if the requested source is in the list of
      // sources of the consumer.
      if (
        section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1
      ) {
        continue
      }
      const generatedPosition = section.consumer.generatedPositionFor(aArgs);
      if (generatedPosition) {
        const ret = {
          line:
            generatedPosition.line +
            (section.generatedOffset.generatedLine - 1),
          column:
            generatedPosition.column +
            (section.generatedOffset.generatedLine === generatedPosition.line
              ? section.generatedOffset.generatedColumn - 1
              : 0),
        };
        return ret
      }
    }

    return {
      line: null,
      column: null,
    }
  }
Returns the generated line and column information for the original source,
line, and column positions provided. The only argument is an object with
the following properties:

  - source: The filename of the original source.
  - line: The line number in the original source.  The line number
    is 1-based.
  - column: The column number in the original source.  The column
    number is 0-based.

and an object is returned with the following properties:

  - line: The line number in the generated source, or null.  The
    line number is 1-based.
  - column: The column number in the generated source, or null.
    The column number is 0-based.