Fix builds.
This commit is contained in:
parent
9b37d84a9b
commit
99020f3ed1
@ -11,6 +11,7 @@ use crate::stdlib::{
|
|||||||
num::NonZeroUsize,
|
num::NonZeroUsize,
|
||||||
ops::{Add, AddAssign},
|
ops::{Add, AddAssign},
|
||||||
string::String,
|
string::String,
|
||||||
|
vec,
|
||||||
vec::Vec,
|
vec::Vec,
|
||||||
};
|
};
|
||||||
use crate::token::Token;
|
use crate::token::Token;
|
||||||
@ -244,7 +245,7 @@ impl AST {
|
|||||||
#[deprecated = "this method is volatile and may change"]
|
#[deprecated = "this method is volatile and may change"]
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn statements(&self) -> &[Stmt] {
|
pub fn statements(&self) -> &[Stmt] {
|
||||||
&self.statements
|
&self.body.statements
|
||||||
}
|
}
|
||||||
/// Get a mutable reference to the statements.
|
/// Get a mutable reference to the statements.
|
||||||
#[cfg(not(feature = "no_optimize"))]
|
#[cfg(not(feature = "no_optimize"))]
|
||||||
@ -711,7 +712,7 @@ impl AST {
|
|||||||
.chain({
|
.chain({
|
||||||
#[cfg(not(feature = "no_function"))]
|
#[cfg(not(feature = "no_function"))]
|
||||||
{
|
{
|
||||||
self.iter_fn_def().map(|f| &f.body)
|
self.iter_fn_def().flat_map(|f| f.body.statements.iter())
|
||||||
}
|
}
|
||||||
#[cfg(feature = "no_function")]
|
#[cfg(feature = "no_function")]
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,4 @@
|
|||||||
use rhai::{
|
use rhai::{Dynamic, Engine, EvalAltResult, Module, Scope, AST};
|
||||||
module_resolvers::FileModuleResolver, Dynamic, Engine, EvalAltResult, Module, Scope, AST,
|
|
||||||
};
|
|
||||||
|
|
||||||
#[cfg(not(feature = "no_optimize"))]
|
|
||||||
use rhai::OptimizationLevel;
|
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
env,
|
env,
|
||||||
@ -65,35 +60,31 @@ fn main() {
|
|||||||
// Initialize scripting engine
|
// Initialize scripting engine
|
||||||
let mut engine = Engine::new();
|
let mut engine = Engine::new();
|
||||||
|
|
||||||
// Set a file module resolver without caching
|
|
||||||
let mut resolver = FileModuleResolver::new();
|
|
||||||
resolver.enable_cache(false);
|
|
||||||
|
|
||||||
engine.set_module_resolver(resolver);
|
|
||||||
|
|
||||||
// Load init scripts
|
|
||||||
|
|
||||||
#[cfg(not(feature = "no_module"))]
|
#[cfg(not(feature = "no_module"))]
|
||||||
{
|
{
|
||||||
|
// Set a file module resolver without caching
|
||||||
|
let mut resolver = rhai::module_resolvers::FileModuleResolver::new();
|
||||||
|
resolver.enable_cache(false);
|
||||||
|
engine.set_module_resolver(resolver);
|
||||||
|
|
||||||
|
// Load init scripts
|
||||||
let mut contents = String::new();
|
let mut contents = String::new();
|
||||||
let mut has_init_scripts = false;
|
let mut has_init_scripts = false;
|
||||||
|
|
||||||
for filename in env::args().skip(1) {
|
for filename in env::args().skip(1) {
|
||||||
{
|
contents.clear();
|
||||||
contents.clear();
|
|
||||||
|
|
||||||
let mut f = match File::open(&filename) {
|
let mut f = match File::open(&filename) {
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
eprintln!("Error reading script file: {}\n{}", filename, err);
|
eprintln!("Error reading script file: {}\n{}", filename, err);
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
Ok(f) => f,
|
|
||||||
};
|
|
||||||
|
|
||||||
if let Err(err) = f.read_to_string(&mut contents) {
|
|
||||||
println!("Error reading script file: {}\n{}", filename, err);
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
Ok(f) => f,
|
||||||
|
};
|
||||||
|
|
||||||
|
if let Err(err) = f.read_to_string(&mut contents) {
|
||||||
|
println!("Error reading script file: {}\n{}", filename, err);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
let module = match engine
|
let module = match engine
|
||||||
@ -128,9 +119,8 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Setup Engine
|
// Setup Engine
|
||||||
|
|
||||||
#[cfg(not(feature = "no_optimize"))]
|
#[cfg(not(feature = "no_optimize"))]
|
||||||
engine.set_optimization_level(OptimizationLevel::None);
|
engine.set_optimization_level(rhai::OptimizationLevel::None);
|
||||||
|
|
||||||
let mut scope = Scope::new();
|
let mut scope = Scope::new();
|
||||||
|
|
||||||
@ -143,7 +133,6 @@ fn main() {
|
|||||||
let engine = engine;
|
let engine = engine;
|
||||||
|
|
||||||
// REPL loop
|
// REPL loop
|
||||||
|
|
||||||
'main_loop: loop {
|
'main_loop: loop {
|
||||||
print!("rhai-repl> ");
|
print!("rhai-repl> ");
|
||||||
stdout().flush().expect("couldn't flush stdout");
|
stdout().flush().expect("couldn't flush stdout");
|
||||||
@ -245,7 +234,7 @@ fn main() {
|
|||||||
|
|
||||||
#[cfg(not(feature = "no_optimize"))]
|
#[cfg(not(feature = "no_optimize"))]
|
||||||
{
|
{
|
||||||
ast = engine.optimize_ast(&scope, r, OptimizationLevel::Simple);
|
ast = engine.optimize_ast(&scope, r, rhai::OptimizationLevel::Simple);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "no_optimize")]
|
#[cfg(feature = "no_optimize")]
|
||||||
|
Loading…
Reference in New Issue
Block a user