Package: groovy.org.codenarc.source

## [Groovy] Interface SourceCode

- Represents a unit of source code to be analyzed

  Authors:
    Chris Mair

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static int` | `DEFAULT_COMPILER_PHASE` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `org.codehaus.groovy.ast.ModuleNode` | `getAst()` Return the Groovy AST (Abstract Syntax Tree) for this source file
    `` | `int` | `getAstCompilerPhase()` @return compiler phase (as in org.codehaus.groovy.control.Phases) up to which the AST will be processed
    `` | `int` | `getLineNumberForCharacterIndex(int charIndex)` Return the line index for the line containing the character at the specified index within the source code.
    `` | `List<String>` | `getLines()` @return the List of lines of the source code (with line terminators removed)
    `` | `Map<org.codehaus.groovy.ast.ClassNode, List<org.codehaus.groovy.ast.expr.MethodCallExpression>>` | `getMethodCallExpressions()` This method gives you all of the MethodCallExpressions defined in the AST without forcing you to walk the entire tree on every request.
    `` | `String` | `getName()` Get the logical name for this source code.
    `` | `String` | `getPath()` Get the logical path for this source code.
    `` | `SuppressionAnalyzer` | `getSuppressionAnalyzer()` Returns information about this classes' suppressed warnings.
    `` | `String` | `getText()` @return the full text of the source code
    `` | `boolean` | `isValid()` Return true if and only if the source code can be successfully compiled
    `` | `String` | `line(int lineNumber)` Get the trimmed line at the specified index

- - ### Field Detail

    - #### public static final int DEFAULT_COMPILER_PHASE

  - ### Method Detail

    - #### org.codehaus.groovy.ast.ModuleNode getAst()

      Return the Groovy AST (Abstract Syntax Tree) for this source file

      Returns:
        the ModuleNode representing the AST for this source file

    - #### int getAstCompilerPhase()

      Returns:
        compiler phase (as in org.codehaus.groovy.control.Phases) up to which the AST will be processed

    - #### int getLineNumberForCharacterIndex(int charIndex)

      Return the line index for the line containing the character at the specified index within the source code.

      Parameters:
        `charIndex` - - the index of the character within the source code (zero-based)
      Returns:
        the line number (one-based) containing the specified character; Return -1 if charIndex is not valid.

    - #### List<String> getLines()

      Returns:
        the List of lines of the source code (with line terminators removed)

    - #### Map<org.codehaus.groovy.ast.ClassNode, List<org.codehaus.groovy.ast.expr.MethodCallExpression>> getMethodCallExpressions()

      This method gives you all of the MethodCallExpressions defined in the AST without forcing you to walk the entire tree on every request. They are cached for the lifespan of the SourceCode.

      Returns:

    - #### String getName()

      Get the logical name for this source code. If this object is a file, then the name is the filename, without a path.

      Returns:
        the name for this source; may be null

    - #### String getPath()

      Get the logical path for this source code. If this object is a file, then the name is the full path in the filesystem. File separators are normalized to forward slash (/).

      Returns:
        the name for this source; may be null

    - #### SuppressionAnalyzer getSuppressionAnalyzer()

      Returns information about this classes' suppressed warnings.

      Returns:
        suppression analyzer

    - #### String getText()

      Returns:
        the full text of the source code

    - #### boolean isValid()

      Return true if and only if the source code can be successfully compiled

      Returns:
        true only if the source code is valid

    - #### String line(int lineNumber)

      Get the trimmed line at the specified index

      Parameters:
        `lineNumber` - - the zero-based line number; may be negative
      Returns:
        the trimmed line at the specified index, or null if lineNumber is not valid