Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ VisitCatchBlock()

override CatchBlock System.Runtime.CompilerServices.RuntimeOps.ExpressionQuoter.VisitCatchBlock ( CatchBlock node)
inlineprotectedvirtual

Reimplemented from System.Linq.Expressions.ExpressionVisitor.

Definition at line 139 of file RuntimeOps.cs.

140 {
141 if (node.Variable != null)
142 {
143 _shadowedVars.Push(new HashSet<ParameterExpression> { node.Variable });
144 }
147 if (node.Variable != null)
148 {
150 }
151 if (expression == node.Body && expression2 == node.Filter)
152 {
153 return node;
154 }
155 return Expression.MakeCatchBlock(node.Test, node.Variable, expression, expression2);
156 }
virtual ? Expression Visit(Expression? node)
static CatchBlock MakeCatchBlock(Type type, ParameterExpression? variable, Expression body, Expression? filter)
readonly Stack< HashSet< ParameterExpression > > _shadowedVars
Definition RuntimeOps.cs:89

References System.Runtime.CompilerServices.RuntimeOps.ExpressionQuoter._shadowedVars, System.Linq.Expressions.Expression< TDelegate >.MakeCatchBlock(), System.Collections.Generic.Stack< T >.Pop(), System.Collections.Generic.Stack< T >.Push(), and System.Linq.Expressions.ExpressionVisitor.Visit().