Package: org.apache.groovy.parser.antlr4

## [Java] Class SemanticPredicates

- org.apache.groovy.parser.antlr4.SemanticPredicates

-     public class SemanticPredicates
      extends Object

  Some semantic predicates for altering the behaviour of the lexer and parser

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public static boolean` | `isFollowedBy(CharStream cs, char chars)`
    `` | `public static boolean` | `isFollowedByJavaLetterInGString(CharStream cs)`
    `` | `public static boolean` | `isFollowedByWhiteSpaces(CharStream cs)`
    `` | `public static boolean` | `isFollowingArgumentsOrClosure(org.apache.groovy.parser.antlr4.GroovyParser$ExpressionContext context)` Check whether following a method name of command expression.
    `` | `public static boolean` | `isInvalidLocalVariableDeclaration(TokenStream ts)` Distinguish between local variable declaration and method call, e.g.
    `` | `public static boolean` | `isInvalidMethodDeclaration(TokenStream ts)` Distinguish between method declaration and method call/constructor declaration

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Method Detail

    - #### public static boolean isFollowedBy(CharStream cs, char chars)

    - #### public static boolean isFollowedByJavaLetterInGString(CharStream cs)

    - #### public static boolean isFollowedByWhiteSpaces(CharStream cs)

    - #### public static boolean isFollowingArgumentsOrClosure(org.apache.groovy.parser.antlr4.GroovyParser$ExpressionContext context)

      Check whether following a method name of command expression. Method name should not end with "2: arguments" and "3: closure"

      Parameters:
        `context` - the preceding expression

    - #### public static boolean isInvalidLocalVariableDeclaration(TokenStream ts)

      Distinguish between local variable declaration and method call, e.g. `a b`

    - #### public static boolean isInvalidMethodDeclaration(TokenStream ts)

      Distinguish between method declaration and method call/constructor declaration