stateFactory method
Implementation
ATNState? stateFactory(StateType type, int ruleIndex) {
ATNState s;
switch (type) {
case StateType.INVALID_TYPE:
return null;
case StateType.BASIC:
s = BasicState(ruleIndex);
break;
case StateType.RULE_START:
s = RuleStartState(ruleIndex);
break;
case StateType.BLOCK_START:
s = BasicBlockStartState(ruleIndex);
break;
case StateType.PLUS_BLOCK_START:
s = PlusBlockStartState(ruleIndex);
break;
case StateType.STAR_BLOCK_START:
s = StarBlockStartState(ruleIndex);
break;
case StateType.TOKEN_START:
s = TokensStartState(ruleIndex);
break;
case StateType.RULE_STOP:
s = RuleStopState(ruleIndex);
break;
case StateType.BLOCK_END:
s = BlockEndState(ruleIndex);
break;
case StateType.STAR_LOOP_BACK:
s = StarLoopbackState(ruleIndex);
break;
case StateType.STAR_LOOP_ENTRY:
s = StarLoopEntryState(ruleIndex);
break;
case StateType.PLUS_LOOP_BACK:
s = PlusLoopbackState(ruleIndex);
break;
case StateType.LOOP_END:
s = LoopEndState(ruleIndex);
break;
default:
throw ArgumentError.value(type, 'state type', 'not valid.');
}
return s;
}