public override bool VisitParameterDecl(Parameter parameter) { var scope = DeclarationStack.Peek( ); // mapped settings override any implicit handling if (TryGetTransformInfo(scope.Name, parameter.Name, out YamlBindingTransform xform)) { ApplyParameterMarshaling(parameter, xform); } else { ApplyImplicitParamsUsage(parameter); } return(true); }
private bool VisitReturnType(FunctionType signature) { var scope = DeclarationStack.Peek( ); if (TryGetTransformInfo(scope.Name, out YamlBindingTransform xform)) { signature.ReturnType = xform.TransformType(signature.ReturnType); scope.Attributes.AddRange(xform.Attributes); if (scope is Function f) { // sadly the CppSharp AST treats Function.ReturnType distinct from Function.FunctionType.ReturnType. f.ReturnType = signature.ReturnType; } } return(true); }