Package org.codehaus.groovy.runtime.powerassert

## Class SourceText

- java.lang.Object
- - org.codehaus.groovy.runtime.powerassert.SourceText

-     public class SourceText
      extends Object

  Provides the source text for an assertion statement and translates coordinates in the original source text to coordinates relative to the assertion's (normalized) source text.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SourceText​(AssertStatement stat, SourceUnit sourceUnit, Janitor janitor)` | Constructs a `SourceText` by reading the given assertion's source text from the given source unit.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getNormalizedColumn​(int line, int column)` | Returns the column in `getNormalizedText()` corresponding to the given line and column in the original source text.
    `String` | `getNormalizedText()` | Returns the assertion's source text after removing line breaks.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SourceText

          public SourceText​(AssertStatement stat,
                            SourceUnit sourceUnit,
                            Janitor janitor)

      Constructs a `SourceText` by reading the given assertion's source text from the given source unit.
      Parameters:
        `stat` - an assertion statement
        `sourceUnit` - the source unit containing the assertion statement
        `janitor` - a `Janitor` for cleaning up reader sources

  - ### Method Detail

    - #### getNormalizedText

          public String getNormalizedText()

      Returns the assertion's source text after removing line breaks.

      Limitation: Line comments within the assertion's source text are not handled.

      Returns:
        the assertion's source text after removing line breaks.

    - #### getNormalizedColumn

          public int getNormalizedColumn​(int line,
                                         int column)

      Returns the column in `getNormalizedText()` corresponding to the given line and column in the original source text. The first character in the normalized text has column 1.
      Parameters:
        `line` - a line number
        `column` - a column number
      Returns:
        the column in getNormalizedText() corresponding to the given line and column in the original source text