コード例 #1
0
        private static void CreateModels([NotNull] NamespaceSymbol root, [NotNull] ModelContainer container)
        {
            foreach (var symbol in root.MemberTable.AllSymbols)
            {
                switch (symbol)
                {
                case ArraySymbol array:
                    break;

                case BarrierSymbol barrier:
                    container.Add(
                        new BarrierModel(barrier));
                    break;

                case Deployment.SetSymbol deployment:
                    container.Add(
                        new DeploymentSetModel(deployment));
                    break;

                case Deployment.ScriptSymbol deployment:
                    container.Add(
                        new DeploymentScriptModel(deployment));
                    break;

                case Deployment.CurryingSymbol deployment:
                    container.Add(
                        new DeploymentCurryingModel(deployment));
                    break;

                case DeploymentRebootSymbol deployment:
                    container.Add(
                        new DeploymentRebootModel(deployment));
                    break;

                case Deployment.SelectSymbol deployment:
                    container.Add(
                        new DeploymentSelectModel(deployment));
                    break;

                case ExternalSymbol external:
                    container.Add(external.GetExternalFields(container));
                    break;

                case TypeAliasSymbol type:
                    break;

                case NamespaceSymbol nameSpace:
                    break;

                case Platform.DefSymbol platform:
                    container.Add(new PlatformModel(platform));
                    break;

                case Platform.SetSymbol platform:
                    container.Add(new PlatformsSetModel(platform));
                    break;

                case Product.DefSymbol product:
                    container.Add(new ProductModel(product));
                    break;

                case Product.SetSymbol product:
                    container.Add(new ProductSetModel(product));
                    break;

                case ProductTypeSymbol productType:
                    container.Add(new ProductTypeModel(productType));
                    break;

                case Scenario.DefSymbol scenario:
                    container.Add(new ScenarioModel(scenario));
                    break;

                case Scenario.SetSymbol scenario:
                    container.Add(new ScenarioSetModel(scenario));
                    break;

                case SuiteTypeSymbol suiteTypeSymbol:
                    container.Add(new SuiteTypeModel(suiteTypeSymbol));
                    break;

                case Suite.DefSymbol suite:
                    container.Add(new SuiteDefModel(suite));
                    break;

                case ModuleSymbol module:
                    container.Add(new ModuleModel(module));
                    break;

                case TypeSymbol type:
                    break;

                default:
                    Logger.Warn(
                        $"Unknown symbol {symbol.Name}{Constants.TabulationSymbol}{symbol.Kind}{Constants.TabulationSymbol}{symbol.GetType()}");
                    break;
                }
            }
        }