Exemplo n.º 1
0
        // reads a binding key
        private IStonBindingName ReadBindingName(StonTokenReader reader)
        {
            string name        = null;
            bool   isExtension = false;

            if (reader.TryAndSkip(StonChartype.Extension))
            {
                isExtension = true;
            }

            if (reader.Peek().HasChartype(StonChartype.TextDelimiter))
            {
                name = reader.ReadString();
            }
            else if (reader.Peek().HasChartype(StonChartype.CanunBegin))
            {
                name = reader.ReadCanun();
            }
            else
            {
                throw reader.MakeUnexpectedCharacterException(StonChartype.TextDelimiter | StonChartype.CanunBegin);
            }

            return(ElementFactory.CreateBindingName(name, isExtension));
        }