BanjoAst { | |
primary_namespace: "banjo.examples.simple", | |
namespaces: { | |
"banjo.examples.simple": [ | |
Struct { | |
attributes: Attrs( | |
[] | |
), | |
name: "Point", | |
fields: [ | |
StructField { | |
attributes: Attrs( | |
[] | |
), | |
ty: Int32, | |
ident: Ident { | |
namespace: None, | |
name: "x" | |
}, | |
val: None | |
}, | |
StructField { | |
attributes: Attrs( | |
[] | |
), | |
ty: Int32, | |
ident: Ident { | |
namespace: None, | |
name: "y" | |
}, | |
val: None | |
} | |
] | |
}, | |
Enum { | |
attributes: Attrs( | |
[] | |
), | |
name: "Direction", | |
ty: UInt32, | |
variants: [ | |
EnumVariant { | |
attributes: Attrs( | |
[] | |
), | |
name: "Up", | |
size: Constant( | |
"0" | |
) | |
}, | |
EnumVariant { | |
attributes: Attrs( | |
[] | |
), | |
name: "Down", | |
size: Constant( | |
"1" | |
) | |
}, | |
EnumVariant { | |
attributes: Attrs( | |
[] | |
), | |
name: "Left", | |
size: Constant( | |
"2" | |
) | |
}, | |
EnumVariant { | |
attributes: Attrs( | |
[] | |
), | |
name: "Right", | |
size: Constant( | |
"3" | |
) | |
} | |
] | |
}, | |
Interface { | |
attributes: Attrs( | |
[ | |
Attr { | |
key: "Layout", | |
val: Some( | |
"Simple" | |
) | |
} | |
] | |
), | |
name: "Drawing", | |
methods: [ | |
Method { | |
attributes: Attrs( | |
[] | |
), | |
name: "Draw", | |
in_params: [ | |
( | |
"p", | |
Identifier { | |
id: Ident { | |
namespace: None, | |
name: "Point" | |
}, | |
reference: false | |
} | |
), | |
( | |
"d", | |
Identifier { | |
id: Ident { | |
namespace: None, | |
name: "Direction" | |
}, | |
reference: false | |
} | |
) | |
], | |
out_params: [] | |
}, | |
Method { | |
attributes: Attrs( | |
[] | |
), | |
name: "DrawLots", | |
in_params: [ | |
( | |
"commands", | |
Handle { | |
ty: Vmo, | |
reference: false | |
} | |
) | |
], | |
out_params: [ | |
( | |
"result", | |
Int32 | |
), | |
( | |
"p", | |
Identifier { | |
id: Ident { | |
namespace: None, | |
name: "Point" | |
}, | |
reference: false | |
} | |
) | |
] | |
}, | |
Method { | |
attributes: Attrs( | |
[] | |
), | |
name: "DrawArray", | |
in_params: [ | |
( | |
"points", | |
Array { | |
ty: Identifier { | |
id: Ident { | |
namespace: None, | |
name: "Point" | |
}, | |
reference: false | |
}, | |
size: Constant( | |
"4" | |
) | |
} | |
) | |
], | |
out_params: [ | |
( | |
"rv", | |
Identifier { | |
id: Ident { | |
namespace: Some( | |
"zx" | |
), | |
name: "status" | |
}, | |
reference: false | |
} | |
) | |
] | |
}, | |
Method { | |
attributes: Attrs( | |
[] | |
), | |
name: "Describe", | |
in_params: [ | |
( | |
"one", | |
Str { | |
size: Some( | |
Constant( | |
"64" | |
) | |
), | |
nullable: false | |
} | |
) | |
], | |
out_params: [ | |
( | |
"two", | |
Str { | |
size: Some( | |
Constant( | |
"128" | |
) | |
), | |
nullable: false | |
} | |
) | |
] | |
} | |
] | |
} | |
], | |
"zx": [ | |
Alias( | |
Ident { | |
namespace: None, | |
name: "status" | |
}, | |
Ident { | |
namespace: None, | |
name: "int32" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "time" | |
}, | |
Ident { | |
namespace: None, | |
name: "int64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "duration" | |
}, | |
Ident { | |
namespace: None, | |
name: "int64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "koid" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "vaddr" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "paddr" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "paddr32" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint32" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "gpaddr" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint64" | |
} | |
), | |
Alias( | |
Ident { | |
namespace: None, | |
name: "off" | |
}, | |
Ident { | |
namespace: None, | |
name: "uint64" | |
} | |
) | |
] | |
} | |
} |