コード例 #1
0
        public void Run(ServiceDefinition definition)
        {
            var context = new GeneratorContext();
            context.Definition = definition;
            context.Root = definition.Root;

            this.WriteEverything(context);

            text.Flush();
        }
コード例 #2
0
        private void Sanitize()
        {
            this.isDirty = false;
            this.warnings = new List<string>();
            this.infos = new List<string>();

            this.definition = this.definition ?? (this.definition = new ServiceDefinition(this.root));

            this.VerifyFieldNames();

            {
                foreach (var apiGroup in this.root.ApiGroups)
                {
                    // generate implicit return types
                    foreach (var returnType in apiGroup.ReturnTypes.ToArray())
                    {
                        foreach (var item in returnType.Fields.ToArray())
                        {
                            var parts = item.Name.Split(new char[] { ':', '/', }, 2);
                            var mainPart = parts.Length == 1 ? parts[0] : parts[0];
                            var subPart = parts.Length == 2 ? parts[1] : null;

                            if (parts.Length > 1)
                            {
                                var subReturnType = definition.FindReturnType(mainPart, apiGroup.Name, subPart: subPart, typeName: item.Type);
                            }
                        }
                    }
                }
            }

            this.VerifyFieldNames();
        }
コード例 #3
0
 public void AppendServiceDefinition(ServiceDefinition serviceDefinition)
 {
     this.AppendRoot(serviceDefinition.Root);
 }
コード例 #4
0
 public void AppendServiceDefinition(ServiceDefinition serviceDefinition)
 {
     this.AppendRoot(serviceDefinition.Root);
 }