Merge pull request #347 from JamesB7/master
[mono.git] / mcs / class / dlr / Runtime / Microsoft.Scripting.Core / Ast / Expression.DebuggerProxy.cs
1 /* ****************************************************************************
2  *
3  * Copyright (c) Microsoft Corporation. 
4  *
5  * This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
6  * copy of the license can be found in the License.html file at the root of this distribution. If 
7  * you cannot locate the  Apache License, Version 2.0, please send an email to 
8  * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
9  * by the terms of the Apache License, Version 2.0.
10  *
11  * You must not remove this notice, or any other, from this software.
12  *
13  *
14  * ***************************************************************************/
15
16 using System;
17 using System.Collections.ObjectModel;
18 using System.Reflection;
19 using System.Runtime.CompilerServices;
20
21 #if !FEATURE_CORE_DLR
22 namespace Microsoft.Scripting.Ast {
23 #else
24 namespace System.Linq.Expressions {
25 #endif
26     public partial class Expression {
27         #region Generated Expression Debugger Proxies
28
29         // *** BEGIN GENERATED CODE ***
30         // generated by function: gen_debug_proxies from: generate_tree.py
31
32         internal class BinaryExpressionProxy {
33             private readonly BinaryExpression _node;
34
35             public BinaryExpressionProxy(BinaryExpression node) {
36                 _node = node;
37             }
38
39             public Boolean CanReduce { get { return _node.CanReduce; } }
40             public LambdaExpression Conversion { get { return _node.Conversion; } }
41             public String DebugView { get { return _node.DebugView; } }
42             public Boolean IsLifted { get { return _node.IsLifted; } }
43             public Boolean IsLiftedToNull { get { return _node.IsLiftedToNull; } }
44             public Expression Left { get { return _node.Left; } }
45             public MethodInfo Method { get { return _node.Method; } }
46             public ExpressionType NodeType { get { return _node.NodeType; } }
47             public Expression Right { get { return _node.Right; } }
48             public Type Type { get { return _node.Type; } }
49         }
50
51         internal class BlockExpressionProxy {
52             private readonly BlockExpression _node;
53
54             public BlockExpressionProxy(BlockExpression node) {
55                 _node = node;
56             }
57
58             public Boolean CanReduce { get { return _node.CanReduce; } }
59             public String DebugView { get { return _node.DebugView; } }
60             public ReadOnlyCollection<Expression> Expressions { get { return _node.Expressions; } }
61             public ExpressionType NodeType { get { return _node.NodeType; } }
62             public Expression Result { get { return _node.Result; } }
63             public Type Type { get { return _node.Type; } }
64             public ReadOnlyCollection<ParameterExpression> Variables { get { return _node.Variables; } }
65         }
66
67         internal class CatchBlockProxy {
68             private readonly CatchBlock _node;
69
70             public CatchBlockProxy(CatchBlock node) {
71                 _node = node;
72             }
73
74             public Expression Body { get { return _node.Body; } }
75             public Expression Filter { get { return _node.Filter; } }
76             public Type Test { get { return _node.Test; } }
77             public ParameterExpression Variable { get { return _node.Variable; } }
78         }
79
80         internal class ConditionalExpressionProxy {
81             private readonly ConditionalExpression _node;
82
83             public ConditionalExpressionProxy(ConditionalExpression node) {
84                 _node = node;
85             }
86
87             public Boolean CanReduce { get { return _node.CanReduce; } }
88             public String DebugView { get { return _node.DebugView; } }
89             public Expression IfFalse { get { return _node.IfFalse; } }
90             public Expression IfTrue { get { return _node.IfTrue; } }
91             public ExpressionType NodeType { get { return _node.NodeType; } }
92             public Expression Test { get { return _node.Test; } }
93             public Type Type { get { return _node.Type; } }
94         }
95
96         internal class ConstantExpressionProxy {
97             private readonly ConstantExpression _node;
98
99             public ConstantExpressionProxy(ConstantExpression node) {
100                 _node = node;
101             }
102
103             public Boolean CanReduce { get { return _node.CanReduce; } }
104             public String DebugView { get { return _node.DebugView; } }
105             public ExpressionType NodeType { get { return _node.NodeType; } }
106             public Type Type { get { return _node.Type; } }
107             public Object Value { get { return _node.Value; } }
108         }
109
110         internal class DebugInfoExpressionProxy {
111             private readonly DebugInfoExpression _node;
112
113             public DebugInfoExpressionProxy(DebugInfoExpression node) {
114                 _node = node;
115             }
116
117             public Boolean CanReduce { get { return _node.CanReduce; } }
118             public String DebugView { get { return _node.DebugView; } }
119             public SymbolDocumentInfo Document { get { return _node.Document; } }
120             public Int32 EndColumn { get { return _node.EndColumn; } }
121             public Int32 EndLine { get { return _node.EndLine; } }
122             public Boolean IsClear { get { return _node.IsClear; } }
123             public ExpressionType NodeType { get { return _node.NodeType; } }
124             public Int32 StartColumn { get { return _node.StartColumn; } }
125             public Int32 StartLine { get { return _node.StartLine; } }
126             public Type Type { get { return _node.Type; } }
127         }
128
129         internal class DefaultExpressionProxy {
130             private readonly DefaultExpression _node;
131
132             public DefaultExpressionProxy(DefaultExpression node) {
133                 _node = node;
134             }
135
136             public Boolean CanReduce { get { return _node.CanReduce; } }
137             public String DebugView { get { return _node.DebugView; } }
138             public ExpressionType NodeType { get { return _node.NodeType; } }
139             public Type Type { get { return _node.Type; } }
140         }
141
142         internal class DynamicExpressionProxy {
143             private readonly DynamicExpression _node;
144
145             public DynamicExpressionProxy(DynamicExpression node) {
146                 _node = node;
147             }
148
149             public ReadOnlyCollection<Expression> Arguments { get { return _node.Arguments; } }
150             public CallSiteBinder Binder { get { return _node.Binder; } }
151             public Boolean CanReduce { get { return _node.CanReduce; } }
152             public String DebugView { get { return _node.DebugView; } }
153             public Type DelegateType { get { return _node.DelegateType; } }
154             public ExpressionType NodeType { get { return _node.NodeType; } }
155             public Type Type { get { return _node.Type; } }
156         }
157
158         internal class GotoExpressionProxy {
159             private readonly GotoExpression _node;
160
161             public GotoExpressionProxy(GotoExpression node) {
162                 _node = node;
163             }
164
165             public Boolean CanReduce { get { return _node.CanReduce; } }
166             public String DebugView { get { return _node.DebugView; } }
167             public GotoExpressionKind Kind { get { return _node.Kind; } }
168             public ExpressionType NodeType { get { return _node.NodeType; } }
169             public LabelTarget Target { get { return _node.Target; } }
170             public Type Type { get { return _node.Type; } }
171             public Expression Value { get { return _node.Value; } }
172         }
173
174         internal class IndexExpressionProxy {
175             private readonly IndexExpression _node;
176
177             public IndexExpressionProxy(IndexExpression node) {
178                 _node = node;
179             }
180
181             public ReadOnlyCollection<Expression> Arguments { get { return _node.Arguments; } }
182             public Boolean CanReduce { get { return _node.CanReduce; } }
183             public String DebugView { get { return _node.DebugView; } }
184             public PropertyInfo Indexer { get { return _node.Indexer; } }
185             public ExpressionType NodeType { get { return _node.NodeType; } }
186             public Expression Object { get { return _node.Object; } }
187             public Type Type { get { return _node.Type; } }
188         }
189
190         internal class InvocationExpressionProxy {
191             private readonly InvocationExpression _node;
192
193             public InvocationExpressionProxy(InvocationExpression node) {
194                 _node = node;
195             }
196
197             public ReadOnlyCollection<Expression> Arguments { get { return _node.Arguments; } }
198             public Boolean CanReduce { get { return _node.CanReduce; } }
199             public String DebugView { get { return _node.DebugView; } }
200             public Expression Expression { get { return _node.Expression; } }
201             public ExpressionType NodeType { get { return _node.NodeType; } }
202             public Type Type { get { return _node.Type; } }
203         }
204
205         internal class LabelExpressionProxy {
206             private readonly LabelExpression _node;
207
208             public LabelExpressionProxy(LabelExpression node) {
209                 _node = node;
210             }
211
212             public Boolean CanReduce { get { return _node.CanReduce; } }
213             public String DebugView { get { return _node.DebugView; } }
214             public Expression DefaultValue { get { return _node.DefaultValue; } }
215             public ExpressionType NodeType { get { return _node.NodeType; } }
216             public LabelTarget Target { get { return _node.Target; } }
217             public Type Type { get { return _node.Type; } }
218         }
219
220         internal class LambdaExpressionProxy {
221             private readonly LambdaExpression _node;
222
223             public LambdaExpressionProxy(LambdaExpression node) {
224                 _node = node;
225             }
226
227             public Expression Body { get { return _node.Body; } }
228             public Boolean CanReduce { get { return _node.CanReduce; } }
229             public String DebugView { get { return _node.DebugView; } }
230             public String Name { get { return _node.Name; } }
231             public ExpressionType NodeType { get { return _node.NodeType; } }
232             public ReadOnlyCollection<ParameterExpression> Parameters { get { return _node.Parameters; } }
233             public Type ReturnType { get { return _node.ReturnType; } }
234             public Boolean TailCall { get { return _node.TailCall; } }
235             public Type Type { get { return _node.Type; } }
236         }
237
238         internal class ListInitExpressionProxy {
239             private readonly ListInitExpression _node;
240
241             public ListInitExpressionProxy(ListInitExpression node) {
242                 _node = node;
243             }
244
245             public Boolean CanReduce { get { return _node.CanReduce; } }
246             public String DebugView { get { return _node.DebugView; } }
247             public ReadOnlyCollection<ElementInit> Initializers { get { return _node.Initializers; } }
248             public NewExpression NewExpression { get { return _node.NewExpression; } }
249             public ExpressionType NodeType { get { return _node.NodeType; } }
250             public Type Type { get { return _node.Type; } }
251         }
252
253         internal class LoopExpressionProxy {
254             private readonly LoopExpression _node;
255
256             public LoopExpressionProxy(LoopExpression node) {
257                 _node = node;
258             }
259
260             public Expression Body { get { return _node.Body; } }
261             public LabelTarget BreakLabel { get { return _node.BreakLabel; } }
262             public Boolean CanReduce { get { return _node.CanReduce; } }
263             public LabelTarget ContinueLabel { get { return _node.ContinueLabel; } }
264             public String DebugView { get { return _node.DebugView; } }
265             public ExpressionType NodeType { get { return _node.NodeType; } }
266             public Type Type { get { return _node.Type; } }
267         }
268
269         internal class MemberExpressionProxy {
270             private readonly MemberExpression _node;
271
272             public MemberExpressionProxy(MemberExpression node) {
273                 _node = node;
274             }
275
276             public Boolean CanReduce { get { return _node.CanReduce; } }
277             public String DebugView { get { return _node.DebugView; } }
278             public Expression Expression { get { return _node.Expression; } }
279             public MemberInfo Member { get { return _node.Member; } }
280             public ExpressionType NodeType { get { return _node.NodeType; } }
281             public Type Type { get { return _node.Type; } }
282         }
283
284         internal class MemberInitExpressionProxy {
285             private readonly MemberInitExpression _node;
286
287             public MemberInitExpressionProxy(MemberInitExpression node) {
288                 _node = node;
289             }
290
291             public ReadOnlyCollection<MemberBinding> Bindings { get { return _node.Bindings; } }
292             public Boolean CanReduce { get { return _node.CanReduce; } }
293             public String DebugView { get { return _node.DebugView; } }
294             public NewExpression NewExpression { get { return _node.NewExpression; } }
295             public ExpressionType NodeType { get { return _node.NodeType; } }
296             public Type Type { get { return _node.Type; } }
297         }
298
299         internal class MethodCallExpressionProxy {
300             private readonly MethodCallExpression _node;
301
302             public MethodCallExpressionProxy(MethodCallExpression node) {
303                 _node = node;
304             }
305
306             public ReadOnlyCollection<Expression> Arguments { get { return _node.Arguments; } }
307             public Boolean CanReduce { get { return _node.CanReduce; } }
308             public String DebugView { get { return _node.DebugView; } }
309             public MethodInfo Method { get { return _node.Method; } }
310             public ExpressionType NodeType { get { return _node.NodeType; } }
311             public Expression Object { get { return _node.Object; } }
312             public Type Type { get { return _node.Type; } }
313         }
314
315         internal class NewArrayExpressionProxy {
316             private readonly NewArrayExpression _node;
317
318             public NewArrayExpressionProxy(NewArrayExpression node) {
319                 _node = node;
320             }
321
322             public Boolean CanReduce { get { return _node.CanReduce; } }
323             public String DebugView { get { return _node.DebugView; } }
324             public ReadOnlyCollection<Expression> Expressions { get { return _node.Expressions; } }
325             public ExpressionType NodeType { get { return _node.NodeType; } }
326             public Type Type { get { return _node.Type; } }
327         }
328
329         internal class NewExpressionProxy {
330             private readonly NewExpression _node;
331
332             public NewExpressionProxy(NewExpression node) {
333                 _node = node;
334             }
335
336             public ReadOnlyCollection<Expression> Arguments { get { return _node.Arguments; } }
337             public Boolean CanReduce { get { return _node.CanReduce; } }
338             public ConstructorInfo Constructor { get { return _node.Constructor; } }
339             public String DebugView { get { return _node.DebugView; } }
340             public ReadOnlyCollection<MemberInfo> Members { get { return _node.Members; } }
341             public ExpressionType NodeType { get { return _node.NodeType; } }
342             public Type Type { get { return _node.Type; } }
343         }
344
345         internal class ParameterExpressionProxy {
346             private readonly ParameterExpression _node;
347
348             public ParameterExpressionProxy(ParameterExpression node) {
349                 _node = node;
350             }
351
352             public Boolean CanReduce { get { return _node.CanReduce; } }
353             public String DebugView { get { return _node.DebugView; } }
354             public Boolean IsByRef { get { return _node.IsByRef; } }
355             public String Name { get { return _node.Name; } }
356             public ExpressionType NodeType { get { return _node.NodeType; } }
357             public Type Type { get { return _node.Type; } }
358         }
359
360         internal class RuntimeVariablesExpressionProxy {
361             private readonly RuntimeVariablesExpression _node;
362
363             public RuntimeVariablesExpressionProxy(RuntimeVariablesExpression node) {
364                 _node = node;
365             }
366
367             public Boolean CanReduce { get { return _node.CanReduce; } }
368             public String DebugView { get { return _node.DebugView; } }
369             public ExpressionType NodeType { get { return _node.NodeType; } }
370             public Type Type { get { return _node.Type; } }
371             public ReadOnlyCollection<ParameterExpression> Variables { get { return _node.Variables; } }
372         }
373
374         internal class SwitchCaseProxy {
375             private readonly SwitchCase _node;
376
377             public SwitchCaseProxy(SwitchCase node) {
378                 _node = node;
379             }
380
381             public Expression Body { get { return _node.Body; } }
382             public ReadOnlyCollection<Expression> TestValues { get { return _node.TestValues; } }
383         }
384
385         internal class SwitchExpressionProxy {
386             private readonly SwitchExpression _node;
387
388             public SwitchExpressionProxy(SwitchExpression node) {
389                 _node = node;
390             }
391
392             public Boolean CanReduce { get { return _node.CanReduce; } }
393             public ReadOnlyCollection<SwitchCase> Cases { get { return _node.Cases; } }
394             public MethodInfo Comparison { get { return _node.Comparison; } }
395             public String DebugView { get { return _node.DebugView; } }
396             public Expression DefaultBody { get { return _node.DefaultBody; } }
397             public ExpressionType NodeType { get { return _node.NodeType; } }
398             public Expression SwitchValue { get { return _node.SwitchValue; } }
399             public Type Type { get { return _node.Type; } }
400         }
401
402         internal class TryExpressionProxy {
403             private readonly TryExpression _node;
404
405             public TryExpressionProxy(TryExpression node) {
406                 _node = node;
407             }
408
409             public Expression Body { get { return _node.Body; } }
410             public Boolean CanReduce { get { return _node.CanReduce; } }
411             public String DebugView { get { return _node.DebugView; } }
412             public Expression Fault { get { return _node.Fault; } }
413             public Expression Finally { get { return _node.Finally; } }
414             public ReadOnlyCollection<CatchBlock> Handlers { get { return _node.Handlers; } }
415             public ExpressionType NodeType { get { return _node.NodeType; } }
416             public Type Type { get { return _node.Type; } }
417         }
418
419         internal class TypeBinaryExpressionProxy {
420             private readonly TypeBinaryExpression _node;
421
422             public TypeBinaryExpressionProxy(TypeBinaryExpression node) {
423                 _node = node;
424             }
425
426             public Boolean CanReduce { get { return _node.CanReduce; } }
427             public String DebugView { get { return _node.DebugView; } }
428             public Expression Expression { get { return _node.Expression; } }
429             public ExpressionType NodeType { get { return _node.NodeType; } }
430             public Type Type { get { return _node.Type; } }
431             public Type TypeOperand { get { return _node.TypeOperand; } }
432         }
433
434         internal class UnaryExpressionProxy {
435             private readonly UnaryExpression _node;
436
437             public UnaryExpressionProxy(UnaryExpression node) {
438                 _node = node;
439             }
440
441             public Boolean CanReduce { get { return _node.CanReduce; } }
442             public String DebugView { get { return _node.DebugView; } }
443             public Boolean IsLifted { get { return _node.IsLifted; } }
444             public Boolean IsLiftedToNull { get { return _node.IsLiftedToNull; } }
445             public MethodInfo Method { get { return _node.Method; } }
446             public ExpressionType NodeType { get { return _node.NodeType; } }
447             public Expression Operand { get { return _node.Operand; } }
448             public Type Type { get { return _node.Type; } }
449         }
450
451         // *** END GENERATED CODE ***
452
453         #endregion
454     }
455 }