Esempio n. 1
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
 {
     return(new PowerPcProcedureSerializer(
                (PowerPcArchitecture)Architecture,
                typeLoader,
                defaultConvention));
 }
Esempio n. 2
0
 public Arm32ProcedureSerializer(
     IProcessorArchitecture arch,
     ISerializedTypeVisitor<DataType> typeLoader, 
     string defaultConvention) 
     : base(arch, typeLoader, defaultConvention)
 {
 }
 public Arm32ProcedureSerializer(
     IProcessorArchitecture arch,
     ISerializedTypeVisitor <DataType> typeLoader,
     string defaultConvention)
     : base(arch, typeLoader, defaultConvention)
 {
 }
Esempio n. 4
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     switch (Architecture.Name)
     {
     case "mips-be-32":
     case "mips-le-32":
         return new MipsProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "ppc32":
         return new PowerPcProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "sparc32":
         return new SparcProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "x86-protected-32":
         return new X86ProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "x86-protected-64":
         return new X86_64ProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "xtensa":
         return new XtensaProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "arm":
         return new Arm32ProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "m68k":
         return new M68kProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "avr8":
         return new Avr8ProcedureSerializer(Architecture, typeLoader, defaultConvention);
     case "risc-v":
         return new RiscVProcedureSerializer(Architecture, typeLoader, defaultConvention);
     default:
         throw new NotImplementedException(string.Format("Procedure serializer for {0} not implemented yet.", Architecture.Description));
     }
 }
Esempio n. 5
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     return new PowerPcProcedureSerializer(
         (PowerPcArchitecture)Architecture,
         typeLoader,
         defaultConvention);
 }
Esempio n. 6
0
        private void Given_16bit_CallingConvention(string cConvention)
        {
            this.ccr          = new CallingConventionEmitter();
            this.deserializer = new FakeTypeDeserializer(32);
            X86CallingConvention cc;

            switch (cConvention)
            {
            case "__cdecl":
                cc = new X86CallingConvention(4, 2, 4, true, false);
                break;

            case "stdapi":
            case "stdcall":
            case "__stdcall":
                cc = new X86CallingConvention(4, 2, 4, false, false);
                break;

            case "pascal":
                cc = new X86CallingConvention(4, 2, 4, false, true);
                break;

            default: throw new NotImplementedException(cConvention + " not supported.");
            }
            this.cc = cc;
        }
 public PowerPcProcedureSerializer(
     PowerPcArchitecture arch,
     ISerializedTypeVisitor <DataType> typeLoader,
     string defaultCc)
     : base(arch, typeLoader, defaultCc)
 {
     this.arch = arch;
 }
 public void Setup()
 {
     this.mr = new MockRepository();
     this.arch = new MipsLe32Architecture();
     this.typeLoader = mr.Stub<ISerializedTypeVisitor<DataType>>();
     this.ssig = null;
     this.sig = null;
 }
 public void Setup()
 {
     this.mr         = new MockRepository();
     this.arch       = new MipsLe32Architecture();
     this.typeLoader = mr.Stub <ISerializedTypeVisitor <DataType> >();
     this.ssig       = null;
     this.sig        = null;
 }
Esempio n. 10
0
 public PowerPcProcedureSerializer(
     PowerPcArchitecture arch,
     ISerializedTypeVisitor<DataType> typeLoader,
     string defaultCc)
     : base(arch, typeLoader, defaultCc)
 {
     this.arch = arch;
 }
Esempio n. 11
0
		public ProcedureSerializer(
            IProcessorArchitecture arch, 
            ISerializedTypeVisitor<DataType> typeLoader, 
            string defaultConvention)
		{
			this.Architecture = arch;
            this.TypeLoader = typeLoader;
			this.DefaultConvention = defaultConvention;
		}
Esempio n. 12
0
        private void Given_32bit_CallingConvention()
        {
            this.ccr          = new CallingConventionEmitter();
            this.deserializer = new FakeTypeDeserializer(4);
            FastcallConvention fcc = new FastcallConvention(
                Registers.ecx, Registers.edx, 4, 4);

            this.fcc = fcc;
        }
