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');

    late final String word;

    switch (escapeSequenceKeyword) {
    case NewLineEscapeSequenceKeyword(): word = NewLine.VALUE;
    case SpaceEscapeSequenceKeyword(): word = Space.VALUE;
    case EndCurlyBracketEscapeSequenceKeyword(): word = EndCurlyBracket.VALUE;
    case StartCurlyBracketEscapeSequenceKeyword(): word = StartCurlyBracket.VALUE;
    case EndParenthesisEscapeSequenceKeyword(): word = EndParenthesis.VALUE;
    case StartParenthesisEscapeSequenceKeyword(): word = StartParenthesis.VALUE;
    case EndAngleBracketEscapeSequenceKeyword(): word = EndAngleBracket.VALUE;
    case StartAngleBracketEscapeSequenceKeyword(): word = StartAngleBracket.VALUE;
    case EqualOperatorEscapeSequenceKeyword(): word = EqualOperator.VALUE;
    case PeriodEscapeSequenceKeyword(): word = Period.VALUE;
    case SharpEscapeSequenceKeyword(): word = Sharp.VALUE;
    case UnderbarEscapeSequenceKeyword(): word = Underbar.VALUE;
    case AsteriskEscapeSequenceKeyword(): word = Asterisk.VALUE;
    }

    var result = '';
    var count = 1;

    while (true) {

        if (count > times) return Success(result, log);

        result = result + word;

        count = count + 1;

    }

}