public IPlatform CreatePlatform() { if (platform != null) { return(platform); } platform = mr.Stub <IPlatform>(); platform.Stub(p => p.Name).Return("TestPlatform"); platform.Stub(p => p.PointerType).Return(PrimitiveType.Ptr32); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Char)).Return(1); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Short)).Return(2); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Long)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongLong)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Float)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Double)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongDouble)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int64)).Return(8); platform.Stub(p => p.CreateMetadata()).Do(new Func <TypeLibrary>(() => this.platformMetadata.Clone())); var arch = new X86ArchitectureFlat32("x86-protected-32"); platform.Stub(p => p.Architecture).Return(arch); platform.Stub(p => p.DefaultCallingConvention).Return("__cdecl"); var ccStdcall = new X86CallingConvention(4, 4, 4, false, false); var ccCdecl = new X86CallingConvention(4, 4, 4, true, false); platform.Stub(p => p.GetCallingConvention(null)).Return(ccCdecl); platform.Stub(p => p.GetCallingConvention("__stdcall")).Return(ccStdcall); platform.Stub(p => p.SaveUserOptions()).Return(null); platform.Replay(); return(platform); }
private void Given_Platform() { platform = mr.Stub <IPlatform>(); platform.Stub(p => p.LookupProcedureByName("", "")).IgnoreArguments() .Return(new ExternalProcedure("", new FunctionType())); platform.Replay(); }
public void Tlldr_LoadGlobalByOrdinal() { var typelib = new TypeLibrary(); platform = mr.Stub <IPlatform>(); platform.Stub(p => p.DefaultCallingConvention).Return("__cdecl"); platform.Stub(p => p.Architecture).Return(new FakeArchitecture()); platform.Replay(); var tlldr = new TypeLibraryDeserializer(platform, true, typelib); tlldr.Load(new SerializedLibrary { ModuleName = "stdlib", Globals = new List <GlobalVariable_v1> { new GlobalVariable_v1 { Name = "errno", Ordinal = 42, Type = PrimitiveType_v1.Int32(), } } }); var stdlib = typelib.Modules["stdlib"]; var globalByName = stdlib.GlobalsByName["errno"]; var globalByOrdinal = stdlib.GlobalsByOrdinal[42]; Assert.AreSame(globalByName, globalByOrdinal); }
private void Given_ArchitectureStub() { arch = mr.DynamicMock <IProcessorArchitecture>(); arch.Stub(a => a.PointerType).Return(PrimitiveType.Ptr32); arch.Stub(a => a.WordWidth).Return(PrimitiveType.Ptr32); platform = mr.DynamicMock <IPlatform>(); platform.Stub(p => p.PointerType).Return(PrimitiveType.Ptr32); platform.Stub(p => p.Architecture).Return(arch); platform.Replay(); this.procSer = new ProcedureSerializer(platform, null, ""); }
public IPlatform CreatePlatform() { if (platform != null) { return(platform); } platform = mr.Stub <IPlatform>(); platform.Stub(p => p.Name).Return("TestPlatform"); platform.Stub(p => p.PointerType).Return(PrimitiveType.Pointer32); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Char)).Return(1); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Short)).Return(2); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Long)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongLong)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Float)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Double)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongDouble)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int64)).Return(8); platform.Stub(p => p.CreateMetadata()).Do(new Func <TypeLibrary>(() => this.platformMetadata.Clone())); var arch = new X86ArchitectureFlat32(); platform.Stub(p => p.Architecture).Return(arch); platform.Stub(p => p.DefaultCallingConvention).Return("__cdecl"); platform.Stub(s => s.CreateProcedureSerializer(null, null)).IgnoreArguments().Do( new Func <ISerializedTypeVisitor <DataType>, string, ProcedureSerializer>((tlDeser, dc) => new X86ProcedureSerializer(arch, tlDeser, dc) ) ); platform.Stub(p => p.SaveUserOptions()).Return(null); platform.Replay(); return(platform); }
public IPlatform CreatePlatform() { if (platform != null) return platform; platform = mr.Stub<IPlatform>(); platform.Stub(p => p.Name).Return("TestPlatform"); platform.Stub(p => p.PointerType).Return(PrimitiveType.Pointer32); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Char)).Return(1); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Short)).Return(2); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Long)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongLong)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Float)).Return(4); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Double)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.LongDouble)).Return(8); platform.Stub(p => p.GetByteSizeFromCBasicType(CBasicType.Int64)).Return(8); platform.Stub(p => p.CreateMetadata()).Do(new Func<TypeLibrary>(() => this.platformMetadata.Clone())); var arch = new X86ArchitectureFlat32(); platform.Stub(p => p.Architecture).Return(arch); platform.Stub(p => p.DefaultCallingConvention).Return("__cdecl"); platform.Stub(s => s.CreateProcedureSerializer(null, null)).IgnoreArguments().Do( new Func<ISerializedTypeVisitor<DataType>, string, ProcedureSerializer>((tlDeser, dc) => new X86ProcedureSerializer(arch, tlDeser, dc) ) ); platform.Stub(p => p.SaveUserOptions()).Return(null); platform.Replay(); return platform; }
private void Given_Platform() { platform = mr.Stub<IPlatform>(); platform.Stub(p => p.LookupProcedureByName("", "")).IgnoreArguments().Return(new ExternalProcedure("", null)); platform.Replay(); }