Will be used to reconstruct the source of the given element in the R-ast. This will not be part of most comparisons as it is mainly of interest to the reconstruction of R code.

interface Source {
    additionalTokens?: OtherInfoNode[];
    file?: string;
    fullLexeme?: string;
    fullRange?: SourceRange;
}

Properties

additionalTokens?: OtherInfoNode[]

This may contain additional elements that were part of the original R code, but are not part of the normalized R-ast. This allows inline-comments!

file?: string

The file in which the respective node is located

fullLexeme?: string

Similar to Source.fullRange this contains the complete R lexeme of the given element.

fullRange?: SourceRange

The range is different from the assigned Location as it refers to the complete source range covered by the given element.

As an example for the difference, consider a for loop, the location of `for` will be just the three characters, but the *range* will be everything including the loop body.