code: def _detect(self):
          
          results = []
          for contract in self.contracts:
              deprecated_references = self.detect_deprecated_references_in_contract(contract)
              if deprecated_references:
                  for deprecated_reference in deprecated_references:
                      source_object = deprecated_reference[0]
                      deprecated_entries = deprecated_reference[1]
                      info = 'Deprecated standard detected @ {}:\n'.format(source_object.source_mapping_str)
  
                      for (dep_id, original_desc, recommended_disc) in deprecated_entries:
                          info += "\t- Usage of \"{}\" should be replaced with \"{}\"\n".format(original_desc,
                                                                                                recommended_disc)
  
  
                      # Generate relevant JSON data for this deprecated standard.
                      json = self.generate_json_result(info)
                      if isinstance(source_object, StateVariableSolc) or isinstance(source_object, StateVariable):
                          self.add_variable_to_json(source_object, json)
                      else:
                          self.add_nodes_to_json([source_object], json)
  
                      results.append(json)
  
          return results
docs: Detects if an expression makes use of any deprecated standards.
  
          Recursively visit the calls
          Returns:
              list: {'vuln', 'filename,'contract','func', 'deprecated_references'}