nodes: 0, module; 1, function_definition; 2, function_name:_get_kernel_arguments; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""Get the list of kernel arguments for loading the kernel data elements into the kernel.
  
          This will use the sorted keys for looping through the kernel input items.
  
          Returns:
              list of str: the list of parameter definitions
          """; 11, assignment; 12, pattern_list; 13, call; 14, block; 15, identifier:declarations; 16, identifier:declarations; 17, list; 18, identifier:name; 19, identifier:data; 20, attribute; 21, argument_list; 22, expression_statement; 23, attribute; 24, identifier:items; 25, call; 26, identifier:self; 27, identifier:_kernel_data; 28, attribute; 29, argument_list; 30, identifier:declarations; 31, identifier:extend; 32, call; 33, attribute; 34, argument_list; 35, identifier:data; 36, identifier:get_kernel_parameters; 37, binary_operator:'_' + name; 38, string; 39, identifier:name; 40, string_content:_
code: def _get_kernel_arguments(self):
          """Get the list of kernel arguments for loading the kernel data elements into the kernel.
  
          This will use the sorted keys for looping through the kernel input items.
  
          Returns:
              list of str: the list of parameter definitions
          """
          declarations = []
          for name, data in self._kernel_data.items():
              declarations.extend(data.get_kernel_parameters('_' + name))
          return declarations