class_docstr: A tree pattern that matches TF expressions with certain op types.
code: def match(self, op):
      if self._op_type != "*":
          if op.type not in self._op_type.split("|"):
              return None
  
      match_result = MatchResult()
      match_result.add(self, op)
  
      if not self._inputs:
          # If pattern.inputs is empty, skips the rest and accepts all the inputs.
          return match_result
  
      if len(op.in_edges) != len(self._inputs):
          return None
  
      input_patterns_list = [self._inputs]
      # If order doesn't matter for the inputs, then make sure we match at least
      # one permutation of the inputs.
      if not self._ordered_inputs:
          input_patterns_list = list(
              itertools.permutations(self._inputs)
          )
  
      for input_patterns in input_patterns_list:
          match_failed = False
  
          for input_op, input_pattern in zip(
              op.in_nodes, input_patterns
          ):
              input_match_result = input_pattern.match(input_op)
              if input_match_result is None:
                  match_failed = True
                  break
              match_result.merge_from(input_match_result)
          if not match_failed:
              return match_result
      return None
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import itertools
  from mmdnn.conversion.common.DataStructure.graph import Graph
label_desc: Use image node_id 7 for calling the OpTypePattern obj's underlying member method code with example usage: obj.match(op) and returns: None, match_result, None, None, match_result