reflect 0.0.1

The "but I thought Rust doesn't have reflection?" memorial brand new way of defining procedural macros.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use Data;
use Ident;
use InvokeRef;
use Type;
use ValueRef;

#[derive(Debug, Clone)]
pub(crate) enum ValueNode {
    Unit,
    Str(String),
    Reference(ValueRef),
    ReferenceMut(ValueRef),
    Dereference(ValueRef),
    Binding { name: Ident, ty: Type },
    DataStructure { name: String, data: Data<ValueRef> },
    Invoke(InvokeRef),
    Destructure { parent: ValueRef, field: Ident },
}