addTextSymbol method

Danger<CitrusSymbolTable, CitrusSymbolTableException> addTextSymbol(
  1. TextSymbol symbol
)

Implementation

Danger<CitrusSymbolTable, CitrusSymbolTableException> addTextSymbol(TextSymbol symbol) {

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

    final addResult = textSymbolRoster.add(symbol);
    log.add(addResult);
    if (addResult is! Success<CitrusSymbolRoster<TextSymbol>, CitrusSymbolExceptionA>) return Failure(CitrusSymbolTableExceptionG(), log.monitor({
        'duplicate text symbol name': symbol.name,
        'text symbol name list': textSymbolRoster.nameList,
    }));

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

    return Danger.fromDanger(result, log);

}