private void State_InName() { if (IsAtEndOfInput || IsWhitespaceChar(CurrentChar) || CurrentChar == OpenBracket) { _token = GenericTypeNameScannerToken.NAME; _state = State.START; return; } switch (CurrentChar) { case OpenParen: _pushedBackSymbol = GenericTypeNameScannerToken.OPEN; _token = GenericTypeNameScannerToken.NAME; _state = State.START; break; case CloseParen: _pushedBackSymbol = GenericTypeNameScannerToken.CLOSE; _token = GenericTypeNameScannerToken.NAME; _state = State.START; break; case Comma: _pushedBackSymbol = GenericTypeNameScannerToken.COMMA; _token = GenericTypeNameScannerToken.NAME; _state = State.START; break; case Colon: _pushedBackSymbol = GenericTypeNameScannerToken.COLON; _token = GenericTypeNameScannerToken.NAME; _state = State.START; break; default: if (XamlName.IsValidQualifiedNameChar(CurrentChar)) { AddToMultiCharToken(); // No _token set so continue to scan. } else { _token = GenericTypeNameScannerToken.ERROR; } break; } _lastChar = CurrentChar; Advance(); }
private void State_InName() { if ((base.IsAtEndOfInput || Sample_StringParserBase.IsWhitespaceChar(base.CurrentChar)) || (base.CurrentChar == '[')) { this._token = GenericTypeNameScannerToken.NAME; this._state = State.START; } else { switch (base.CurrentChar) { case '(': this._pushedBackSymbol = GenericTypeNameScannerToken.OPEN; this._token = GenericTypeNameScannerToken.NAME; this._state = State.START; break; case ')': this._pushedBackSymbol = GenericTypeNameScannerToken.CLOSE; this._token = GenericTypeNameScannerToken.NAME; this._state = State.START; break; case ',': this._pushedBackSymbol = GenericTypeNameScannerToken.COMMA; this._token = GenericTypeNameScannerToken.NAME; this._state = State.START; break; case ':': this._pushedBackSymbol = GenericTypeNameScannerToken.COLON; this._token = GenericTypeNameScannerToken.NAME; this._state = State.START; break; default: if (XamlName.IsValidQualifiedNameChar(base.CurrentChar)) { this.AddToMultiCharToken(); } else { this._token = GenericTypeNameScannerToken.ERROR; } break; } this._lastChar = base.CurrentChar; base.Advance(); } }
internal static bool IsNameValid(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.IsValidQualifiedNameChar(name[i])) { return(false); } } return(true); }