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;
}
}
}