Skip to content

Commit

Permalink
fix(interface-types) get-field #1 argument is of type InterfaceType.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hywan committed Sep 18, 2019
1 parent 086c3bd commit a017b92
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
5 changes: 2 additions & 3 deletions src/ast.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
use std::str;

#[derive(PartialEq, Debug)]
#[derive(PartialEq, Clone, Copy, Debug)]
pub enum InterfaceType {
Int,
Float,
Any,
String,
Seq,

I32,
I64,
F32,
Expand Down Expand Up @@ -35,7 +34,7 @@ pub enum Instruction<'input> {
TableRefGet,
CallMethod(u64),
MakeRecord(InterfaceType),
GetField(u64, u64),
GetField(InterfaceType, u64),
Const(InterfaceType, u64),
FoldSeq(u64),
}
Expand Down
6 changes: 3 additions & 3 deletions src/decoders/binary.rs
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ fn instructions<'input, E: ParseError<&'input [u8]>>(
}

0x0c => {
consume!((input, argument_0) = leb(input)?);
consume!((input, argument_0) = ty(input)?);
consume!((input, argument_1) = leb(input)?);
(input, Instruction::GetField(argument_0, argument_1))
}
Expand Down Expand Up @@ -479,7 +479,7 @@ mod tests {
0x08, // TableRefGet
0x09, 0x01, // CallMethod(1)
0x0a, 0x7f, // MakeRecord(I32)
0x0c, 0x01, 0x02, // GetField(1, 2)
0x0c, 0xff, 0xff, 0x01, 0x02, // GetField(Int, 2)
0x0d, 0x7f, 0x01, // Const(I32, 1)
0x0e, 0x01, // FoldSeq(1)
0x0a,
Expand All @@ -498,7 +498,7 @@ mod tests {
Instruction::TableRefGet,
Instruction::CallMethod(1),
Instruction::MakeRecord(InterfaceType::I32),
Instruction::GetField(1, 2),
Instruction::GetField(InterfaceType::Int, 2),
Instruction::Const(InterfaceType::I32, 1),
Instruction::FoldSeq(1),
],
Expand Down
1 change: 1 addition & 0 deletions src/decoders/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub mod binary;

0 comments on commit a017b92

Please sign in to comment.