Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
BlockExpression.cs
Go to the documentation of this file.
7
9
10[DebuggerTypeProxy(typeof(BlockExpressionProxy))]
12{
14
16
18
19 public sealed override ExpressionType NodeType => ExpressionType.Block;
20
21 public override Type Type => GetExpression(ExpressionCount - 1).Type;
22
23 [ExcludeFromCodeCoverage(Justification = "Unreachable")]
24 internal virtual int ExpressionCount
25 {
26 get
27 {
29 }
30 }
31
32 internal BlockExpression()
33 {
34 }
35
36 protected internal override Expression Accept(ExpressionVisitor visitor)
37 {
38 return visitor.VisitBlock(this);
39 }
40
42 {
43 if (expressions != null)
44 {
46 if (variables == null)
47 {
48 collection = null;
49 }
50 else
51 {
53 if (collection == null)
54 {
55 variables = (collection = variables.ToReadOnly());
56 }
57 }
59 {
61 if (collection2 == null)
62 {
63 expressions = (collection2 = expressions.ToReadOnly());
64 }
66 {
67 return this;
68 }
69 }
70 }
72 }
73
75 {
76 if (variables != null)
77 {
78 return variables.Count == 0;
79 }
80 return true;
81 }
82
83 [ExcludeFromCodeCoverage(Justification = "Unreachable")]
88
89 [ExcludeFromCodeCoverage(Justification = "Unreachable")]
90 internal virtual Expression GetExpression(int index)
91 {
93 }
94
95 [ExcludeFromCodeCoverage(Justification = "Unreachable")]
100
105
106 [ExcludeFromCodeCoverage(Justification = "Unreachable")]
111
120}
virtual BlockExpression Rewrite(ReadOnlyCollection< ParameterExpression > variables, Expression[] args)
override Expression Accept(ExpressionVisitor visitor)
virtual ReadOnlyCollection< Expression > GetOrMakeExpressions()
static ReadOnlyCollection< Expression > ReturnReadOnlyExpressions(BlockExpression provider, ref object collection)
virtual Expression GetExpression(int index)
virtual bool SameVariables(ICollection< ParameterExpression > variables)
virtual bool SameExpressions(ICollection< Expression > expressions)
virtual ReadOnlyCollection< ParameterExpression > GetOrMakeVariables()
ReadOnlyCollection< ParameterExpression > Variables
BlockExpression Update(IEnumerable< ParameterExpression >? variables, IEnumerable< Expression > expressions)
static BlockExpression Block(Expression arg0, Expression arg1)
static int CompareExchange(ref int location1, int value, int comparand)