code: def detect_deprecated_references_in_contract(self, contract):
          
          results = []
  
          for state_variable in contract.variables:
              if state_variable.contract != contract:
                  continue
              if state_variable.expression:
                  deprecated_results = self.detect_deprecation_in_expression(state_variable.expression)
                  if deprecated_results:
                      results.append((state_variable, deprecated_results))
  
          # Loop through all functions + modifiers in this contract.
          for function in contract.functions + contract.modifiers:
              # We should only look for functions declared directly in this contract (not in a base contract).
              if function.contract != contract:
                  continue
  
              # Loop through each node in this function.
              for node in function.nodes:
                  # Detect deprecated references in the node.
                  deprecated_results = self.detect_deprecated_references_in_node(node)
  
                  # Detect additional deprecated low-level-calls.
                  for ir in node.irs:
                      if isinstance(ir, LowLevelCall):
                          for dep_llc in self.DEPRECATED_LOW_LEVEL_CALLS:
                              if ir.function_name == dep_llc[0]:
                                  deprecated_results.append(dep_llc)
  
                  # If we have any results from this iteration, add them to our results list.
                  if deprecated_results:
                      results.append((node, deprecated_results))
  
          return results
docs: Detects the usage of any deprecated built-in symbols.
  
          Returns:
              list of tuple: (state_variable | node, (detecting_signature, original_text, recommended_text))