Пример #1
0
        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.IsValidQualifiedNameCharPlus(base.CurrentChar, CustomeGenericTypeNamePartDelimeter))
                    {
                        this.AddToMultiCharToken();
                    }
                    else
                    {
                        this._token = GenericTypeNameScannerToken.ERROR;
                    }
                    break;
                }
                this._lastChar = base.CurrentChar;
                base.Advance();
            }
        }
Пример #2
0
 internal static bool IsNameValid_WithPlus(string name, GenericTypeNamePartDelimeter customeGenericTypeNamePartDelimeter)
 {
     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], customeGenericTypeNamePartDelimeter))
         {
             return(false);
         }
     }
     return(true);
 }