Mono.CSharp.BuilderContext.HasSet C# (CSharp) Method

HasSet() public method

public HasSet ( Options options ) : bool
options Options
return bool
		public bool HasSet (Options options)
		{
			return (this.flags & options) == options;
		}

Usage Example

Example #1
0
        public override System.Linq.Expressions.Expression MakeExpression(BuilderContext ctx)
        {
            var tassign = target as IDynamicAssign;

            if (tassign == null)
            {
                throw new InternalErrorException(target.GetType() + " does not support dynamic assignment");
            }

            var target_object = tassign.MakeAssignExpression(ctx, source);

            //
            // Some hacking is needed as DLR does not support void type and requires
            // always have object convertible return type to support caching and chaining
            //
            // We do this by introducing an explicit block which returns RHS value when
            // available or null
            //
            if (target_object.NodeType == System.Linq.Expressions.ExpressionType.Block)
            {
                return(target_object);
            }

            System.Linq.Expressions.UnaryExpression source_object;
            if (ctx.HasSet(BuilderContext.Options.CheckedScope))
            {
                source_object = System.Linq.Expressions.Expression.ConvertChecked(source.MakeExpression(ctx), target_object.Type);
            }
            else
            {
                source_object = System.Linq.Expressions.Expression.Convert(source.MakeExpression(ctx), target_object.Type);
            }

            return(System.Linq.Expressions.Expression.Assign(target_object, source_object));
        }
All Usage Examples Of Mono.CSharp.BuilderContext::HasSet
BuilderContext