consolidateSnippets method

Iterable<SourceLine> consolidateSnippets(
  1. List<CodeSample> samples, {
  2. bool addMarkers = false,
})

Consolidates all of the snippets and the assumptions into one snippet, in order to create a compilable result.

Implementation

Iterable<SourceLine> consolidateSnippets(List<CodeSample> samples,
    {bool addMarkers = false}) {
  if (samples.isEmpty) {
    return <SourceLine>[];
  }
  final Iterable<SnippetSample> snippets = samples.whereType<SnippetSample>();
  final List<SourceLine> snippetLines = <SourceLine>[
    ...snippets.first.assumptions,
  ];
  for (final SnippetSample sample in snippets) {
    parseInput(sample);
    snippetLines.addAll(_processBlocks(sample));
  }
  return snippetLines;
}