private IAstTypeReference RemapArgumentTypesForFunction(AstSpecifiedFunctionType function, Func<IAstTypeReference, IAstTypeReference> remap) { var parameterTypes = function.ParameterTypes; var remapped = RemapAll(parameterTypes, remap); var newReturnType = remap(function.ReturnType); var changed = remapped.Item2 || newReturnType != function.ReturnType; return !changed ? function : new AstSpecifiedFunctionType(remapped.Item1, newReturnType); }
protected virtual void AppendSpecifiedFunctionType(StringBuilder builder, AstSpecifiedFunctionType specifiedFunctionType) { builder.Append(specifiedFunctionType); }