addTemporarySymbol method

Danger<CitrusSymbolTable, CitrusSymbolTableException> addTemporarySymbol(
  1. String temporarySymbolName,
  2. CitrusArray bindCitrusArray
)

Implementation

Danger<CitrusSymbolTable, CitrusSymbolTableException> addTemporarySymbol(String temporarySymbolName, CitrusArray bindCitrusArray) {

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

    final temporaryCitrusSymbolResult = TemporarySymbol(
        temporarySymbolName,
        bindCitrusArray,
        TemporarySymbolLaps.zero(),
    );

    final addResult = temporarySymbolRoster.add(temporaryCitrusSymbolResult);
    log.add(addResult);
    if (addResult is! Success<CitrusSymbolRoster<TemporarySymbol>, CitrusSymbolExceptionA>) return Failure(CitrusSymbolTableExceptionG(), log.monitor({
        'duplicate temporary symbol name': temporarySymbolName,
        'temporary symbol name list': temporarySymbolRoster.nameList,
    }));

    final result = CitrusSymbolTable.result(this.textSymbolRoster, addResult.wrapped, this.textArraySymbolRoster, this.fragmentSymbolRoster, this.flagSymbolRoster, this.objectSymbolRoster, this.objectArraySymbolRoster);
    log.add(result);

    return Danger.fromDanger(result, log);

}