Esempio n. 13
0
        private void Given_16bit_CallingConvention(string cConvention)
        {
            this.ccr          = new CallingConventionEmitter();
            this.deserializer = new FakeTypeDeserializer(32);
            FastcallConvention fcc = new FastcallConvention(
                Registers.cx, Registers.dx, 4, 4);

            this.fcc = fcc;
        }
Esempio n. 14
0
 public ProcedureSerializer(
     IProcessorArchitecture arch,
     ISerializedTypeVisitor <DataType> typeLoader,
     string defaultConvention)
 {
     this.Architecture      = arch;
     this.TypeLoader        = typeLoader;
     this.DefaultConvention = defaultConvention;
 }
Esempio n. 15
0
 public ProcedureSerializer(
     IPlatform platform,
     ISerializedTypeVisitor <DataType> typeLoader,
     string defaultConvention)
 {
     this.platform          = platform;
     this.Architecture      = platform.Architecture;
     this.TypeLoader        = typeLoader;
     this.DefaultConvention = defaultConvention;
 }
Esempio n. 16
0
        public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
        {
            switch (Architecture.Name)
            {
            case "mips-be-32":
                return(new MipsProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "sparc32":
                return(new SparcProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "x86-protected-32":
                return(new X86ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "x86-protected-64":
                return(new X86_64ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            default:
                throw new NotImplementedException(string.Format("Procedure serializer for {0} not implemented yet.", Architecture.Description));
            }
        }
Esempio n. 17
0
        public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
        {
            switch (Architecture.Name)
            {
            case "mips-be-32":
            case "mips-le-32":
                return(new MipsProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "ppc32":
                return(new PowerPcProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "sparc32":
                return(new SparcProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "x86-protected-32":
                return(new X86ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "x86-protected-64":
                return(new X86_64ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "xtensa":
                return(new XtensaProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "arm":
                return(new Arm32ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "m68k":
                return(new M68kProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "avr8":
                return(new Avr8ProcedureSerializer(Architecture, typeLoader, defaultConvention));

            case "risc-v":
                return(new RiscVProcedureSerializer(Architecture, typeLoader, defaultConvention));

            default:
                throw new NotImplementedException(string.Format("Procedure serializer for {0} not implemented yet.", Architecture.Description));
            }
        }
Esempio n. 18
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultCc)
 {
     return(new ArmProcedureSerializer(this, typeLoader, defaultCc));
 }
Esempio n. 19
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     //$BUGBUG: unlikely to be correct in long run.
     return new X86ProcedureSerializer((IntelArchitecture) this.Architecture, typeLoader, defaultConvention);
 }
 private void Given_ProcedureSerializer()
 {
     this.deserializer = mockFactory.CreateDeserializer();
     this.ser          = new PowerPcProcedureSerializer(arch, deserializer, "");
 }
Esempio n. 21
0
 private void Given_ProcedureSerializer()
 {
     this.deserializer = mockFactory.CreateDeserializer(arch.PointerType.Size);
     this.ser          = new X86ProcedureSerializer(arch, deserializer, "");
 }
Esempio n. 22
0
 /// <summary>
 /// Creates a procedure serializer that understands the calling conventions used on this
 /// processor and environment
 /// </summary>
 /// <param name="typeLoader">Used to resolve data types</param>
 /// <param name="defaultConvention">Default calling convention, if none specified.</param>
 public abstract ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention);
Esempio n. 23
0
 public override T Accept <T>(ISerializedTypeVisitor <T> visitor)
 {
     return(visitor.VisitTypeReference(this));
 }
Esempio n. 24
0
 public override T Accept <T>(ISerializedTypeVisitor <T> visitor)
 {
     return(visitor.VisitMemberPointer(this));
 }
Esempio n. 25
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultCc)
 {
     throw new NotSupportedException();  //$Makes no sense in C64 Basic!
 }
 private void Given_ProcedureSerializer(string cConvention)
 {
     this.deserializer = mockFactory.CreateDeserializer();
     this.ser = new X86ProcedureSerializer(arch, deserializer, cConvention);
 }
Esempio n. 27
0
 private void Given_ProcedureSerializer(string cConvention)
 {
     this.deserializer = new FakeTypeDeserializer(4);
     this.ser = new X86ProcedureSerializer(arch, deserializer, cConvention);
 }
Esempio n. 28
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
 {
     return(Test_CreateProcedureSerializer(typeLoader, defaultConvention));
 }
Esempio n. 29
0
 private void Given_ProcedureSerializer(string cConvention)
 {
     this.deserializer = mockFactory.CreateDeserializer();
     this.ser          = new X86ProcedureSerializer(arch, deserializer, cConvention);
 }
Esempio n. 30
0
 private void Given_ProcedureSerializer()
 {
     this.deserializer = mockFactory.CreateDeserializer(arch.PointerType.Size);
     this.ser = new Arm32ProcedureSerializer(arch, deserializer, "");
 }
Esempio n. 31
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     throw new NotSupportedException();
 }
 private void Given_ProcedureSerializer()
 {
     this.deserializer = mockFactory.CreateDeserializer();
     this.ser = new PowerPcProcedureSerializer(arch, deserializer, "");
 }
Esempio n. 33
0
 public abstract T Accept <T>(ISerializedTypeVisitor <T> visitor);
Esempio n. 34
0
 public override T Accept <T>(ISerializedTypeVisitor <T> visitor)
 {
     return(visitor.VisitPrimitive(this));
 }
Esempio n. 35
0
 public override T Accept <T>(ISerializedTypeVisitor <T> visitor)
 {
     return(visitor.VisitSignature(this));
 }
Esempio n. 36
0
 public override Core.Serialization.ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
 {
     throw new NotImplementedException();
 }
Esempio n. 37
0
 public X86ProcedureSerializer(IProcessorArchitecture arch, ISerializedTypeVisitor <DataType> typeLoader, string defaultCc)
     : base(arch, typeLoader, defaultCc)
 {
 }
Esempio n. 38
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultCc)
 {
     return new PowerPcProcedureSerializer(this, typeLoader, defaultCc);
 }
Esempio n. 39
0
 /// <summary>
 /// Creates a procedure serializer that understands the calling conventions used on this
 /// processor and environment
 /// </summary>
 /// <param name="typeLoader">Used to resolve data types</param>
 /// <param name="defaultConvention">Default calling convention, if none specified.</param>
 public abstract ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention);
Esempio n. 40
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultCc)
 {
     throw new NotSupportedException();  //$Makes no sense in C64 Basic!
 }
Esempio n. 41
0
 private void Given_ProcedureSerializer(string cConvention)
 {
     this.deserializer = new FakeTypeDeserializer(32);
     this.ser          = new ProcedureSerializer(platform, deserializer, cConvention);
 }
Esempio n. 42
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
 {
     throw new NotSupportedException();
 }
 public M68kProcedureSerializer(M68kArchitecture arch, ISerializedTypeVisitor<DataType> typeLoader, string defaultCc)
     : base(arch, typeLoader, defaultCc)
 {
 }
Esempio n. 44
0
 public X86_64ProcedureSerializer(IProcessorArchitecture arch, ISerializedTypeVisitor<DataType> typeLoader, string defaultCc)
     : base(arch, typeLoader, defaultCc)
 {
 }
Esempio n. 45
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultCc)
 {
     throw new NotImplementedException();
 }
Esempio n. 46
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultConvention)
 {
     //$BUGBUG: unlikely to be correct in long run.
     return(new X86ProcedureSerializer((IntelArchitecture)this.Architecture, typeLoader, defaultConvention));
 }
Esempio n. 47
0
 public override ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     return Test_CreateProcedureSerializer(typeLoader, defaultConvention);
 }
Esempio n. 48
0
 public override Core.Serialization.ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor<DataType> typeLoader, string defaultConvention)
 {
     throw new NotImplementedException();
 }
Esempio n. 49
0
 public ProcedureSerializer CreateProcedureSerializer(ISerializedTypeVisitor <DataType> typeLoader, string defaultCc)
 {
     throw new NotImplementedException();
 }
 private void Given_ProcedureSerializer(string cConvention)
 {
     this.deserializer = new FakeTypeDeserializer(4);
     this.ser          = new X86ProcedureSerializer(arch, deserializer, cConvention);
 }