System.Xml.Xsl.Qil.QilTypeChecker.CheckInvoke C# (CSharp) Method

CheckInvoke() public method

public CheckInvoke ( QilInvoke node ) : XmlQueryType
node QilInvoke
return XmlQueryType
        public XmlQueryType CheckInvoke(QilInvoke node) {
        #if DEBUG
            CheckClassAndNodeType(node[1], typeof(QilList), QilNodeType.ActualParameterList);

            QilList actualArgs = node.Arguments;
            QilList formalArgs = node.Function.Arguments;
            Check(actualArgs.Count == formalArgs.Count, actualArgs, "Invoke argument count must match function's argument count");

            for (int i = 0; i < actualArgs.Count; i++)
                Check(actualArgs[i].XmlType.IsSubtypeOf(formalArgs[i].XmlType), actualArgs[i], "Invoke argument must be a subtype of the invoked function's argument");
        #endif

            return node.Function.XmlType;
        }
        

Usage Example

Exemplo n.º 1
0
        public QilInvoke Invoke(QilNode function, QilNode arguments)
        {
            QilInvoke n = new QilInvoke(QilNodeType.Invoke, function, arguments);

            n.XmlType = _typeCheck.CheckInvoke(n);
            TraceNode(n);
            return(n);
        }
QilTypeChecker