ReturnStatementAST.py (6657:ef5fae93a3b2) ReturnStatementAST.py (6690:4dc4e494e4d8)
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 28 unchanged lines hidden (view full) ---

37 return "[ReturnStatementAST: %r]" % self.expr_ast
38
39 def generate(self, code, return_type):
40 actual_type, ecode = self.expr_ast.inline(True)
41 code('return $ecode;')
42
43 # Is return valid here?
44 if return_type is None:
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

--- 28 unchanged lines hidden (view full) ---

37 return "[ReturnStatementAST: %r]" % self.expr_ast
38
39 def generate(self, code, return_type):
40 actual_type, ecode = self.expr_ast.inline(True)
41 code('return $ecode;')
42
43 # Is return valid here?
44 if return_type is None:
45 error("Invalid 'return' statement")
45 self.error("Invalid 'return' statement")
46
47 # The return type must match
48 if return_type != actual_type:
49 self.expr_ast.error("Return type miss-match, expected return " +
50 "type is '%s', actual is '%s'",
51 return_type, actual_type)
52
53 def findResources(self, resources):
54 self.expr_ast.findResources(resources)
46
47 # The return type must match
48 if return_type != actual_type:
49 self.expr_ast.error("Return type miss-match, expected return " +
50 "type is '%s', actual is '%s'",
51 return_type, actual_type)
52
53 def findResources(self, resources):
54 self.expr_ast.findResources(resources)