nodes: 0, module; 1, function_definition; 2, function_name:instruction_addresses; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""
          Get all instruction addresses in the binary.
  
          :return: A list of sorted instruction addresses.
          :rtype: list
          """; 11, assignment; 12, identifier:b; 13, call; 14, comment:# type: BasicBlock; 15, block; 16, call; 17, identifier:addrs; 18, list; 19, identifier:sorted; 20, argument_list; 21, expression_statement; 22, identifier:sorted; 23, argument_list; 24, attribute; 25, keyword_argument; 26, call; 27, call; 28, keyword_argument; 29, identifier:self; 30, identifier:blocks; 31, identifier:key; 32, lambda; 33, attribute; 34, argument_list; 35, identifier:set; 36, argument_list; 37, identifier:key; 38, lambda; 39, lambda_parameters; 40, attribute; 41, identifier:addrs; 42, identifier:extend; 43, call; 44, identifier:addrs; 45, lambda_parameters; 46, subscript; 47, identifier:x; 48, identifier:x; 49, identifier:addr; 50, attribute; 51, argument_list; 52, identifier:x; 53, identifier:x; 54, integer:0; 55, identifier:b; 56, identifier:instruction_addresses
code: def instruction_addresses(self):
          """
          Get all instruction addresses in the binary.
  
          :return: A list of sorted instruction addresses.
          :rtype: list
          """
  
          addrs = [ ]
          for b in sorted(self.blocks, key=lambda x: x.addr):  # type: BasicBlock
              addrs.extend(b.instruction_addresses())
  
          return sorted(set(addrs), key=lambda x: x[0])