6 types derived from BlockExpression
System.Linq.Expressions (6)
System\Linq\Expressions\BlockExpression.cs (6)
189internal sealed class Block2 : BlockExpression 249internal sealed class Block3 : BlockExpression 315internal sealed class Block4 : BlockExpression 387internal sealed class Block5 : BlockExpression 465internal class BlockN : BlockExpression 502internal class ScopeExpression : BlockExpression
113 references to BlockExpression
Microsoft.AspNetCore.Http.Extensions (11)
RequestDelegateFactory.cs (11)
467var handlerInvocation = Expression.Block( 976var checkWasParamCheckFailureWithFilters = Expression.Block( 1724var failBlock = Expression.Block( 1740var checkRequiredParaseableParameterBlock = Expression.Block( 1754var tryParseExpression = Expression.Block(new[] { parsedValue }, 1775var arrayLoop = parameter.ParameterType.IsArray ? Expression.Block( 1800var fullParamCheckBlock = (parameter.ParameterType.IsArray, isOptional) switch 1881var checkRequiredStringParameterBlock = Expression.Block( 1965var checkRequiredBodyBlock = Expression.Block( 2162var bindAndCheckForm = Expression.Block( 2293var checkRequiredBodyBlock = Expression.Block(
Microsoft.AspNetCore.Http.Extensions.Tests (2)
ParameterBindingMethodCacheTests.cs (2)
205var block = methodFound!(parsedValue, Expression.Constant(CultureInfo.InvariantCulture)) as BlockExpression;
Microsoft.AspNetCore.Mvc.Core (1)
ModelBinding\Binders\TryParseModelBinder.cs (1)
129var expression = Expression.Block(
Microsoft.Extensions.DependencyInjection (2)
ServiceLookup\Expressions\ExpressionResolverBuilder.cs (2)
254BlockExpression blockExpression = Expression.Block( 276BlockExpression tryBody = Expression.Block(monitorEnter, blockExpression);
Microsoft.Extensions.DependencyInjection.Abstractions (1)
ActivatorUtilities.cs (1)
395private static BlockExpression BuildFactoryExpression(
netstandard (1)
netstandard.cs (1)
987[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Linq.Expressions.BlockExpression))]
System.Composition.TypedParts (1)
System\Composition\TypedParts\ActivationFeatures\PropertyInjectionFeature.cs (1)
102var setAll = Expression.Block(new[] { typed }, statements);
System.Core (1)
System.Core.cs (1)
125[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Linq.Expressions.BlockExpression))]
System.Linq.Expressions (92)
System\Dynamic\Utils\ExpressionVisitorUtils.cs (1)
10public static Expression[]? VisitBlockExpressions(ExpressionVisitor visitor, BlockExpression block)
System\Linq\Expressions\BlockExpression.cs (51)
67public BlockExpression Update(IEnumerable<ParameterExpression>? variables, IEnumerable<Expression> expressions) 152internal virtual BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 170internal static ReadOnlyCollection<Expression> ReturnReadOnlyExpressions(BlockExpression provider, ref object collection) 239internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 305internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 377internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 455internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 493internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args) 586internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[]? args) 625internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[]? args) 650internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[]? args) 681private readonly BlockExpression _block; 684internal BlockExpressionList(BlockExpression provider, Expression arg0) 831/// Creates a <see cref="BlockExpression"/> that contains two expressions and has no variables. 835/// <returns>The created <see cref="BlockExpression"/>.</returns> 836public static BlockExpression Block(Expression arg0, Expression arg1) 845/// Creates a <see cref="BlockExpression"/> that contains three expressions and has no variables. 850/// <returns>The created <see cref="BlockExpression"/>.</returns> 851public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2) 860/// Creates a <see cref="BlockExpression"/> that contains four expressions and has no variables. 866/// <returns>The created <see cref="BlockExpression"/>.</returns> 867public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3) 877/// Creates a <see cref="BlockExpression"/> that contains five expressions and has no variables. 884/// <returns>The created <see cref="BlockExpression"/>.</returns> 885public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4) 897/// Creates a <see cref="BlockExpression"/> that contains the given expressions and has no variables. 900/// <returns>The created <see cref="BlockExpression"/>.</returns> 901public static BlockExpression Block(params Expression[] expressions) 910/// Creates a <see cref="BlockExpression"/> that contains the given expressions and has no variables. 913/// <returns>The created <see cref="BlockExpression"/>.</returns> 914public static BlockExpression Block(IEnumerable<Expression> expressions) 920/// Creates a <see cref="BlockExpression"/> that contains the given expressions, has no variables and has specific result type. 924/// <returns>The created <see cref="BlockExpression"/>.</returns> 925public static BlockExpression Block(Type type, params Expression[] expressions) 932/// Creates a <see cref="BlockExpression"/> that contains the given expressions, has no variables and has specific result type. 936/// <returns>The created <see cref="BlockExpression"/>.</returns> 937public static BlockExpression Block(Type type, IEnumerable<Expression> expressions) 943/// Creates a <see cref="BlockExpression"/> that contains the given variables and expressions. 947/// <returns>The created <see cref="BlockExpression"/>.</returns> 948public static BlockExpression Block(IEnumerable<ParameterExpression>? variables, params Expression[] expressions) 954/// Creates a <see cref="BlockExpression"/> that contains the given variables and expressions. 959/// <returns>The created <see cref="BlockExpression"/>.</returns> 960public static BlockExpression Block(Type type, IEnumerable<ParameterExpression>? variables, params Expression[] expressions) 966/// Creates a <see cref="BlockExpression"/> that contains the given variables and expressions. 970/// <returns>The created <see cref="BlockExpression"/>.</returns> 971public static BlockExpression Block(IEnumerable<ParameterExpression>? variables, IEnumerable<Expression> expressions) 993/// Creates a <see cref="BlockExpression"/> that contains the given variables and expressions. 998/// <returns>The created <see cref="BlockExpression"/>.</returns> 999public static BlockExpression Block(Type type, IEnumerable<ParameterExpression>? variables, IEnumerable<Expression> expressions) 1027private static BlockExpression BlockCore(Type? type, ReadOnlyCollection<ParameterExpression> variables, ReadOnlyCollection<Expression> expressions) 1088private static BlockExpression GetOptimizedBlockExpression(IReadOnlyList<Expression> expressions)
System\Linq\Expressions\Compiler\CompilerScope.cs (3)
77internal HashSet<BlockExpression>? MergedScopes; 473foreach (BlockExpression scope in MergedScopes!) 488if (scope is BlockExpression block)
System\Linq\Expressions\Compiler\LambdaCompiler.ControlFlow.cs (4)
223var block = node as BlockExpression; 262var body = (BlockExpression)expression;
System\Linq\Expressions\Compiler\LambdaCompiler.Expressions.cs (1)
95Emit((BlockExpression)node, UpdateEmitAsTypeFlag(flags, CompilationFlags.EmitAsVoidType));
System\Linq\Expressions\Compiler\LambdaCompiler.Logical.cs (4)
66var block = node as BlockExpression; 472EmitBranchBlock(branchValue, (BlockExpression)node, label); 643private void EmitBranchBlock(bool branch, BlockExpression node, Label label)
System\Linq\Expressions\Compiler\LambdaCompiler.Statements.cs (5)
21Emit((BlockExpression)expr, UpdateEmitAsTypeFlag(flags, CompilationFlags.EmitAsDefaultType)); 24private void Emit(BlockExpression node, CompilationFlags flags) 113var block = node as BlockExpression; 731BlockExpression reduced = Expression.Block(
System\Linq\Expressions\Compiler\StackSpiller.cs (2)
777var node = (BlockExpression)expr;
System\Linq\Expressions\Compiler\StackSpiller.SpilledExpressionBlock.cs (1)
56internal override BlockExpression Rewrite(ReadOnlyCollection<ParameterExpression>? variables, Expression[] args)
System\Linq\Expressions\Compiler\VariableBinder.cs (5)
117protected internal override Expression VisitBlock(BlockExpression node) 158body = ((BlockExpression)node).Expressions; 167var block = (BlockExpression)body[0]; 182currentScope.MergedScopes ??= new HashSet<BlockExpression>(ReferenceEqualityComparer.Instance);
System\Linq\Expressions\DebugViewWriter.cs (1)
966protected internal override Expression VisitBlock(BlockExpression node)
System\Linq\Expressions\Expression.DebuggerProxy.cs (2)
36private readonly BlockExpression _node; 38public BlockExpressionProxy(BlockExpression node)
System\Linq\Expressions\ExpressionStringBuilder.cs (1)
656protected internal override Expression VisitBlock(BlockExpression node)
System\Linq\Expressions\ExpressionVisitor.cs (2)
206/// Visits the children of the <see cref="BlockExpression"/>. 211protected internal virtual Expression VisitBlock(BlockExpression node)
System\Linq\Expressions\IArgumentProvider.cs (1)
19/// <see cref="BlockExpression"/>, <see cref="InvocationExpression"/>, <see cref="MethodCallExpression"/>.
System\Linq\Expressions\Interpreter\LightCompiler.cs (6)
517var node = (BlockExpression)expr; 529private LocalDefinition[] CompileBlockStart(BlockExpression node) 1896var block = node as BlockExpression; 2800protected internal override Expression VisitBlock(BlockExpression node)
System\Linq\Expressions\Interpreter\TypeOperations.cs (1)
538protected internal override Expression VisitBlock(BlockExpression node)
System\Runtime\CompilerServices\RuntimeOps.ExpressionQuoter.cs (1)
93protected internal override Expression VisitBlock(BlockExpression node)
System.Linq.Queryable (1)
System\Linq\EnumerableRewriter.cs (1)
395protected override Expression VisitBlock(BlockExpression node)