'Return the complete context as dict including the exported
variables.  For optimizations reasons this might not return an
actual copy so be careful with using it.'

def get_all(self):

    if (not self.vars):
        return self.parent
    if (not self.parent):
        return self.vars
    return dict(self.parent, **self.vars)
