Updates referencesource to .NET 4.7
[mono.git] / mcs / class / referencesource / System.Data.SqlXml / System / Xml / Xsl / QIL / QilInvokeEarlyBound.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="QilInvokeEarlyBound.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 // <owner current="true" primary="true">Microsoft</owner>
6 //------------------------------------------------------------------------------
7 using System;
8 using System.Diagnostics;
9 using System.Reflection;
10
11 namespace System.Xml.Xsl.Qil {
12
13     /// <summary>
14     /// A function invocation node which reperesents a call to an early bound Clr function.
15     /// </summary>
16     internal class QilInvokeEarlyBound : QilTernary {
17
18         //-----------------------------------------------
19         // Constructor
20         //-----------------------------------------------
21
22         /// <summary>
23         /// Construct a new node
24         /// </summary>
25         /// <param name="method">QilLiteral containing the Clr MethodInfo for the early bound function</param>
26         public QilInvokeEarlyBound(QilNodeType nodeType, QilNode name, QilNode method, QilNode arguments, XmlQueryType resultType)
27             : base(nodeType, name, method, arguments) {
28             this.xmlType = resultType;
29         }
30
31
32         //-----------------------------------------------
33         // QilInvokeEarlyBound methods
34         //-----------------------------------------------
35
36         public QilName Name {
37             get { return (QilName) Left; }
38             set { Left = value; }
39         }
40
41         public MethodInfo ClrMethod {
42             get { return (MethodInfo) ((QilLiteral) Center).Value; }
43             set { ((QilLiteral) Center).Value = value; }
44         }
45
46         public QilList Arguments {
47             get { return (QilList) Right; }
48             set { Right = value; }
49         }
50     }
51 }
52