Mono.CSharp.RuntimeValueExpression.MakeExpression C# (CSharp) Method

MakeExpression() public method

public MakeExpression ( BuilderContext ctx ) : Expression
ctx BuilderContext
return System.Linq.Expressions.Expression
		public override SLE.Expression MakeExpression (BuilderContext ctx)
		{
#if STATIC
			return base.MakeExpression (ctx);
#else

	#if NET_4_0		
				if (type.IsStruct && !obj.Expression.Type.IsValueType)
					return SLE.Expression.Unbox (obj.Expression, type.GetMetaInfo ());

				if (obj.Expression.NodeType == SLE.ExpressionType.Parameter) {
					if (((SLE.ParameterExpression) obj.Expression).IsByRef)
						return obj.Expression;
				}
	#endif

				return SLE.Expression.Convert (obj.Expression, type.GetMetaInfo ());
#endif
		}
	}