public void Read ()
{
if (this._pushedBackSymbol != GenericTypeNameScannerToken.NONE) {
this._token = this._pushedBackSymbol;
this._pushedBackSymbol = GenericTypeNameScannerToken.NONE;
}
else {
this._token = GenericTypeNameScannerToken.NONE;
this._tokenText = string.Empty;
this._multiCharTokenStartIdx = -1;
this._multiCharTokenLength = 0;
while (this._token == GenericTypeNameScannerToken.NONE) {
if (base.IsAtEndOfInput) {
if (this._state == State.INNAME) {
this._token = GenericTypeNameScannerToken.NAME;
this._state = State.START;
}
if (this._state == State.INSUBSCRIPT) {
this._token = GenericTypeNameScannerToken.ERROR;
this._state = State.START;
}
break;
}
switch (this._state) {
case State.START:
this.State_Start();
break;
case State.INNAME:
this.State_InName();
break;
case State.INSUBSCRIPT:
this.State_InSubscript();
break;
}
}
if ((this._token == GenericTypeNameScannerToken.NAME) || (this._token == GenericTypeNameScannerToken.SUBSCRIPT)) {
this._tokenText = this.CollectMultiCharToken();
}
}
}