ReturnStatementAST.py (6690:4dc4e494e4d8) ReturnStatementAST.py (7839:9e556fb25900)
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;

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

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 self.error("Invalid 'return' statement")
46
47 # The return type must match
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;

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

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 self.error("Invalid 'return' statement")
46
47 # The return type must match
48 if return_type != actual_type:
48 if actual_type != "OOD" and 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)
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)