11 [DebuggerTypeProxy(typeof(LambdaExpressionProxy))]
12 [global::__DynamicallyInvokable]
15 private readonly
string _name;
21 private readonly
Type _delegateType;
23 private readonly
bool _tailCall;
27 [global::__DynamicallyInvokable]
30 [global::__DynamicallyInvokable]
39 [global::__DynamicallyInvokable]
42 [global::__DynamicallyInvokable]
51 [global::__DynamicallyInvokable]
54 [global::__DynamicallyInvokable]
63 [global::__DynamicallyInvokable]
66 [global::__DynamicallyInvokable]
75 [global::__DynamicallyInvokable]
78 [global::__DynamicallyInvokable]
87 [global::__DynamicallyInvokable]
90 [global::__DynamicallyInvokable]
99 [global::__DynamicallyInvokable]
102 [global::__DynamicallyInvokable]
113 _parameters = parameters;
114 _delegateType = delegateType;
115 _tailCall = tailCall;
120 [global::__DynamicallyInvokable]
123 return LambdaCompiler.Compile(
this,
null);
131 ContractUtils.RequiresNotNull(debugInfoGenerator,
"debugInfoGenerator");
132 return LambdaCompiler.Compile(
this, debugInfoGenerator);
148 CompileToMethodInternal(method,
null);
156 ContractUtils.RequiresNotNull(debugInfoGenerator,
"debugInfoGenerator");
157 CompileToMethodInternal(method, debugInfoGenerator);
162 ContractUtils.RequiresNotNull(method,
"method");
163 ContractUtils.Requires(method.
IsStatic,
"method");
167 throw Error.MethodBuilderDoesNotHaveTypeBuilder();
169 LambdaCompiler.Compile(
this, method, debugInfoGenerator);
172 internal abstract LambdaExpression Accept(StackSpiller spiller);
bool TailCall
Gets the value that indicates if the lambda expression will be compiled with the tail call optimizati...
Delegate Compile(bool preferInterpretation)
Produces an interpreted or compiled delegate that represents the lambda expression.
Generates debug information for lambda expressions in an expression tree.
bool IsStatic
Gets a value indicating whether the method is static.
Provides the base class from which the classes that represent expression tree nodes are derived....
Defines and creates new instances of classes during run time.
Delegate Compile(DebugInfoGenerator debugInfoGenerator)
Produces a delegate that represents the lambda expression.
Represents a delegate, which is a data structure that refers to a static method or to a class instanc...
Represents type declarations: class types, interface types, array types, value types,...
Type ReturnType
Gets the return type of the lambda expression.
ExpressionType
Describes the node types for the nodes of an expression tree.
MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers)
Searches for the specified method whose parameters match the specified argument types and modifiers,...
Defines and represents a method (or constructor) on a dynamic class.
sealed override ExpressionType NodeType
Returns the node type of this T:System.Linq.Expressions.Expression.
override Type DeclaringType
Returns the type that declares this method.
Describes a lambda expression. This captures a block of code that is similar to a ....
string Name
Gets the name of the lambda expression.
Delegate Compile()
Produces a delegate that represents the lambda expression.
Expression Body
Gets the body of the lambda expression.
void CompileToMethod(MethodBuilder method)
Compiles the lambda into a method definition.
ReadOnlyCollection< ParameterExpression > Parameters
Gets the parameters of the lambda expression.
void CompileToMethod(MethodBuilder method, DebugInfoGenerator debugInfoGenerator)
Compiles the lambda into a method definition and custom debug information.