1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00

address review comments

This commit is contained in:
schaeff 2021-12-08 14:42:22 +01:00
parent 0ca5a4a7a3
commit f712de4767
4 changed files with 15 additions and 15 deletions

View file

@ -125,8 +125,7 @@ fn cli_compile<T: Field>(sub_matches: &ArgMatches) -> Result<(), String> {
)
})?;
let program_flattened = artifacts.prog;
let abi = artifacts.abi;
let (program_flattened, abi) = artifacts.into_inner();
// serialize flattened program and write to binary file
log::debug!("Serialize program");

View file

@ -25,8 +25,8 @@ use zokrates_pest_ast as pest;
#[derive(Debug)]
pub struct CompilationArtifacts<T, I: IntoIterator<Item = ir::Statement<T>>> {
pub prog: ir::ProgIterator<T, I>,
pub abi: Abi,
prog: ir::ProgIterator<T, I>,
abi: Abi,
}
impl<T, I: IntoIterator<Item = ir::Statement<T>>> CompilationArtifacts<T, I> {
@ -38,6 +38,10 @@ impl<T, I: IntoIterator<Item = ir::Statement<T>>> CompilationArtifacts<T, I> {
&self.abi
}
pub fn into_inner(self) -> (ir::ProgIterator<T, I>, Abi) {
(self.prog, self.abi)
}
pub fn collect(self) -> CompilationArtifacts<T, Vec<ir::Statement<T>>> {
CompilationArtifacts {
prog: self.prog.collect(),

View file

@ -1,4 +1,4 @@
use crate::ir::{ProgIterator, Statement};
use crate::ir::{Prog, ProgIterator, Statement};
use serde_cbor;
use std::io::{Read, Write};
use zokrates_field::*;
@ -56,7 +56,7 @@ where
{
struct Wrapper<U>(Cell<Option<U>>);
struct SerializableProgIterator<T: Serialize, I: IntoIterator<Item = crate::ir::Statement<T>>> {
struct SerializableProgIterator<T: Serialize, I: IntoIterator<Item = Statement<T>>> {
arguments: Vec<crate::flat_absy::FlatParameter>,
return_count: usize,
statements: Wrapper<I>,
@ -65,7 +65,7 @@ where
impl<T, I> Serialize for SerializableProgIterator<T, I>
where
T: Serialize + std::fmt::Debug,
I: IntoIterator<Item = crate::ir::Statement<T>>,
I: IntoIterator<Item = Statement<T>>,
{
fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
use serde::ser::SerializeStruct;
@ -136,8 +136,7 @@ impl
match curve {
m if m == Bls12_381Field::id() => {
let p: crate::ir::Prog<Bls12_381Field> =
serde_cbor::from_reader(r).unwrap();
let p: Prog<Bls12_381Field> = serde_cbor::from_reader(r).unwrap();
Ok(ProgEnum::Bls12_381Program(ProgIterator {
statements: p.statements.into_iter(),
@ -146,7 +145,7 @@ impl
}))
}
m if m == Bn128Field::id() => {
let p: crate::ir::Prog<Bn128Field> = serde_cbor::from_reader(r).unwrap();
let p: Prog<Bn128Field> = serde_cbor::from_reader(r).unwrap();
Ok(ProgEnum::Bn128Program(ProgIterator {
statements: p.statements.into_iter(),
@ -155,8 +154,7 @@ impl
}))
}
m if m == Bls12_377Field::id() => {
let p: crate::ir::Prog<Bls12_377Field> =
serde_cbor::from_reader(r).unwrap();
let p: Prog<Bls12_377Field> = serde_cbor::from_reader(r).unwrap();
Ok(ProgEnum::Bls12_377Program(ProgIterator {
statements: p.statements.into_iter(),
@ -165,7 +163,7 @@ impl
}))
}
m if m == Bw6_761Field::id() => {
let p: crate::ir::Prog<Bw6_761Field> = serde_cbor::from_reader(r).unwrap();
let p: Prog<Bw6_761Field> = serde_cbor::from_reader(r).unwrap();
Ok(ProgEnum::Bw6_761Program(ProgIterator {
statements: p.statements.into_iter(),

View file

@ -154,8 +154,7 @@ fn compile_and_run<T: Field>(t: Tests) {
let artifacts =
compile::<T, _>(code, entry_point.clone(), Some(&resolver), config, &arena).unwrap();
let abi = artifacts.abi;
let bin = artifacts.prog;
let (bin, abi) = artifacts.into_inner();
// here we do want the program in memory because we want to run many tests on it
let bin = bin.collect();