|
#ifndef RAVA_REPL_EXECUTOR_H
|
|
#define RAVA_REPL_EXECUTOR_H
|
|
|
|
#include "repl_types.h"
|
|
#include "repl_session.h"
|
|
|
|
typedef struct {
|
|
RavaREPLSession_t *session;
|
|
int timeout_ms;
|
|
volatile bool interrupted;
|
|
RavaValue_t last_result;
|
|
bool show_timing;
|
|
} RavaREPLExecutor_t;
|
|
|
|
RavaREPLExecutor_t* rava_repl_executor_create(RavaREPLSession_t *session);
|
|
void rava_repl_executor_destroy(RavaREPLExecutor_t *executor);
|
|
|
|
RavaREPLExecResult_e rava_repl_executor_execute(RavaREPLExecutor_t *executor, const char *code);
|
|
RavaREPLExecResult_e rava_repl_executor_execute_expression(RavaREPLExecutor_t *executor, const char *code);
|
|
RavaREPLExecResult_e rava_repl_executor_execute_statement(RavaREPLExecutor_t *executor, const char *code);
|
|
RavaREPLExecResult_e rava_repl_executor_execute_var_decl(RavaREPLExecutor_t *executor, const char *code);
|
|
RavaREPLExecResult_e rava_repl_executor_execute_method_decl(RavaREPLExecutor_t *executor, const char *code);
|
|
RavaREPLExecResult_e rava_repl_executor_execute_class_decl(RavaREPLExecutor_t *executor, const char *code);
|
|
|
|
RavaValue_t rava_repl_executor_get_result(RavaREPLExecutor_t *executor);
|
|
void rava_repl_executor_interrupt(RavaREPLExecutor_t *executor);
|
|
|
|
#endif
|