public override State Execute(string input) { Process proc = Process.GetCurrentProcess(); Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(true) / (1024d * 1024)); Console.WriteLine("Deallocating memory..."); if (Repository.GlobalSymbolTable != null) { var symbols = Repository.GlobalSymbolTable.Symbols.Select(p => p.Value); var entities = symbols.SelectMany(s => s.Tuples).SelectMany(e => e); foreach (var qlEntity in entities) { SpatialRepository.RemoveMeshByGlobalId(qlEntity.GlobalId); } Reset(); } Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(true) / (1024d * 1024)); queryShowState.Execute(""); return(queryShowState); }
public bool Execute(string input) { Console.Clear(); if (IsOnOf(input, "-Quit", "-Q")) { return(false); } if (IsOnOf(input, "-Help", "-H")) { Console.WriteLine(HelpString); currentState = queryAddState; return(true); } if (IsOnOf(input, "-AddStatement", "-AS")) { queryShowState.Execute(""); currentState = queryAddState; return(true); } if (IsOnOf(input, "-CancelQuery", "-CQ")) { currentState = queryClearState; currentState.Execute(""); currentState = queryShowState; currentState.Execute(""); currentState = queryAddState; return(true); } if (IsOnOf(input, "-ShowQuery", "-SQ")) { currentState = queryShowState; currentState.Execute(""); currentState = queryAddState; return(true); } if (IsOnOf(input, "-ExecuteAll", "-EA")) { currentState = executeAllState; currentState = currentState.Execute(""); return(true); } if (IsOnOf(input, "-PerformanceTest", "-PT")) { currentState = performanceTestState; currentState = currentState.Execute(input); return(true); } if (IsOnOf(input, "-PrintSymbols", "-PS")) { currentState = symbolShowState; currentState.Execute(""); resultShowState.Reset(); currentState = resultShowState; return(true); } if (IsOnOf(input, "-Settings", "-SE")) { currentState = showSettingsState; currentState.Execute(""); return(true); } if (IsOnOf(input, "-ShowLicence", "-SL")) { currentState = showLicenceState; currentState.Execute(""); return(true); } if (IsOnOf(input, "-ClearSymbol", "-CS")) { currentState = symbolClearState; currentState = currentState.Execute("");; return(true); } if (input.StartsWith("-ShowResult") || input.StartsWith("-SR")) { if (input.Split(' ').Length <= 1) { Console.WriteLine("Add symbol name after -ShowResult/-SR"); return(true); } currentState = resultShowState; currentState.Execute(input); return(true); } if (IsOnOf(input, "-WriteResult", "-WR")) { currentState = resultWriteState; currentState.Execute(input); return(true); } if (input.StartsWith("-")) { Console.WriteLine("Inputs starts with - but is no console operator. Showing query instead."); Console.WriteLine("Type -H for available operators"); currentState = queryShowState; currentState.Execute(""); currentState = queryAddState; return(true); } var newState = currentState.Execute(input); if (newState != null) { currentState = newState; } return(true); }