result static method
Implementation
static Identifier result(IdentifierableCollection listOfIdentifierable) {
final text = listOfIdentifierable.source;
switch (text) {
case True.TEXT: return True();
case False.TEXT: return False();
case DefineFlag.TEXT: return DefineFlag();
case DefineObject.TEXT: return DefineObject();
case DefineObjectArray.TEXT: return DefineObjectArray();
case DefineText.TEXT: return DefineText();
case DefineTextArray.TEXT: return DefineTextArray();
case For.TEXT: return For();
case Fragment.TEXT: return Fragment();
case Protect.TEXT: return Protect();
case Camel.TEXT: return Camel();
case Capital.TEXT: return Capital();
case Constant.TEXT: return Constant();
case Dot.TEXT: return Dot();
case Header.TEXT: return Header();
case No.TEXT: return No();
case Not.TEXT: return Not();
case Param.TEXT: return Param();
case Pascal.TEXT: return Pascal();
case Path.TEXT: return Path();
case Sentence.TEXT: return Sentence();
case Snake.TEXT: return Snake();
case Swap.TEXT: return Swap();
case NewLineEscapeSequenceKeyword.TEXT: return NewLineEscapeSequenceKeyword();
case SpaceEscapeSequenceKeyword.TEXT: return SpaceEscapeSequenceKeyword();
case EndCurlyBracketEscapeSequenceKeyword.TEXT: return EndCurlyBracketEscapeSequenceKeyword();
case StartCurlyBracketEscapeSequenceKeyword.TEXT: return StartCurlyBracketEscapeSequenceKeyword();
case EndParenthesisEscapeSequenceKeyword.TEXT: return EndParenthesisEscapeSequenceKeyword();
case StartParenthesisEscapeSequenceKeyword.TEXT: return StartParenthesisEscapeSequenceKeyword();
case EndAngleBracketEscapeSequenceKeyword.TEXT: return EndAngleBracketEscapeSequenceKeyword();
case StartAngleBracketEscapeSequenceKeyword.TEXT: return StartAngleBracketEscapeSequenceKeyword();
case EqualOperatorEscapeSequenceKeyword.TEXT: return EqualOperatorEscapeSequenceKeyword();
case PeriodEscapeSequenceKeyword.TEXT: return PeriodEscapeSequenceKeyword();
case SharpEscapeSequenceKeyword.TEXT: return SharpEscapeSequenceKeyword();
case UnderbarEscapeSequenceKeyword.TEXT: return UnderbarEscapeSequenceKeyword();
case AsteriskEscapeSequenceKeyword.TEXT: return AsteriskEscapeSequenceKeyword();
case In.TEXT: return In();
case Join.TEXT: return Join();
case With.TEXT: return With();
case _:
// list of identiferable は 通常 not empty
final startCharacter = text.split('').first;
final result = Startable.VALUE_SET.contains(startCharacter);
switch (result) {
case true:
return UserDefined(listOfIdentifierable);
case false:
// identifiable は - を使わないので マイナスのにはならない.
// identifiable は . を使わないので 少数にはならない.
// int.tryParse() で int の 10進数.
// 以上より整数の絶対値 0 以上の整数になる.
// radix が null の場合 10進数として parse のはず.
final tryParseResult = int.tryParse(text);
if (tryParseResult == null) return Anonymous(listOfIdentifierable);
return IntegerModulus(listOfIdentifierable);
}
}
}