code: def referenced(self):
          
          # self.dep is included to catch dependencies from a lone 'depends on'
          # when there are no properties to propagate it to
          res = expr_items(self.dep)
  
          if self.prompt:
              res |= expr_items(self.prompt[1])
  
          if self.item is MENU:
              res |= expr_items(self.visibility)
  
          for value, cond in self.defaults:
              res |= expr_items(value)
              res |= expr_items(cond)
  
          for value, cond in self.selects:
              res.add(value)
              res |= expr_items(cond)
  
          for value, cond in self.implies:
              res.add(value)
              res |= expr_items(cond)
  
          for low, high, cond in self.ranges:
              res.add(low)
              res.add(high)
              res |= expr_items(cond)
  
          return res
docs: See the class documentation.