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); }
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()); }