code: def test_peephole_list_ops(self):
      @torch.jit.script
      def foo(x, y, z):
          return len([x, y, z])
  
      self.run_pass("peephole", foo.graph)
      FileCheck().check("value=3").check_next("return").run(foo.graph)
  
      @torch.jit.script
      def foo(x, y, z):
          li = [x, y, z]
          for i in range(len(x)):
              li.append(x)
          return len([x, y, z])
  
      self.run_pass("peephole", foo.graph)
      FileCheck().check_not("aten::len").run(foo.graph)
  
      @torch.jit.script
      def foo(x, y, z):
          li = [x, y, z]
          return li[1], li[-2]
  
      FileCheck().check("aten::__getitem__").run(foo.graph)
      self.run_pass("peephole", foo.graph)
      FileCheck().check_not("aten::__getitem__").run(foo.graph)
  
      @torch.jit.script
      def foo(x, y, z):
          li = [x, y, z]
          return li[-7]
  
      self.run_pass("peephole", foo.graph)
      FileCheck().check("aten::__getitem__").run(foo.graph)
  
      @torch.jit.script
      def foo(x, y, z):
          li = [x, y, z]
          for i in range(len(x)):
              li.append(x)
          return li[-2]
  
      self.run_pass("peephole", foo.graph)
      FileCheck().check("aten::__getitem__").run(foo.graph)
  
imports: import torch
  from torch.testing._internal.jit_utils import JitTestCase, RUN_CUDA, _inline_everything
  from torch import nn
  from torch.testing import FileCheck
  from typing import Callable, List
  import unittest
label_desc: Use image node_id 6 for calling the TestPeephole obj's underlying member method code with example usage: obj.test_peephole_list_ops() and returns: len, len, li,  li, li, li