def METHOD_NAME(self) -> None:
    self.__variables = [(var, stmt) for stmt in self.__stmts for var in stmt.declared_variables()]
    for s in self.__stmts:
        try:
            s.METHOD_NAME()
        except TypeNotFoundException as e:
            e.set_statement(s)
            raise e
    # not used yet
    # self.requires = set([require for s in self.__stmts for require in s.requires()])
    # self.external = self.requires - set(self.__variables)
    # self.external_not_global = [x for x in self.external if "::" not in x]