build method

BuildResult build(
  1. BuildContext context,
  2. bool hasResult
)

Builds a parser and returns the build result.

Implementation

BuildResult build(BuildContext context, bool hasResult) {
  final body = buildBody(context, hasResult);
  final result = body.result;
  final buffer = StringBuffer();
  if (hasResult) {
    final type = getResultType();
    buffer.writeln('$type $result;');
  }

  buffer.write(body.source);
  var value = result;
  if (!isNullableResultType()) {
    value = '$value!';
  }
  return BuildResult(
    result: result,
    source: buffer.toString(),
    value: value,
  );
}