private static DoshikExternalApiTypeMethod GetOrCreateMethod(DoshikExternalApiType apiType, string externalName) { var apiMethod = apiType.Methods.Find(x => x.ExternalName == externalName); if (apiMethod == null) { apiMethod = new DoshikExternalApiTypeMethod { Type = apiType, ExternalName = externalName, Overloads = new List <DoshikExternalApiTypeMethodOverload>() }; apiType.Methods.Add(apiMethod); } return(apiMethod); }
private static DoshikExternalApiTypeMethodOverload GetOrCreateMethodOverload(DoshikExternalApiTypeMethod apiMethod, string externalTypeName, string externalName, out bool created) { created = false; var apiMethodOverload = apiMethod.Overloads.Find(x => x.ExternalName == externalName); if (apiMethodOverload == null) { apiMethodOverload = new DoshikExternalApiTypeMethodOverload { Method = apiMethod, ExternalTypeName = externalTypeName, ExternalName = externalName, InParameters = new List <DoshikExternalApiMethodParameter>(), ExtraOutParameters = new List <DoshikExternalApiMethodParameter>() }; apiMethod.Overloads.Add(apiMethodOverload); created = true; } return(apiMethodOverload); }