예제 #1
0
        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);
        }
예제 #2
0
        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);
        }