parameters: (self, key)
return_statement: return self.environment.undefined(name=key)
docstring: Looks up a variable like `__getitem__` or `get` but returns an
          :class:`Undefined` object with the name of the name looked up.
docstring_summary: Looks up a variable like `__getitem__` or `get` but returns an
          :class:`Undefined` object with the name of the name looked up.
docstring_tokens: Looks up a variable like __getitem__ or get but returns an : class : Undefined object with the name of the name looked up .
function: def resolve(self, key):
          """Looks up a variable like `__getitem__` or `get` but returns an
          :class:`Undefined` object with the name of the name looked up.
          """
          if key in self.vars:
              return self.vars[key]
          if key in self.parent:
              return self.parent[key]
          return self.environment.undefined(name=key)
function_tokens: def resolve ( self , key ) : if key in self . vars : return self . vars [ key ] if key in self . parent : return self . parent [ key ] return self . environment . undefined ( name = key )