resolve method

  1. @override
Danger<bool, ImmatureCitrusSemanticException> resolve(
  1. CitrusSymbolTable symbolTable
)
override

Implementation

@override
Danger<bool, ImmatureCitrusSemanticException> resolve(CitrusSymbolTable symbolTable) {

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

    final endpointResolveResult = accesser.resolve(symbolTable);
    log.add(endpointResolveResult);
    if (endpointResolveResult is! Success<CitrusDataType, AccesserException>) return Failure(endpointResolveResult.asException, log);
    final value = endpointResolveResult.wrapped;

    switch (value) {
    case CitrusFlag():

        return Success(value.value, log);

    case _:

        return Failure(FlagSemanticExceptionA(), log.monitor({
            'citrus symbol value type': value.runtimeType,
        }));

    }

}