Class Expression

All Implemented Interfaces:
Direct Known Subclasses:
BinaryExpression, ConstantExpression, DefaultExpression, DynamicExpression, IndexExpression, InvocationExpression, LambdaExpression, ListInitExpression, MemberExpression, MemberInitExpression, MethodCallExpression, NewArrayExpression, NewExpression, ParameterExpression, TernaryExpression, TypeBinaryExpression, UnaryExpression

public abstract class Expression extends AbstractNode

Analogous to LINQ's System.Linq.Expression.

  • Constructor Details

    • Expression

      protected Expression(ExpressionType nodeType, Type type)
      Creates an Expression.

      The type of the expression may, at the caller's discretion, be a regular class (because Class implements Type) or it may be a different implementation that retains information about type parameters.

      nodeType - Node type
      type - Type of the expression
  • Method Details

    • accept

      public abstract Expression accept(Shuttle shuttle)
      Specified by:
      accept in interface Node
      accept in class AbstractNode
    • canReduce

      public boolean canReduce()
      Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form.