public void SetUp() { EngineCallbackStub callback = new EngineCallbackStub( new [] { "mscorlib", "System", "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" }, new string[0] ); IIdeEngine engine = EngineFactory.Create(callback, new TraceWriter(), false); }
public static void Foo() { var currentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var targetPath = Path.GetFullPath(Path.Combine(currentPath, @"..\..\..\..\NemerleSolution1\ConsoleApplication1")); string[] sources = { Path.Combine(targetPath, @"MethodTip.n"), Path.Combine(targetPath, @"Main.n"), Path.Combine(targetPath, @"Properties\AssemblyInfo.n") }; string[] assemblies = { "System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" }; var stub = new EngineCallbackStub(assemblies, sources); var engine = EngineFactory.Create(stub, Console.Out, true); var init = engine.BeginReloadProject(); init.AsyncWaitHandle.WaitOne(20000); Console.WriteLine(engine.IsProjectAvailable); var srcIndex = Location.GetFileIndex(sources[0]); var src = engine.GetSource(srcIndex); var tuple = ReadLocation(sources[0], "CompareTo_inField"); var result = engine.BeginGetMethodTipInfo(src, tuple.Item1, tuple.Item2); result.AsyncWaitHandle.WaitOne(); var info = result.MethodTipInfo; if (info == null) { Console.WriteLine("not found"); return; } var methods = GetMethods(info).ToArray(); foreach (var m in methods) { Console.WriteLine(m); } }