/// <inheritdoc/>
        public ParameterSignature Map(ParameterSignature input)
        {
            var newType = _glTypeMapper.Map(input.Type);

            return(new ParameterSignatureBuilder(input)
                   .WithType(newType)
                   .Build());
        }
Beispiel #2
0
        /// <inheritdoc/>
        public FunctionSignature Map(FunctionSignature input)
        {
            var newReturnType = _glTypeMapper.Map(input.ReturnType);
            var newParameters = input.Parameters.Select(_glParameterMapper.Map).ToList();

            return(new FunctionSignatureBuilder(input)
                   .WithReturnType(newReturnType)
                   .WithParameters(newParameters)
                   .Build());
        }
Beispiel #3
0
        /// <inheritdoc/>
        public ParameterSignature Map(ParameterSignature input)
        {
            var newType = _glTypeMapper.Map(input.Type);

            if (newType.Name.Equals("string", StringComparison.OrdinalIgnoreCase))
            {
                if (input.Flow == FlowDirection.Out)
                {
                    newType = new TypeSignatureBuilder(newType)
                              .WithByRef(true)
                              .WithIsOut(true)
                              .Build();
                }
            }

            return(new ParameterSignatureBuilder(input)
                   .WithType(newType)
                   .Build());
        }