public void Setup() { var image = new LoadedImage(Address.Ptr32(0x00100000), new byte[1024]); var arch = new FakeArchitecture(); var program = new Program { Image = image, Architecture = arch, ImageMap = image.CreateImageMap(), Platform = new DefaultPlatform(null, arch), }; store = program.TypeStore; factory = program.TypeFactory; globals = program.Globals; store.EnsureExpressionTypeVariable(factory, globals); StructureType s = new StructureType(null, 0); s.Fields.Add(0x00100000, PrimitiveType.Word32, null); TypeVariable tvGlobals = store.EnsureExpressionTypeVariable(factory, globals); EquivalenceClass eqGlobals = new EquivalenceClass(tvGlobals); eqGlobals.DataType = s; globals.TypeVariable.DataType = new Pointer(eqGlobals, 4); globals.DataType = globals.TypeVariable.DataType; tcr = new TypedConstantRewriter(program); }
public void Setup() { mem = new MemoryArea(Address.Ptr32(0x00100000), new byte[1024]); var arch = new FakeArchitecture(); this.program = new Program { Architecture = arch, ImageMap = new ImageMap( mem.BaseAddress, new ImageSegment(".text", mem, AccessMode.ReadWriteExecute)), Platform = new DefaultPlatform(null, arch), }; store = program.TypeStore; factory = program.TypeFactory; globals = program.Globals; store.EnsureExpressionTypeVariable(factory, globals); StructureType s = new StructureType(null, 0); s.Fields.Add(0x00100000, PrimitiveType.Word32, null); TypeVariable tvGlobals = store.EnsureExpressionTypeVariable(factory, globals); EquivalenceClass eqGlobals = new EquivalenceClass(tvGlobals); eqGlobals.DataType = s; globals.TypeVariable.DataType = new Pointer(eqGlobals, 4); globals.DataType = globals.TypeVariable.DataType; tcr = new TypedConstantRewriter(program); }
public TypedExpressionRewriter(Program program) { this.program = program; this.globals = program.Globals; this.compTypes = new DataTypeComparer(); this.tcr = new TypedConstantRewriter(program); this.m = new ExpressionEmitter(); this.unifier = new Unifier(); }
public TypedExpressionRewriter(Program program, DecompilerEventListener eventListener) { this.program = program; this.globals = program.Globals; this.eventListener = eventListener; this.compTypes = new DataTypeComparer(); this.tcr = new TypedConstantRewriter(program, eventListener); this.m = new ExpressionEmitter(); this.unifier = new Unifier(); }
public TypedExpressionRewriter(Program prog) { this.prog = prog; this.platform = prog.Platform; this.store = prog.TypeStore; this.globals = prog.Globals; this.compTypes = new DataTypeComparer(); this.tcr = new TypedConstantRewriter(prog); this.m = new ExpressionEmitter(); this.unifier = new Unifier(); }
private void Given_TypedConstantRewriter() { tcr = new TypedConstantRewriter(program, new FakeDecompilerEventListener()); }