ruby: slicc method error fix
authorBrad Beckmann <Brad.Beckmann@amd.com>
Wed, 18 Nov 2009 21:55:58 +0000 (13:55 -0800)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Wed, 18 Nov 2009 21:55:58 +0000 (13:55 -0800)
Added error message when a method call is not supported by an object.

src/mem/slicc/ast/MethodCallExprAST.py

index d423ee4a7c00ac11e50a28e3286cad41a4155ee2..3f9b250c1c80bcb595fd2a7272dbbe941d99701e 100644 (file)
@@ -97,6 +97,9 @@ class MemberMethodCallExprAST(MethodCallExprAST):
         methodId = obj_type.methodId(self.proc_name, paramTypes)
 
         prefix = ""
+        if methodId not in obj_type.methods:
+            self.error("Invalid method call: Type '%s' does not have a method '%s'",
+                       obj_type, methodId)
         return_type = obj_type.methods[methodId].return_type
         if return_type.isInterface:
             prefix = "static_cast<%s &>" % return_type.c_ident