public AppCore(Config config) { _config = config; var initialSourceCode = ""; { try { initialSourceCode = _config.LoadCodeTemplate(); } catch { _config.IsFileMonitoring = false; _config.MonitoringFilePath = ""; } } var compiler = new Compiler(); var disassembler = new JitDisassembler("JitDasm/JitDasm.exe"); BuildingUnit = new BuildingUnit(_config, compiler, disassembler) { SourceCode = initialSourceCode } .AddTo(_Trashes); var fileMonitor = new FileMonitor(_config).AddTo(_Trashes); fileMonitor.MonitoringFileChanged += (_, __) => LoadMonitoringFile(); _config.ObserveProperty(x => x.MonitoringFilePath) .Subscribe(_ => LoadMonitoringFile()) .AddTo(_Trashes); }
public AppContext(Config config) { _config = config; var sourceCode = ""; { try { sourceCode = _config.LoadCodeTemplate(); } catch { _config.IsFileMonitoring = false; _config.MonitoringFilePath = ""; } } var compiler = new Compiler(); var disassembler = new JitDisassembler("JitDasm/JitDasm.exe"); BuildingUnit = new BuildingUnit(_config, compiler, disassembler) { SourceCode = sourceCode }; SetupFileMonitoring(); _config.ObserveProperty(x => x.MonitoringFilePath) .Subscribe(_ => LoadMonitoringFile()) .AddTo(_Trashes); }
public void Ok() { const string sourceCode = @" namespace TestNameSpace { public class TestClass { public int TestMethod(int a, int b, int c) { return (a + b) * c; } } }"; var compiler = new Compiler(); var compileResult = compiler.Run("source.cs", sourceCode, true); var disassembler = new JitDisassembler("../../../../externals/JitDasm/JitDasm/bin/Release/netcoreapp3.0/JitDasm.exe"); var result = disassembler.Run("source.cs", sourceCode, compileResult.AssembleImage, true); Assert.True(result.IsOk); }