Expression constructor

Expression({
  1. FunctionCall? call,
  2. Literal? literal,
  3. Reference? reference,
  4. FieldAccess? fieldAccess,
  5. MessageCreation? messageCreation,
  6. Block? block,
  7. FunctionDefinition? lambda,
})

Implementation

factory Expression({
  FunctionCall? call,
  Literal? literal,
  Reference? reference,
  FieldAccess? fieldAccess,
  MessageCreation? messageCreation,
  Block? block,
  FunctionDefinition? lambda,
}) {
  final result = create();
  if (call != null) result.call = call;
  if (literal != null) result.literal = literal;
  if (reference != null) result.reference = reference;
  if (fieldAccess != null) result.fieldAccess = fieldAccess;
  if (messageCreation != null) result.messageCreation = messageCreation;
  if (block != null) result.block = block;
  if (lambda != null) result.lambda = lambda;
  return result;
}