resolve method

  1. @override
Success<String, CitrusSemanticException> resolve(
  1. CitrusSymbolTable symbolTable,
  2. String generateLocation,
  3. Iterable<String> fragments
)
override

Implementation

@override
Success<String, CitrusSemanticException> resolve(CitrusSymbolTable symbolTable, String generateLocation, Iterable<String> fragments) {

    final log = Log(classLocation: runtimeType, functionLocation: 'resolve');

    final boolCitrusSemanticResolveResult = boolean.resolve(symbolTable);
    log.add(boolCitrusSemanticResolveResult);
    if (boolCitrusSemanticResolveResult is! Success<bool, ImmatureCitrusSemanticException>) return Success(source, log);

    final flagResult = booleanKeyword.toBool() == boolCitrusSemanticResolveResult.wrapped;

    switch (flagResult) {
    case true:

        final resolveResult = finishCitrusSemanticList.resolve(symbolTable, generateLocation, fragments);
        log.add(resolveResult);

        return Success(resolveResult.wrapped, log);

    case false:

        // 空文字を返す.
        return Success('', log);

    }

}