/// <inheritdoc/> public ParameterSignature Map(ParameterSignature input) { var newType = _glTypeMapper.Map(input.Type); return(new ParameterSignatureBuilder(input) .WithType(newType) .Build()); }
/// <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()); }
/// <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()); }