firstStage static method
Danger<CitrusSymbolTable, CitrusSymbolTableException>
firstStage(
- Chain chain,
- TemplateFileSetting tempalteFileSetting
Not Validate.
Implementation
static Danger<CitrusSymbolTable, CitrusSymbolTableException> firstStage(Chain chain, TemplateFileSetting tempalteFileSetting) {
final log = Log(classLocation: CitrusSymbolTable, functionLocation: 'firstStage');
// default の値は設定せず 入力が無い場合は exception として user に報告する.
final textSymbolRosterResult = TextSymbol.fromChainAndTemplateFileSetting(chain, tempalteFileSetting);
log.add(textSymbolRosterResult);
if (textSymbolRosterResult is! Success<List<TextSymbol>, ChainException>) return Failure(CitrusSymbolTableExceptionF(), log);
final textArraySymbolRosterResult = TextArraySymbol.fromChainAndTemplateFileSetting(chain, tempalteFileSetting);
log.add(textArraySymbolRosterResult);
if (textArraySymbolRosterResult is! Success<List<TextArraySymbol>, ChainException>) return Failure(CitrusSymbolTableExceptionF(), log);
final flagSymbolRosterResult = FlagSymbol.fromChainAndTemplateFileSetting(chain, tempalteFileSetting);
log.add(flagSymbolRosterResult);
final objectSymbolRosterResult = ObjectSymbol.fromChainAndTemplateFileSetting(chain, tempalteFileSetting);
log.add(objectSymbolRosterResult);
if (objectSymbolRosterResult is! Success<List<ObjectSymbol>, ChainException>) return Failure(CitrusSymbolTableExceptionF(), log);
final objectArraySymbolRosterResult = ObjectArraySymbol.fromChainAndTemplateFileSetting(chain, tempalteFileSetting);
log.add(objectArraySymbolRosterResult);
if (objectArraySymbolRosterResult is! Success<List<ObjectArraySymbol>, ChainException>) return Failure(CitrusSymbolTableExceptionF(), log);
final result = CitrusSymbolTable(
CitrusSymbolRoster(textSymbolRosterResult.wrapped),
CitrusSymbolRoster(),
CitrusSymbolRoster(textArraySymbolRosterResult.wrapped),
CitrusSymbolRoster(tempalteFileSetting.fragmentSymbols),
CitrusSymbolRoster(flagSymbolRosterResult.wrapped),
CitrusSymbolRoster(objectSymbolRosterResult.wrapped),
CitrusSymbolRoster(objectArraySymbolRosterResult.wrapped),
);
return Success(result, log);
}