public void AcceptSection(WasmSection section) { var reader = new WasmReader(section.Payload); switch (section.Code) { case WasmSectionCode.Type: TypeSections.Add(reader.ReadTypeSection()); break; case WasmSectionCode.Import: ImportSections.Add(reader.ReadImportSection()); break; case WasmSectionCode.Function: FunctionSections.Add(reader.ReadFunctionSection()); break; case WasmSectionCode.Table: TableSections.Add(reader.ReadTableSection()); break; case WasmSectionCode.Memory: MemorySections.Add(reader.ReadMemorySection()); break; case WasmSectionCode.Global: GlobalSections.Add(reader.ReadGlobalSection()); break; case WasmSectionCode.Export: ExportSections.Add(reader.ReadExportSection()); break; case WasmSectionCode.Start: StartSections.Add(reader.ReadStartSection()); break; case WasmSectionCode.Element: ElementSections.Add(reader.ReadElementSection()); break; case WasmSectionCode.Code: CodeSections.Add(reader.ReadCodeSection()); break; case WasmSectionCode.Data: DataSections.Add(reader.ReadDataSection()); break; default: CustomSections.Add(section); break; } }
private static CodeSections.Class GetChildClassFromFromParentClass(CodeSections.Class parentClass, string childClassName) { CodeSections.Class newClass = parentClass.GetClass(childClassName); if (newClass == null) { newClass = new CodeSections.Class(childClassName); parentClass.Add(newClass); } return newClass; }
private static void AddStoredProcedureDefinitionsFromDatabase(Database database, CodeSections.Class storedProcedures) { foreach (StoredProcedure sp in database.StoredProcedures) { string[] storedProcedureNamespaceBreakdown = sp.Name.Split('.'); CodeSections.Class classToPutMethodIn = storedProcedures; for (int i = 0; i < storedProcedureNamespaceBreakdown.Length - 1; i++) { string name = storedProcedureNamespaceBreakdown[i]; classToPutMethodIn = GetChildClassFromFromParentClass(classToPutMethodIn, name); } string className = storedProcedureNamespaceBreakdown[storedProcedureNamespaceBreakdown.Length - 1]; CodeSections.Class storedProcedureClass = new BobsCommonFileGenerator.CodeSections.Class(className); storedProcedureClass.Add(new CodeSections.StoredProcedureVoidCallMethod("ExecuteNonQuery", sp.Name, sp.Parameters)); storedProcedureClass.Add(new CodeSections.StoredProcedureDataTableCallMethod("ExecuteDataTable", sp.Name, sp.Parameters)); classToPutMethodIn.Add(storedProcedureClass); } }