Interface DefaultSyntaxInfos.Expression<E extends Expression<R>,R>

Type Parameters:
E - The class providing the implementation of the Expression this info represents.
R - The type of the return type of the Expression.
All Superinterfaces:
DefaultSyntaxInfos, SyntaxInfo<E>
Enclosing interface:
DefaultSyntaxInfos

@Experimental public static interface DefaultSyntaxInfos.Expression<E extends Expression<R>,R> extends SyntaxInfo<E>
A syntax info to be used for Expressions. It differs from a typical info in that it also has a return type.
  • Method Details

    • builder

      @Contract("_, _ -> new") static <E extends Expression<R>, R> DefaultSyntaxInfos.Expression.Builder<? extends DefaultSyntaxInfos.Expression.Builder<?,E,R>,E,R> builder(Class<E> expressionClass, Class<R> returnType)
      Constructs a builder for an expression syntax info.
      Type Parameters:
      E - The class providing the implementation of the Expression this info represents.
      R - The supertype of all values the Expression may return.
      Parameters:
      expressionClass - The Expression class the info will represent.
      returnType - The class representing the supertype of all values the Expression may return.
      Returns:
      An Expression-specific builder for creating a syntax info representing expressionClass.
    • toBuilder

      @Contract("-> new") DefaultSyntaxInfos.Expression.Builder<? extends DefaultSyntaxInfos.Expression.Builder<?,E,R>,E,R> toBuilder()
      Specified by:
      toBuilder in interface SyntaxInfo<E extends Expression<R>>
      Returns:
      A builder representing this SyntaxInfo.
    • returnType

      Class<R> returnType()
      Returns:
      The class representing the supertype of all values the Expression may return.