예제 #1
0
 internal LocalBoxStorage(LambdaCompiler compiler, ParameterExpression variable)
     : base(compiler, variable)
 {
     _boxType       = typeof(StrongBox <>).MakeGenericType(variable.Type);
     _boxValueField = _boxType.GetField("Value");
     _boxLocal      = compiler.GetNamedLocal(_boxType, variable);
 }
예제 #2
0
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression v)
     : base(compiler, v) {
     // ByRef variables are supported. This is used internally by
     // the compiler when emitting an inlined lambda invoke, to 
     // handle ByRef parameters. BlockExpression prevents this
     // from being exposed to user created trees.
     _local = compiler.GetNamedLocal(v.IsByRef ? v.Type.MakeByRefType() : v.Type, v.Name);
 }
예제 #3
0
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression variable)
     : base(compiler, variable)
 {
     // ByRef variables are supported. This is used internally by
     // the compiler when emitting an inlined lambda invoke, to
     // handle ByRef parameters. BlockExpression prevents this
     // from being exposed to user created trees.
     _local = compiler.GetNamedLocal(variable.IsByRef ? variable.Type.MakeByRefType() : variable.Type, variable);
 }
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression variable) : base(compiler, variable)
 {
     this._local = compiler.GetNamedLocal(variable.IsByRef ? variable.Type.MakeByRefType() : variable.Type, variable);
 }
 internal LocalBoxStorage(LambdaCompiler compiler, ParameterExpression variable) : base(compiler, variable)
 {
     this._boxType = typeof(StrongBox<>).MakeGenericType(new Type[] { variable.Type });
     this._boxValueField = this._boxType.GetField("Value");
     this._boxLocal = compiler.GetNamedLocal(this._boxType, variable);
 }
예제 #6
0
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression variable)
     : base(compiler, variable)
 {
     _local = compiler.GetNamedLocal(variable.Type, variable.Name);
 }
예제 #7
0
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression variable)
     : base(compiler, variable) {
     _local = compiler.GetNamedLocal(variable.Type, variable.Name);
 }
 internal LocalStorage(LambdaCompiler compiler, ParameterExpression variable) : base(compiler, variable)
 {
     this._local = compiler.GetNamedLocal(variable.IsByRef ? variable.Type.MakeByRefType() : variable.Type, variable);
 }