parameters: (self, i)
docstring: Return the AST at position `i`.
  
          >>> A = AstVector()
          >>> A.push(Int('x') + 1)
          >>> A.push(Int('y'))
          >>> A[0]
          x + 1
          >>> A[1]
          y
docstring_summary: Return the AST at position `i`.
docstring_tokens: Return the AST at position i .
function: def __getitem__(self, i):
          """Return the AST at position `i`.
  
          >>> A = AstVector()
          >>> A.push(Int('x') + 1)
          >>> A.push(Int('y'))
          >>> A[0]
          x + 1
          >>> A[1]
          y
          """
  
          if isinstance(i, int):
              if i < 0:
                  i += self.__len__()
  
              if i >= self.__len__():
                  raise IndexError
              return _to_ast_ref(Z3_ast_vector_get(self.ctx.ref(), self.vector, i), self.ctx)
  
          elif isinstance(i, slice):
              result = []
              for ii in range(*i.indices(self.__len__())):
                  result.append(_to_ast_ref(
                      Z3_ast_vector_get(self.ctx.ref(), self.vector, ii),
                      self.ctx,
                  ))
              return result
function_tokens: def __getitem__ ( self , i ) : if isinstance ( i , int ) : if i < 0 : i += self . __len__ ( ) if i >= self . __len__ ( ) : raise IndexError return _to_ast_ref ( Z3_ast_vector_get ( self . ctx . ref ( ) , self . vector , i ) , self . ctx ) elif isinstance ( i , slice ) : result = [ ] for ii in range ( * i . indices ( self . __len__ ( ) ) ) : result . append ( _to_ast_ref ( Z3_ast_vector_get ( self . ctx . ref ( ) , self . vector , ii ) , self . ctx , ) ) return result