Beispiel #1
0
        /// <summary>
        /// Validate a single type.
        /// </summary>
        /// <param name="e">
        ///            is the expression. </param>
        /// <returns> null. </returns>
        public virtual object visit(SingleType e)
        {
            QName type = e.type();

            if (!expandItemTypeQName(type))
            {
                reportBadPrefix(type.prefix());
            }

            return(null);
        }
Beispiel #2
0
        /// <summary>
        /// Validate a cast expression.
        /// </summary>
        /// <param name="cexp">
        ///            is the expression. </param>
        /// <returns> null. </returns>
        public virtual object visit(CastExpr cexp)
        {
            printBinExpr("CAST", cexp);

            SingleType st   = (SingleType)cexp.right();
            QName      type = st.type();

            [email protected] qName = type.asQName();
            Function f = _sc.resolveFunction(qName, 1);

            if (f == null)
            {
                reportError(new StaticFunctNameError("Type does not exist: " + type.ToString()));
            }
            cexp.set_function(f);
            _resolvedFunctions.Add(qName);

            return(null);
        }