addFlagSymbol method

Danger<CitrusSymbolTable, CitrusSymbolTableException> addFlagSymbol(
  1. FlagSymbol symbol
)

Implementation

Danger<CitrusSymbolTable, CitrusSymbolTableException> addFlagSymbol(FlagSymbol symbol) {

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

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

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

    return Danger.fromDanger(result, log);

}