private void State_Start() { AdvanceOverWhitespace(); if (IsAtEndOfInput) { _token = GenericTypeNameScannerToken.NONE; return; } switch (CurrentChar) { case OpenParen: _token = GenericTypeNameScannerToken.OPEN; break; case CloseParen: _token = GenericTypeNameScannerToken.CLOSE; break; case Comma: _token = GenericTypeNameScannerToken.COMMA; break; case Colon: _token = GenericTypeNameScannerToken.COLON; break; case OpenBracket: StartMultiCharToken(); _state = State.INSUBSCRIPT; // No _token set so continue to scan. break; default: if (XamlName.IsValidNameStartChar(CurrentChar)) { StartMultiCharToken(); _state = State.INNAME; // No _token set so continue to scan. } else { _token = GenericTypeNameScannerToken.ERROR; } break; } _lastChar = CurrentChar; Advance(); }
private void State_Start() { base.AdvanceOverWhitespace(); if (base.IsAtEndOfInput) { this._token = GenericTypeNameScannerToken.NONE; } else { switch (base.CurrentChar) { case '(': this._token = GenericTypeNameScannerToken.OPEN; break; case ')': this._token = GenericTypeNameScannerToken.CLOSE; break; case ',': this._token = GenericTypeNameScannerToken.COMMA; break; case ':': this._token = GenericTypeNameScannerToken.COLON; break; case '[': this.StartMultiCharToken(); this._state = State.INSUBSCRIPT; break; default: if (XamlName.IsValidNameStartChar(base.CurrentChar)) { this.StartMultiCharToken(); this._state = State.INNAME; } else { this._token = GenericTypeNameScannerToken.ERROR; } break; } this._lastChar = base.CurrentChar; base.Advance(); } }
internal static bool IsNameValid_WithPlus(string name) { if (name.Length == 0) { return(false); } if (!XamlName.IsValidNameStartChar(name[0])) { return(false); } for (int i = 1; i < name.Length; i++) { if (!XamlName.IsValidQualifiedNameCharPlus(name[i])) { return(false); } } return(true); }