Beispiel #1
0
 public ExpressionTypeAscender(
     Program program,
     TypeStore store,
     TypeFactory factory) :
         base(program, factory)
 {
     this.unifier = new DataTypeBuilderUnifier(factory, store);
 }
 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();
 }
Beispiel #4
0
 // T_1 --> C_1 --> S_1
 // T_2 --> C_2 --> S_2
 // T_3 --> C_3 --> S_3
 // T_1 --> C_1 --> S_New
 // T_2 --> C_1
 // T_3 --> C_1
 public void Merge()
 {
     Unifier un = new Unifier(new TypeFactory());
     DataType dt = null;
     foreach (StructureType str in structures)
     {
         dt = un.Unify(dt, str);
     }
     StructureType strNew = (StructureType) dt;
     eqMin.DataType = strNew;
 }
		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();
		}
Beispiel #6
0
		public void Setup()
		{
			factory = new TypeFactory();
			un = new Unifier(factory);
		}
Beispiel #7
0
 public NestedStructureUnifier(Unifier unifier)
 {
     this.unifier = unifier;
 }
Beispiel #8
0
 public IdConstant(EvaluationContext ctx, Unifier u)
 {
     this.ctx = ctx;
     this.unifier = u;
 }