result static method
Danger<CitrusSymbolTable, CitrusSymbolTableException>
result(
- CitrusSymbolRoster<
TextSymbol> textSymbolRoster, - CitrusSymbolRoster<
TemporarySymbol> temporarySymbolRoster, - CitrusSymbolRoster<
TextArraySymbol> textArraySymbolRoster, - CitrusSymbolRoster<
FragmentSymbol> fragmentSymbolRoster, - CitrusSymbolRoster<
FlagSymbol> flagSymbolRoster, - CitrusSymbolRoster<
ObjectSymbol> objectSymbolRoster, - CitrusSymbolRoster<
ObjectArraySymbol> objectArraySymbolRoster,
- CitrusSymbolTableExceptionA duplicate property name exist.
Implementation
static Danger<CitrusSymbolTable, CitrusSymbolTableException> result(
CitrusSymbolRoster<TextSymbol> textSymbolRoster,
CitrusSymbolRoster<TemporarySymbol> temporarySymbolRoster,
CitrusSymbolRoster<TextArraySymbol> textArraySymbolRoster,
CitrusSymbolRoster<FragmentSymbol> fragmentSymbolRoster,
CitrusSymbolRoster<FlagSymbol> flagSymbolRoster,
CitrusSymbolRoster<ObjectSymbol> objectSymbolRoster,
CitrusSymbolRoster<ObjectArraySymbol> objectArraySymbolRoster,
) {
final log = Log(classLocation: CitrusSymbolTable, functionLocation: 'result');
final list = [
...textSymbolRoster,
...temporarySymbolRoster,
...textArraySymbolRoster,
...fragmentSymbolRoster,
...flagSymbolRoster,
...objectSymbolRoster,
...objectArraySymbolRoster,
];
final result = CitrusSymbolRoster.result(list);
log.add(result);
if (result is Failure) return Failure(CitrusSymbolTableExceptionA(), log.monitor({
'symbol name list': [
...textSymbolRoster.nameList,
...temporarySymbolRoster.nameList,
...textArraySymbolRoster.nameList,
...fragmentSymbolRoster.nameList,
...flagSymbolRoster.nameList,
...objectSymbolRoster.nameList,
...objectArraySymbolRoster.nameList,
],
}));
return Success(
CitrusSymbolTable(
textSymbolRoster,
temporarySymbolRoster,
textArraySymbolRoster,
fragmentSymbolRoster,
flagSymbolRoster,
objectSymbolRoster,
objectArraySymbolRoster,
),
log,
);
}