Exemple #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();
            }
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
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);
 }
Exemple #4
0
 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);
 }