Currently, inspect assumes all e-expressions will have a one-byte header:
|
fn inspect_eexp(&mut self, depth: usize, eexp: EExpression<AnyEncoding>) -> Result<()> { |
|
let mut formatter = BytesFormatter::new( |
|
BYTES_PER_ROW, |
|
vec![ |
|
// TODO: Add methods to EExpression that allow nuanced access to its encoded spans |
|
// TODO: Length-prefixed and multibyte e-expression addresses |
|
IonBytes::new(BytesKind::MacroId, &eexp.span().bytes()[0..1]), |
|
], |
|
); |
However, is only the case for invocations of user macros with an ID lower than 64.
Invocations of system macros are two bytes (0xEE 0x__), and invocations of macros with IDs >= 64 are at least two bytes.
Currently,
inspectassumes all e-expressions will have a one-byte header:ion-cli/src/bin/ion/commands/inspect.rs
Lines 458 to 466 in 03a3fc8
However, is only the case for invocations of user macros with an ID lower than 64.
Invocations of system macros are two bytes (
0xEE 0x__), and invocations of macros with IDs>= 64are at least two bytes.