from static method
Danger<CitrusSymbolTable, CitrusSymbolTableException>
from({
- Iterable<
TextSymbol> textSymbolRoster = const [], - Iterable<
TemporarySymbol> temporarySymbolRoster = const [], - Iterable<
TextArraySymbol> textArraySymbolRoster = const [], - Iterable<
FragmentSymbol> fragmentSymbolRoster = const [], - Iterable<
FlagSymbol> flagSymbolRoster = const [], - Iterable<
ObjectSymbol> objectSymbolRoster = const [], - Iterable<
ObjectArraySymbol> objectArraySymbolRoster = const [],
- CitrusSymbolTableExceptionA duplicate property name exist.
Implementation
static Danger<CitrusSymbolTable, CitrusSymbolTableException> from({
Iterable<TextSymbol> textSymbolRoster = const [],
Iterable<TemporarySymbol> temporarySymbolRoster = const [],
Iterable<TextArraySymbol> textArraySymbolRoster = const [],
Iterable<FragmentSymbol> fragmentSymbolRoster = const [],
Iterable<FlagSymbol> flagSymbolRoster = const [],
Iterable<ObjectSymbol> objectSymbolRoster = const [],
Iterable<ObjectArraySymbol> objectArraySymbolRoster = const [],
}) {
final log = Log(classLocation: CitrusSymbolTable, functionLocation: 'from');
final result = CitrusSymbolTable.result(
// CitrusSymbolRoster.result() を使わなくても CitrusSymbolTable.result() で validate される.
CitrusSymbolRoster(textSymbolRoster),
CitrusSymbolRoster(temporarySymbolRoster),
CitrusSymbolRoster(textArraySymbolRoster),
CitrusSymbolRoster(fragmentSymbolRoster),
CitrusSymbolRoster(flagSymbolRoster),
CitrusSymbolRoster(objectSymbolRoster),
CitrusSymbolRoster(objectArraySymbolRoster),
);
log.add(result);
return Danger.fromDanger(result, log);
}