//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // // Microsoft //------------------------------------------------------------------------------ using System; using System.Diagnostics; using System.Reflection; namespace System.Xml.Xsl.Qil { /// /// A function invocation node which reperesents a call to an early bound Clr function. /// internal class QilInvokeEarlyBound : QilTernary { //----------------------------------------------- // Constructor //----------------------------------------------- /// /// Construct a new node /// /// QilLiteral containing the Clr MethodInfo for the early bound function public QilInvokeEarlyBound(QilNodeType nodeType, QilNode name, QilNode method, QilNode arguments, XmlQueryType resultType) : base(nodeType, name, method, arguments) { this.xmlType = resultType; } //----------------------------------------------- // QilInvokeEarlyBound methods //----------------------------------------------- public QilName Name { get { return (QilName) Left; } set { Left = value; } } public MethodInfo ClrMethod { get { return (MethodInfo) ((QilLiteral) Center).Value; } set { ((QilLiteral) Center).Value = value; } } public QilList Arguments { get { return (QilList) Right; } set { Right = value; } } } }