public void SlLookupType() { var slib = new SerializedLibrary { Types = new SerializedType[] { new SerializedTypedef { Name = "int", DataType = new PrimitiveType_v1 { Domain = Reko.Core.Types.Domain.SignedInt, ByteSize = 4 } } } }; var lib = TypeLibrary.Load(new IntelArchitecture(ProcessorMode.Protected32), slib); Assert.AreEqual(PrimitiveType.Int32, lib.LookupType("int")); }
public TypeLibrary LoadLibrary(Platform platform, string name) { try { string libFileName = ImportFileLocation(name); if (!File.Exists(libFileName)) { return(null); } var lib = TypeLibrary.Load(platform, libFileName); lib.Filename = libFileName; return(lib); } catch { return(null); } }
public TypeLibrary LoadLibrary(IProcessorArchitecture arch, string name) { try { string libFileName = ImportFileLocation(name); if (!File.Exists(libFileName)) { return(null); } var lib = TypeLibrary.Load(arch, libFileName); lib.Filename = libFileName; return(lib); } catch { return(null); } }
public void Setup() { mr = new MockRepository(); var services = mr.Stub <IServiceProvider>(); var tlSvc = mr.Stub <ITypeLibraryLoaderService>(); var configSvc = mr.StrictMock <IConfigurationService>(); var win32env = new OperatingEnvironmentElement { TypeLibraries = { new TypeLibraryElement { Name = "msvcrt.xml" }, new TypeLibraryElement { Name = "windows32.xml" }, } }; configSvc.Stub(c => c.GetEnvironment("win32")).Return(win32env); configSvc.Stub(c => c.GetPath(null)).IgnoreArguments() .Do(new Func <string, string>(s => s)); services.Stub(s => s.GetService(typeof(ITypeLibraryLoaderService))).Return(tlSvc); services.Stub(s => s.GetService(typeof(IConfigurationService))).Return(configSvc); tlSvc.Stub(t => t.LoadLibrary(null, null)).IgnoreArguments() .Do(new Func <Platform, string, TypeLibrary>((p, n) => { var lib = TypeLibrary.Load(p, Path.ChangeExtension(n, ".xml")); return(lib); })); services.Replay(); tlSvc.Replay(); configSvc.Replay(); arch = new IntelArchitecture(ProcessorMode.Protected32); win32 = new Reko.Environments.Win32.Win32Platform(services, arch); }