def _make_symbolic_arguments(self, ty):
<EOL>default_string_size = <NUM_LIT:32><EOL>default_array_size = <NUM_LIT:32><EOL>if ty[<NUM_LIT:0>] in ('<STR_LIT:int>', '<STR_LIT>'):<EOL><INDENT>result = self.make_symbolic_value()<EOL><DEDENT>elif ty[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>result = self.make_symbolic_buffer(size=ty[<NUM_LIT:1>])<EOL><DEDENT>elif ty[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>address = self.make_symbolic_value()<EOL>func_id = self.make_symbolic_buffer(size=<NUM_LIT:4>)<EOL>result = (address, func_id)<EOL><DEDENT>elif ty[<NUM_LIT:0>] in ('<STR_LIT>', '<STR_LIT:string>'):<EOL><INDENT>result = self.make_symbolic_buffer(size=default_string_size)<EOL><DEDENT>elif ty[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>result = ()<EOL>for ty_i in ty[<NUM_LIT:1>]:<EOL><INDENT>result += (self._make_symbolic_arguments(ty_i), )<EOL><DEDENT><DEDENT>elif ty[<NUM_LIT:0>] == '<STR_LIT>':<EOL><INDENT>result = []<EOL>rep = ty[<NUM_LIT:1>]<EOL>if rep is None:<EOL><INDENT>rep = default_array_size<EOL><DEDENT>for _ in range(rep):<EOL><INDENT>result.append(self._make_symbolic_arguments(ty[<NUM_LIT:2>]))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>raise NotImplemented<EOL><DEDENT>return result<EOL>
This makes a tuple of symbols to be used as arguments of type ty