fromRootCitrusSyntax static method
Implementation
static Safety<Frame> fromRootCitrusSyntax(RootCitrusSyntax rootCitrusSyntax) {
final log = Log(classLocation: Frame, functionLocation: 'fromRootCitrusSyntax');
final List<FrameCitrusSemantic> list = [];
for (final syntax in rootCitrusSyntax.derivationCitrusSyntaxList) {
switch (syntax) {
case AloneBlock():
final blockTypeKeyword = syntax.second;
late final Danger<FrameCitrusSemantic, CitrusSemanticException> result;
switch (blockTypeKeyword) {
case For(): result = ForAloneBlock.fromAloneBlock(syntax);
case BooleanKeyword(): result = IfAloneBlock.fromAloneBlock(syntax);
case _: continue through;
}
log.add(result);
if (result is! Success<FrameCitrusSemantic, CitrusSemanticException>) continue through;
list.add(result.wrapped);
through:
case _: ;
}
}
final result = Frame.fromIterable(list);
return Safety(result, log);
}