using System.Collections.Generic; using System.Collections; using PascalABCCompiler.SyntaxTree; using PascalABCCompiler.CoreUtils; namespace PascalABCCompiler.TreeConverter.TreeConversion { /// /// Вспомогательная структура данных для инициализации ISyntaxToSemanticTreeConverter перед компиляцией интерфейса /// public class InitializationDataForCompilingInterface { public readonly Errors.SyntaxError parserError; public readonly HashSet badNodes; public readonly TreeRealization.unit_node_list usedUnits; public readonly TreeRealization.using_namespace_list interfaceNamespaces; public readonly compilation_unit syntaxUnit; public readonly List errorsList; public readonly List warningsList; public readonly Dictionary docs; public readonly bool debug; public readonly bool debugging; public readonly bool forIntellisense; public readonly GeneratedNamesManager generatedNamesManager; public InitializationDataForCompilingInterface( Errors.SyntaxError parserError, HashSet badNodes, TreeRealization.unit_node_list usedUnits, TreeRealization.using_namespace_list interfaceNamespaces, compilation_unit syntaxUnit, List errorsList, List warningsList, Dictionary docs, bool debug, bool debugging, bool forIntellisense, GeneratedNamesManager generatedNamesManager ) { this.parserError = parserError; this.badNodes = badNodes; this.usedUnits = usedUnits; this.interfaceNamespaces = interfaceNamespaces; this.syntaxUnit = syntaxUnit; this.errorsList = errorsList; this.warningsList = warningsList; this.docs = docs; this.debug = debug; this.debugging = debugging; this.forIntellisense = forIntellisense; this.generatedNamesManager = generatedNamesManager; } } /// /// Вспомогательная структура данных для инициализации ISyntaxToSemanticTreeConverter перед компиляцией реализации /// public class InitializationDataForCompilingImplementation : InitializationDataForCompilingInterface { public readonly TreeRealization.using_namespace_list implementationNamespaces; public readonly TreeRealization.common_unit_node semanticUnit; public InitializationDataForCompilingImplementation( Errors.SyntaxError parserError, HashSet badNodes, TreeRealization.unit_node_list usedUnits, TreeRealization.using_namespace_list interfaceNamespaces, TreeRealization.using_namespace_list implementationNamespaces, compilation_unit syntaxUnit, TreeRealization.common_unit_node semanticUnit, List errorsList, List warningsList, Dictionary docs, bool debug, bool debugging, bool forIntellisense, GeneratedNamesManager generatedNamesManager ) : base(parserError, badNodes, usedUnits, interfaceNamespaces, syntaxUnit, errorsList, warningsList, docs, debug, debugging, forIntellisense, generatedNamesManager) { this.implementationNamespaces = implementationNamespaces; this.semanticUnit = semanticUnit; } } }