resolve method

  1. @override
Danger<CitrusArray, CitrusSemanticException> resolve(
  1. CitrusSymbolTable symbolTable
)
override

Implementation

@override
Danger<CitrusArray, CitrusSemanticException> resolve(CitrusSymbolTable symbolTable) {

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

    final arrayAccesserResult = arrayAccesser.resolve(symbolTable);
    log.add(arrayAccesserResult);
    if (arrayAccesserResult is! Success<CitrusDataType, AccesserException>) return Failure(arrayAccesserResult.asException, log);

    final result = arrayAccesserResult.wrapped;
    if (result is! CitrusArray) return Failure(ForLoopSettingExceptionA(), log.monitor({
        'type': result.runtimeType,
    }));

    return Success(result, log);

}