Upgrade to edition 2021

This commit is contained in:
2022-06-12 15:43:12 +02:00
parent 3c15045e60
commit 682c732955
32 changed files with 97 additions and 99 deletions

View File

@@ -1,6 +1,7 @@
[package] [package]
name = "rustijvm" name = "rustijvm"
version = "1.1.0" version = "1.1.0"
edition = "2021"
authors = ["Jur van den Berg <Jurl.berg@gmail.com>"] authors = ["Jur van den Berg <Jurl.berg@gmail.com>"]
[dependencies] [dependencies]

View File

@@ -10,7 +10,7 @@ use test::Bencher;
fn run_bfi(file: &str) { fn run_bfi(file: &str) {
let file = File::open(file).expect("Missing bf file"); let file = File::open(file).expect("Missing bf file");
let rc = Arc::new(Mutex::new(Cursor::new(Vec::new()))); let rc = Arc::new(Mutex::new(Cursor::new(Vec::new())));
let mut machine = rustijvm::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
machine.set_output(rc); machine.set_output(rc);
machine.set_input(Box::new(file)); machine.set_input(Box::new(file));
machine.run().unwrap(); machine.run().unwrap();

View File

@@ -8,7 +8,7 @@ use test::Bencher;
fn run_calc(input: &'static str) { fn run_calc(input: &'static str) {
let rc = Arc::new(Mutex::new(Cursor::new(Vec::new()))); let rc = Arc::new(Mutex::new(Cursor::new(Vec::new())));
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
machine.set_output(rc); machine.set_output(rc);
machine.set_input(Box::new(input.as_bytes())); machine.set_input(Box::new(input.as_bytes()));
machine.run().unwrap(); machine.run().unwrap();

View File

@@ -1,6 +1,6 @@
extern crate rustijvm; extern crate rustijvm;
use rustijvm::Disassembly; use rustijvm::disassembler::Disassembly;
use std::env; use std::env;

View File

@@ -1,6 +1,6 @@
use block::Block; use crate::block::Block;
use ops::{num_to_op, Operation}; use crate::ops::{num_to_op, Operation};
use Result; use crate::Result;
pub trait BinReadable { pub trait BinReadable {
fn get(&mut self) -> Result<u8>; fn get(&mut self) -> Result<u8>;

View File

@@ -1,7 +1,7 @@
use std::ops; use std::ops;
use Result; use crate::Result;
use binread::BinReadable; use crate::binread::BinReadable;
#[derive(Debug)] #[derive(Debug)]
pub struct Block { pub struct Block {

View File

@@ -1,9 +1,9 @@
use binread::{BinRead, BinReadable}; use crate::binread::{BinRead, BinReadable};
use block::Block; use crate::block::Block;
use ijvmreader::IJVMReader; use crate::ijvmreader::IJVMReader;
use machine::MAGIC_HEADER; use crate::machine::MAGIC_HEADER;
use ops; use crate::ops;
use Result; use crate::Result;
use std::clone::Clone; use std::clone::Clone;
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};

View File

@@ -1,6 +1,6 @@
use stack::Stack; use crate::stack::Stack;
use Result; use crate::Result;
use value::Value; use crate::value::Value;
#[derive(Debug)] #[derive(Debug)]
pub struct Frame { pub struct Frame {

View File

@@ -1,4 +1,4 @@
use value::Value; use crate::value::Value;
use std::rc::{Rc, Weak}; use std::rc::{Rc, Weak};
use std::cell::RefCell; use std::cell::RefCell;

View File

@@ -1,7 +1,7 @@
use std::io::Read; use std::io::Read;
use std::fs::File; use std::fs::File;
use Result; use crate::Result;
use binread::BinReadable; use crate::binread::BinReadable;
pub struct IJVMReader { pub struct IJVMReader {
pointer: usize, pointer: usize,

View File

@@ -22,7 +22,4 @@ pub mod heap;
type Result<T> = ::std::result::Result<T, &'static str>; type Result<T> = ::std::result::Result<T, &'static str>;
pub mod machine; pub mod machine;
pub use machine::Machine;
pub mod disassembler; pub mod disassembler;
pub use disassembler::{Disassembler, Disassembly};

View File

@@ -1,19 +1,19 @@
use std::io::{Read, Write}; use std::io::{Read, Write};
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use binread::{BinRead, BinReadable}; use crate::binread::{BinRead, BinReadable};
use block::Block; use crate::block::Block;
use frame::Frame; use crate::frame::Frame;
use ijvmreader::IJVMReader; use crate::ijvmreader::IJVMReader;
use ops::{num_to_op, Args, Operation}; use crate::ops::{num_to_op, Args, Operation};
use pool::Pool; use crate::pool::Pool;
use stack::Stack; use crate::stack::Stack;
use Result; use crate::Result;
#[cfg(feature = "bonus.heap")] #[cfg(feature = "bonus.heap")]
use heap::Heaps; use crate::heap::Heaps;
#[cfg(feature = "bonus.network")] #[cfg(feature = "bonus.network")]
use netstack::NetStack; use crate::netstack::NetStack;
use std::convert::TryInto; use std::convert::TryInto;
pub const MAGIC_HEADER: u32 = 0x1DEA_DFAD; pub const MAGIC_HEADER: u32 = 0x1DEA_DFAD;

View File

@@ -1,6 +1,6 @@
use std::net::TcpStream; use std::net::TcpStream;
use Result; use crate::Result;
use std::io::{Read, Write}; use std::io::{Read, Write};
use std::net::TcpListener; use std::net::TcpListener;

View File

@@ -1,12 +1,12 @@
use binread::BinRead; use crate::binread::BinRead;
use frame::Frame; use crate::frame::Frame;
use machine::Machine; use crate::machine::Machine;
use std::io::Read; use std::io::Read;
use std::num::Wrapping; use std::num::Wrapping;
use Result; use crate::Result;
use value::Value; use crate::value::Value;
use std::convert::TryInto; use std::convert::TryInto;
use netstack::NetStack; use crate::netstack::NetStack;
pub type OpFunc = fn(&mut Machine) -> Result<()>; pub type OpFunc = fn(&mut Machine) -> Result<()>;

View File

@@ -1,6 +1,6 @@
use Result; use crate::Result;
use block::Block; use crate::block::Block;
use binread::{BinRead, BinReadable}; use crate::binread::{BinRead, BinReadable};
#[derive(Debug)] #[derive(Debug)]
pub struct Pool { pub struct Pool {

View File

@@ -1,5 +1,5 @@
use Result; use crate::Result;
use value::Value; use crate::value::Value;
#[derive(Debug, Default)] #[derive(Debug, Default)]

View File

@@ -1,6 +1,6 @@
use Result; use crate::Result;
use std::convert::TryInto; use std::convert::TryInto;
use heap::Heap; use crate::heap::Heap;
#[derive(Debug, Clone, PartialEq)] #[derive(Debug, Clone, PartialEq)]
pub enum Value { pub enum Value {

View File

@@ -2,7 +2,7 @@ extern crate rustijvm;
use std::io::{Seek, SeekFrom, Read}; use std::io::{Seek, SeekFrom, Read};
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -12,7 +12,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
fn advanced1() { fn advanced1() {
let output = rustijvm::stubs::output_stub(); let output = rustijvm::stubs::output_stub();
let input = Box::new("A".as_bytes()); let input = Box::new("A".as_bytes());
let mut machine = rustijvm::Machine::new_from_file("files/task5/all_regular.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/all_regular.ijvm").unwrap();
machine.set_input(input); machine.set_input(input);
machine.set_output(output.clone()); machine.set_output(output.clone());

View File

@@ -1,6 +1,6 @@
extern crate rustijvm; extern crate rustijvm;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn advanced2_nested_invoke_simple() { fn advanced2_nested_invoke_simple() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-nestedinvoke-simple.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-nestedinvoke-simple.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -35,7 +35,7 @@ fn advanced2_nested_invoke_simple() {
#[test] #[test]
fn advanced2_nested_invoke() { fn advanced2_nested_invoke() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-nestedinvoke.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-nestedinvoke.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 8); steps(&mut machine, 8);

View File

@@ -1,6 +1,6 @@
extern crate rustijvm; extern crate rustijvm;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
fn advanced3_wide1() { fn advanced3_wide1() {
use rustijvm::value::Value::Int; use rustijvm::value::Value::Int;
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-wide1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 6); steps(&mut machine, 6);
@@ -27,7 +27,7 @@ fn advanced3_wide1() {
#[test] #[test]
fn advanced3_wide2() { fn advanced3_wide2() {
use rustijvm::value::Value::Int; use rustijvm::value::Value::Int;
let mut machine = rustijvm::Machine::new_from_file("files/advanced/test-wide2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/test-wide2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 6); steps(&mut machine, 6);

View File

@@ -5,7 +5,7 @@ use std::io::{Seek, SeekFrom, Read};
#[test] #[test]
fn advanced4_tanenbaum() { fn advanced4_tanenbaum() {
let rc = rustijvm::stubs::output_stub(); let rc = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/advanced/Tanenbaum.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/Tanenbaum.ijvm").unwrap();
machine.set_output(rc.clone()); machine.set_output(rc.clone());
machine.run().unwrap(); machine.run().unwrap();

View File

@@ -4,7 +4,7 @@ use std::io::{Seek, SeekFrom, Read};
fn run_calc(input: &'static str, expected: &str) { fn run_calc(input: &'static str, expected: &str) {
let rc = rustijvm::stubs::output_stub(); let rc = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
machine.set_input(Box::new(input.as_bytes())); machine.set_input(Box::new(input.as_bytes()));
machine.set_output(rc.clone()); machine.set_output(rc.clone());

View File

@@ -4,7 +4,7 @@ use std::io::{Seek, SeekFrom, Read};
fn run_calc(input: &'static str, expected: &str) { fn run_calc(input: &'static str, expected: &str) {
let rc = rustijvm::stubs::output_stub(); let rc = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
machine.set_input(Box::new(input.as_bytes())); machine.set_input(Box::new(input.as_bytes()));
machine.set_output(rc.clone()); machine.set_output(rc.clone());

View File

@@ -6,7 +6,7 @@ use std::io::{SeekFrom, Seek, Read};
#[ignore] #[ignore]
fn advanced7() { fn advanced7() {
let output = rustijvm::stubs::output_stub(); let output = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/advanced/mandelbread.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/mandelbread.ijvm").unwrap();
machine.set_output(output.clone()); machine.set_output(output.clone());
machine.run().unwrap(); machine.run().unwrap();

View File

@@ -2,7 +2,7 @@ extern crate rustijvm;
use std::convert::TryInto; use std::convert::TryInto;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn advancedstack_100() { fn advancedstack_100() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -20,7 +20,7 @@ fn advancedstack_100() {
#[test] #[test]
fn advancedstack_3000() { fn advancedstack_3000() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -30,7 +30,7 @@ fn advancedstack_3000() {
#[test] #[test]
fn advancedstack_50000() { fn advancedstack_50000() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -40,7 +40,7 @@ fn advancedstack_50000() {
#[test] #[test]
fn advancedstack_contents() { fn advancedstack_contents() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -58,7 +58,7 @@ fn advancedstack_contents() {
#[test] #[test]
fn advancedstack_method() { fn advancedstack_method() {
let mut machine = rustijvm::Machine::new_from_file("files/advanced/teststack2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/teststack2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 8); steps(&mut machine, 8);

View File

@@ -6,7 +6,7 @@ use std::io::{Seek, SeekFrom, Read};
fn run_bfi(file: &str) -> String { fn run_bfi(file: &str) -> String {
let file = File::open(file).expect("Missing bf file"); let file = File::open(file).expect("Missing bf file");
let rc = rustijvm::stubs::output_stub(); let rc = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/bonus/bfi.ijvm").unwrap();
machine.set_output(rc.clone()); machine.set_output(rc.clone());
machine.set_input(Box::new(file)); machine.set_input(Box::new(file));

View File

@@ -9,7 +9,7 @@ fn test_create_from_slice() {
let mut vec = Vec::<u8>::new(); let mut vec = Vec::<u8>::new();
File::open("files/task1/program1.ijvm").unwrap().read_to_end(&mut vec).unwrap(); File::open("files/task1/program1.ijvm").unwrap().read_to_end(&mut vec).unwrap();
let machine = rustijvm::Machine::new_from_slice(&vec).unwrap(); let machine = rustijvm::machine::Machine::new_from_slice(&vec).unwrap();
assert_eq!(machine.block.len(), 7); assert_eq!(machine.block.len(), 7);
assert_eq!(machine.block[0], 0x10); // BIPUSH assert_eq!(machine.block[0], 0x10); // BIPUSH

View File

@@ -4,7 +4,7 @@ use rustijvm::binread::BinReadable;
#[test] #[test]
fn task1_program1() { fn task1_program1() {
let machine = rustijvm::Machine::new_from_file("files/task1/program1.ijvm").unwrap(); let machine = rustijvm::machine::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
assert_eq!(machine.block.len(), 7); assert_eq!(machine.block.len(), 7);
assert_eq!(machine.block[0], 0x10); // BIPUSH assert_eq!(machine.block[0], 0x10); // BIPUSH
@@ -15,7 +15,7 @@ fn task1_program1() {
#[test] #[test]
fn task1_program2() { fn task1_program2() {
let machine = rustijvm::Machine::new_from_file("files/task1/program2.ijvm").unwrap(); let machine = rustijvm::machine::Machine::new_from_file("files/task1/program2.ijvm").unwrap();
assert_eq!(machine.block.len(), 16); assert_eq!(machine.block.len(), 16);
assert_eq!(machine.block[0], 0x0); assert_eq!(machine.block[0], 0x0);
@@ -31,7 +31,7 @@ fn task1_program2() {
#[test] #[test]
fn task1_program_counter() { fn task1_program_counter() {
let machine = rustijvm::Machine::new_from_file("files/task1/program1.ijvm").unwrap(); let machine = rustijvm::machine::Machine::new_from_file("files/task1/program1.ijvm").unwrap();
assert_eq!(machine.get_program_counter(), 0); assert_eq!(machine.get_program_counter(), 0);
} }

View File

@@ -1,6 +1,6 @@
extern crate rustijvm; extern crate rustijvm;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn task2_simple_bipush() { fn task2_simple_bipush() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestBipush1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestBipush1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -17,7 +17,7 @@ fn task2_simple_bipush() {
#[test] #[test]
fn task2_signed_bipush() { fn task2_signed_bipush() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestBipush2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestBipush2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -26,7 +26,7 @@ fn task2_signed_bipush() {
#[test] #[test]
fn task2_simple_iadd() { fn task2_simple_iadd() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIadd1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIadd1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);
@@ -35,7 +35,7 @@ fn task2_simple_iadd() {
#[test] #[test]
fn task2_signed_iadd() { fn task2_signed_iadd() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIadd2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIadd2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);
@@ -44,7 +44,7 @@ fn task2_signed_iadd() {
#[test] #[test]
fn task2_simple_isub() { fn task2_simple_isub() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIsub1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIsub1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);
@@ -53,7 +53,7 @@ fn task2_simple_isub() {
#[test] #[test]
fn task2_signed_isub() { fn task2_signed_isub() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIsub2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIsub2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);
@@ -62,7 +62,7 @@ fn task2_signed_isub() {
#[test] #[test]
fn task2_simple_iand() { fn task2_simple_iand() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIAND1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIAND1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 5); steps(&mut machine, 5);
@@ -71,7 +71,7 @@ fn task2_simple_iand() {
#[test] #[test]
fn task2_simple_ior() { fn task2_simple_ior() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestIOR1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestIOR1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 5); steps(&mut machine, 5);
@@ -80,7 +80,7 @@ fn task2_simple_ior() {
#[test] #[test]
fn task2_swap() { fn task2_swap() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestSwap1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestSwap1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -95,7 +95,7 @@ fn task2_swap() {
#[test] #[test]
fn task2_simple_stack_operations() { fn task2_simple_stack_operations() {
let mut machine = rustijvm::Machine::new_from_file("files/task2/TestPop1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task2/TestPop1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);

View File

@@ -1,6 +1,6 @@
extern crate rustijvm; extern crate rustijvm;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -8,7 +8,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn task3_goto1() { fn task3_goto1() {
let mut machine = rustijvm::Machine::new_from_file("files/task3/GOTO1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/GOTO1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -20,7 +20,7 @@ fn task3_goto1() {
#[test] #[test]
fn task3_goto2() { fn task3_goto2() {
let mut machine = rustijvm::Machine::new_from_file("files/task3/GOTO2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/GOTO2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -34,7 +34,7 @@ fn task3_goto2() {
#[test] #[test]
fn task3_ifeq1() { fn task3_ifeq1() {
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFEQ1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFEQ1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -73,7 +73,7 @@ fn task3_ifeq1() {
#[test] #[test]
fn task3_iflt1() { fn task3_iflt1() {
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFLT1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFLT1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
let mut pc = 0; let mut pc = 0;
@@ -102,7 +102,7 @@ fn task3_iflt1() {
#[test] #[test]
fn task3_ificmpeq1() { fn task3_ificmpeq1() {
let mut machine = rustijvm::Machine::new_from_file("files/task3/IFICMPEQ1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task3/IFICMPEQ1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
let mut pc = 0; let mut pc = 0;

View File

@@ -2,7 +2,7 @@ extern crate rustijvm;
use std::io::{Read, Seek, SeekFrom}; use std::io::{Read, Seek, SeekFrom};
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -10,7 +10,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn task4_ldcw1() { fn task4_ldcw1() {
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -23,7 +23,7 @@ fn task4_ldcw1() {
#[test] #[test]
fn task4_simple_load() { fn task4_simple_load() {
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest3.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest3.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -52,7 +52,7 @@ fn task4_simple_load() {
#[test] #[test]
fn task4_complex_load() { fn task4_complex_load() {
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 1); steps(&mut machine, 1);
@@ -87,7 +87,7 @@ fn task4_complex_load() {
fn task4_iteration_load() { fn task4_iteration_load() {
let rc = rustijvm::stubs::output_stub(); let rc = rustijvm::stubs::output_stub();
let mut machine = rustijvm::Machine::new_from_file("files/task4/LoadTest4.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/LoadTest4.ijvm").unwrap();
machine.set_output(rc.clone()); machine.set_output(rc.clone());
machine.run().unwrap(); machine.run().unwrap();
@@ -103,7 +103,7 @@ fn task4_iteration_load() {
#[test] #[test]
fn task4_iinc() { fn task4_iinc() {
use rustijvm::value::Value::Int; use rustijvm::value::Value::Int;
let mut machine = rustijvm::Machine::new_from_file("files/task4/IINCTest.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task4/IINCTest.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 4); steps(&mut machine, 4);

View File

@@ -1,5 +1,5 @@
extern crate rustijvm; extern crate rustijvm;
fn steps(machine: &mut rustijvm::Machine, num: usize) { fn steps(machine: &mut rustijvm::machine::Machine, num: usize) {
for _ in 0..num { for _ in 0..num {
machine.step().unwrap(); machine.step().unwrap();
} }
@@ -7,7 +7,7 @@ fn steps(machine: &mut rustijvm::Machine, num: usize) {
#[test] #[test]
fn task5_invokenoargs() { fn task5_invokenoargs() {
let mut machine = rustijvm::Machine::new_from_file("files/task5/TestInvokeNoArgs.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/TestInvokeNoArgs.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 2); steps(&mut machine, 2);
@@ -20,7 +20,7 @@ fn task5_invokenoargs() {
#[test] #[test]
fn task5_invoke1() { fn task5_invoke1() {
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 3); steps(&mut machine, 3);
@@ -34,7 +34,7 @@ fn task5_invoke1() {
#[test] #[test]
fn task5_ireturn1() { fn task5_ireturn1() {
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual1.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 6); steps(&mut machine, 6);
@@ -45,7 +45,7 @@ fn task5_ireturn1() {
#[test] #[test]
fn task5_invoke2() { fn task5_invoke2() {
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 5); steps(&mut machine, 5);
@@ -61,7 +61,7 @@ fn task5_invoke2() {
#[test] #[test]
fn task5_ireturn2() { fn task5_ireturn2() {
let mut machine = rustijvm::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap(); let mut machine = rustijvm::machine::Machine::new_from_file("files/task5/test-invokevirtual2.ijvm").unwrap();
machine.set_output(rustijvm::stubs::output_stub()); machine.set_output(rustijvm::stubs::output_stub());
steps(&mut machine, 10); steps(&mut machine, 10);