Team Ai
Datasetpublic

MegaBites-AI/Windows-powershell

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes372downloads
BoolArgBuilder.cs40 linesDownload Raw Back to ComInterop
1// Licensed to the .NET Foundation under one or more agreements.2// The .NET Foundation licenses this file to you under the MIT license.3 4using System;5using System.Diagnostics;6using System.Linq.Expressions;7 8namespace System.Management.Automation.ComInterop9{10    internal sealed class BoolArgBuilder : SimpleArgBuilder11    {12        internal BoolArgBuilder(Type parameterType)13            : base(parameterType)14        {15            Debug.Assert(parameterType == typeof(bool));16        }17 18        internal override Expression MarshalToRef(Expression parameter)19        {20            // parameter  ? -1 : 021            return Expression.Condition(22                Marshal(parameter),23                Expression.Constant((short)(-1)),24                Expression.Constant((short)0)25            );26        }27 28        internal override Expression UnmarshalFromRef(Expression value)29        {30            //parameter = temp != 031            return base.UnmarshalFromRef(32                Expression.NotEqual(33                     value,34                     Expression.Constant((short)0)35                )36            );37        }38    }39}40