示例#1
0
 public void Ahl_ParseSimpleDef_voidfn()
 {
     var arch = new M68kArchitecture();
     var platform = new AmigaOSPlatform(null, arch);
     var ahl = new AmigaHeaderLoader(null, "", Encoding.UTF8.GetBytes(
         "[[reko::amiga_function_vector(ExecLibrary, -432)]]  " +
         "void  FrabDevice([[reko::arg(register, \"A1\")]] struct Device * device);"));
     var Q = ahl.Load(platform, new TypeLibrary());
     var svc = ahl.SystemServices[-432];
     Assert.IsInstanceOf<VoidType>(svc.Signature.ReturnValue.DataType);
 }
示例#2
0
 public void Ahl_ParseSimpleDef()
 {
     var arch = new M68kArchitecture();
     var platform = new AmigaOSPlatform(null, arch);
     var ahl = new AmigaHeaderLoader(null, "", Encoding.UTF8.GetBytes(
         "[[reko::amiga_function_vector(ExecLibrary, -432)]] [[reko::returns(register,\"A0\")]] " +
         "void * FlobDevice([[reko::arg(register, \"A1\")]] struct Device * device);"));
     ahl.Load(platform, new TypeLibrary());
     var svc = ahl.SystemServices[-432];
     Assert.AreEqual("a0", svc.Signature.ReturnValue.Storage.ToString());
     Assert.AreEqual("a1", svc.Signature.Parameters[0].Storage.ToString());
 }