1 /* ****************************************************************************
3 * Copyright (c) Microsoft Corporation.
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.
11 * You must not remove this notice, or any other, from this software.
14 * ***************************************************************************/
17 using System
.Collections
.ObjectModel
;
18 using System
.Reflection
;
19 using System
.Runtime
.CompilerServices
;
22 namespace Microsoft
.Scripting
.Ast
{
24 namespace System
.Linq
.Expressions
{
26 public partial class Expression
{
27 #region Generated Expression Debugger Proxies
29 // *** BEGIN GENERATED CODE ***
30 // generated by function: gen_debug_proxies from: generate_tree.py
32 internal class BinaryExpressionProxy
{
33 private readonly BinaryExpression _node
;
35 public BinaryExpressionProxy(BinaryExpression node
) {
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; }
}
51 internal class BlockExpressionProxy
{
52 private readonly BlockExpression _node
;
54 public BlockExpressionProxy(BlockExpression node
) {
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; }
}
67 internal class CatchBlockProxy
{
68 private readonly CatchBlock _node
;
70 public CatchBlockProxy(CatchBlock node
) {
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; }
}
80 internal class ConditionalExpressionProxy
{
81 private readonly ConditionalExpression _node
;
83 public ConditionalExpressionProxy(ConditionalExpression node
) {
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; }
}
96 internal class ConstantExpressionProxy
{
97 private readonly ConstantExpression _node
;
99 public ConstantExpressionProxy(ConstantExpression node
) {
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; }
}
110 internal class DebugInfoExpressionProxy
{
111 private readonly DebugInfoExpression _node
;
113 public DebugInfoExpressionProxy(DebugInfoExpression node
) {
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; }
}
129 internal class DefaultExpressionProxy
{
130 private readonly DefaultExpression _node
;
132 public DefaultExpressionProxy(DefaultExpression node
) {
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; }
}
142 internal class DynamicExpressionProxy
{
143 private readonly DynamicExpression _node
;
145 public DynamicExpressionProxy(DynamicExpression node
) {
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; }
}
158 internal class GotoExpressionProxy
{
159 private readonly GotoExpression _node
;
161 public GotoExpressionProxy(GotoExpression node
) {
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; }
}
174 internal class IndexExpressionProxy
{
175 private readonly IndexExpression _node
;
177 public IndexExpressionProxy(IndexExpression node
) {
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; }
}
190 internal class InvocationExpressionProxy
{
191 private readonly InvocationExpression _node
;
193 public InvocationExpressionProxy(InvocationExpression node
) {
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; }
}
205 internal class LabelExpressionProxy
{
206 private readonly LabelExpression _node
;
208 public LabelExpressionProxy(LabelExpression node
) {
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; }
}
220 internal class LambdaExpressionProxy
{
221 private readonly LambdaExpression _node
;
223 public LambdaExpressionProxy(LambdaExpression node
) {
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; }
}
238 internal class ListInitExpressionProxy
{
239 private readonly ListInitExpression _node
;
241 public ListInitExpressionProxy(ListInitExpression node
) {
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; }
}
253 internal class LoopExpressionProxy
{
254 private readonly LoopExpression _node
;
256 public LoopExpressionProxy(LoopExpression node
) {
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; }
}
269 internal class MemberExpressionProxy
{
270 private readonly MemberExpression _node
;
272 public MemberExpressionProxy(MemberExpression node
) {
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; }
}
284 internal class MemberInitExpressionProxy
{
285 private readonly MemberInitExpression _node
;
287 public MemberInitExpressionProxy(MemberInitExpression node
) {
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; }
}
299 internal class MethodCallExpressionProxy
{
300 private readonly MethodCallExpression _node
;
302 public MethodCallExpressionProxy(MethodCallExpression node
) {
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; }
}
315 internal class NewArrayExpressionProxy
{
316 private readonly NewArrayExpression _node
;
318 public NewArrayExpressionProxy(NewArrayExpression node
) {
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; }
}
329 internal class NewExpressionProxy
{
330 private readonly NewExpression _node
;
332 public NewExpressionProxy(NewExpression node
) {
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; }
}
345 internal class ParameterExpressionProxy
{
346 private readonly ParameterExpression _node
;
348 public ParameterExpressionProxy(ParameterExpression node
) {
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; }
}
360 internal class RuntimeVariablesExpressionProxy
{
361 private readonly RuntimeVariablesExpression _node
;
363 public RuntimeVariablesExpressionProxy(RuntimeVariablesExpression node
) {
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; }
}
374 internal class SwitchCaseProxy
{
375 private readonly SwitchCase _node
;
377 public SwitchCaseProxy(SwitchCase node
) {
381 public Expression Body { get { return _node.Body; }
}
382 public ReadOnlyCollection
<Expression
> TestValues { get { return _node.TestValues; }
}
385 internal class SwitchExpressionProxy
{
386 private readonly SwitchExpression _node
;
388 public SwitchExpressionProxy(SwitchExpression node
) {
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; }
}
402 internal class TryExpressionProxy
{
403 private readonly TryExpression _node
;
405 public TryExpressionProxy(TryExpression node
) {
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; }
}
419 internal class TypeBinaryExpressionProxy
{
420 private readonly TypeBinaryExpression _node
;
422 public TypeBinaryExpressionProxy(TypeBinaryExpression node
) {
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; }
}
434 internal class UnaryExpressionProxy
{
435 private readonly UnaryExpression _node
;
437 public UnaryExpressionProxy(UnaryExpression node
) {
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; }
}
451 // *** END GENERATED CODE ***