Example #1
0
 public void EmitAccessTrait(Expression baseExpr, Expression memPtr, int ptrSize, int offset)
 {
     if (arrayContext)
     {
         handler.MemAccessArrayTrait(baseExpr, memPtr, ptrSize, offset, arrayElementSize, arrayLength, eField);
     }
     else
     {
         handler.MemAccessTrait(baseExpr, memPtr, ptrSize, eField, offset);
     }
 }
Example #2
0
        public DataType VisitConstant(Constant c)
        {
            var dt = handler.DataTypeTrait(c, c.DataType);

            ivCur = null;
            if (c.DataType == PrimitiveType.SegmentSelector)
            {
                handler.MemAccessTrait(
                    null,
                    program.Globals,
                    program.Platform.PointerType.Size,
                    c,
                    c.ToInt32() * 0x10);   //$REVIEW Platform-dependent
            }
            return(dt);
        }
Example #3
0
 public void VisitApplication(Application appl)
 {
     handler.MemAccessTrait(basePointer, appl, appl.DataType.Size, eField !, 0);
 }