def get_ast(self): if not self._generate_ast: raise AssertionError( "The AST can only be accessed in the RobotFrameworkServerApi, not in the RobotFrameworkLanguageServer." ) from robot.api import get_model, get_resource_model, get_init_model try: source = self.source except: log.exception("Error getting source for: %s" % (self.uri,)) source = "" t = self.get_type() if t == self.TYPE_TEST_CASE: return get_model(source) elif t == self.TYPE_RESOURCE: return get_resource_model(source) elif t == self.TYPE_INIT: return get_init_model(source) else: log.critical("Unrecognized section: %s", t) return get_model(source)
def get_ast(self): if not self._generate_ast: raise AssertionError( "The AST can only be accessed in the RobotFrameworkServerApi, not in the RobotFrameworkLanguageServer." ) from robot.api import get_model, get_resource_model, get_init_model # noqa try: source = self.source except: log.exception("Error getting source for: %s" % (self.uri,)) source = "" try: t = self.get_type() if t == self.TYPE_TEST_CASE: return get_model(source) elif t == self.TYPE_RESOURCE: return get_resource_model(source) elif t == self.TYPE_INIT: return get_init_model(source) else: log.critical("Unrecognized section: %s", t) return get_model(source) except: log.critical(f"Error parsing {self.uri}") # Note: we always want to return a valid AST here (the # AST itself should have the error). model = get_model(f"*** Unable to parse: {self.uri} ***") return model