@Override
    public OriginalPosition originalPositionFor(int line, int column, Bias bias) {
        ParsedMapping needle = new ParsedMapping(line, column);
        if (bias == null) {
            bias = Bias.GREATEST_LOWER_BOUND;
        }
        int index = this._findMapping(needle, this._generatedMappings(), "generatedLine", "generatedColumn",
                (mapping1, mapping2) -> Util.compareByGeneratedPositionsDeflated(mapping1, mapping2, true), bias);

        if (index >= 0) {
            ParsedMapping mapping = this._generatedMappings().get(index);

            if (mapping.generatedLine == needle.generatedLine)

            {
                Integer source = mapping.source;
                String source_ = null;
                if (source != null) {
                    source_ = this._sources.at(source);
                    if (this.sourceRoot != null) {
                        source_ = Util.join(this.sourceRoot, source_);
                    }
                }
                Integer name = mapping.name;
                String name_ = null;
                if (name != null) {
                    name_ = this._names.at(name);
                }
                return new OriginalPosition(mapping.originalLine, mapping.originalColumn, source_, name_);
            }

        }
        return new OriginalPosition();
    }
@ Override public OriginalPosition originalPositionFor ( int line , int column , Bias bias ) { ParsedMapping needle = new ParsedMapping ( line , column ) ; if ( bias == null ) { bias = Bias . GREATEST_LOWER_BOUND ; } int index = this . _findMapping ( needle , this . _generatedMappings ( ) , "generatedLine" , "generatedColumn" , ( mapping1 , mapping2 ) -> Util . compareByGeneratedPositionsDeflated ( mapping1 , mapping2 , true ) , bias ) ; if ( index >= 0 ) { ParsedMapping mapping = this . _generatedMappings ( ) . get ( index ) ; if ( mapping . generatedLine == needle . generatedLine ) { Integer source = mapping . source ; String source_ = null ; if ( source != null ) { source_ = this . _sources . at ( source ) ; if ( this . sourceRoot != null ) { source_ = Util . join ( this . sourceRoot , source_ ) ; } } Integer name = mapping . name ; String name_ = null ; if ( name != null ) { name_ = this . _names . at ( name ) ; } return new OriginalPosition ( mapping . originalLine , mapping . originalColumn , source_ , name_ ) ; } } return new OriginalPosition ( ) ; }
Returns the original source, line, and column information for the generated source's line and column positions provided. The only argument is
an object with the following properties:
<ul>
<li>line: The line number in the generated source.</li>
<li>column: The column number in the generated source.</li>
<li>bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the closest
element that is smaller than or greater than the one we are searching for, respectively, if the exact element cannot be found. Defaults to
'SourceMapConsumer.GREATEST_LOWER_BOUND'.</li>
</ul>
and an object is returned with the following properties:
<ul>
<li>source: The original source file, or null.</li>
<li>line: The line number in the original source, or null.</li>
<li>column: The column number in the original source, or null.</li>
<li>name: The original identifier, or null.</li>
</ul>