<PackageReference Include="Microsoft.CSharp" Version="4.4.0" />

LangCompiler

using Microsoft.CSharp.RuntimeBinder.Errors; using Microsoft.CSharp.RuntimeBinder.Syntax; namespace Microsoft.CSharp.RuntimeBinder.Semantics { internal class LangCompiler : CSemanticChecker, IErrorSink { private SymbolLoader _symbolLoader; private CController _pController; private ErrorHandling _errorContext; private GlobalSymbolContext _globalSymbolContext; private UserStringBuilder _userStringBuilder; public override SymbolLoader SymbolLoader => _symbolLoader; public LangCompiler(CController pCtrl, NameManager pNameMgr) { _pController = pCtrl; _globalSymbolContext = new GlobalSymbolContext(pNameMgr); _userStringBuilder = new UserStringBuilder(_globalSymbolContext); _errorContext = new ErrorHandling(_userStringBuilder, this, pCtrl.GetErrorFactory()); _symbolLoader = new SymbolLoader(_globalSymbolContext, null, _errorContext); } public new ErrorHandling GetErrorContext() { return _errorContext; } public override SymbolLoader GetSymbolLoader() { return _symbolLoader; } public void SubmitError(CParameterizedError error) { CError cError = GetErrorContext().RealizeError(error); if (cError != null) _pController.SubmitError(cError); } public int ErrorCount() { return 0; } } }