Example #1
0
        private CSharpConverter(CSharpConverterOptions options)
        {
            Options               = options ?? throw new ArgumentNullException(nameof(options));
            _mapCppToCSharp       = new Dictionary <CppElement, CSharpElement>(CppElementReferenceEqualityComparer.Default);
            _cppElementsToDiscard = new HashSet <CppElement>(CppElementReferenceEqualityComparer.Default);
            _csTempWriter         = new CodeWriter(new CodeWriterOptions(null));
            Tags = new Dictionary <string, object>();

            _currentContainers = new Stack <ICSharpContainer>();

            _pipeline = new CSharpConverterPipeline(options);
            _pipeline.RegisterPlugins(this);
        }