types/serializer: add HasAttrNode binary encoding for ? operator
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ibfb89151eb80ab1ae1d8878b6849d2c96a6a6964
This commit is contained in:
parent
3441853eef
commit
f4135a5dca
2 changed files with 12 additions and 4 deletions
|
|
@ -14,7 +14,7 @@
|
|||
namespace nix_irc {
|
||||
|
||||
constexpr uint32_t IR_MAGIC = 0x4E495258;
|
||||
constexpr uint32_t IR_VERSION = 1;
|
||||
constexpr uint32_t IR_VERSION = 2;
|
||||
|
||||
enum class NodeType : uint8_t {
|
||||
CONST_INT = 0x01,
|
||||
|
|
@ -29,8 +29,8 @@ enum class NodeType : uint8_t {
|
|||
UNARY_OP = 0x23,
|
||||
ATTRSET = 0x30,
|
||||
SELECT = 0x31,
|
||||
HAS_ATTR = 0x32,
|
||||
WITH = 0x33,
|
||||
HAS_ATTR = 0x34,
|
||||
WITH = 0x32,
|
||||
IF = 0x40,
|
||||
LET = 0x50,
|
||||
LETREC = 0x51,
|
||||
|
|
@ -94,6 +94,7 @@ struct LambdaNode {
|
|||
uint32_t arity = 1;
|
||||
std::shared_ptr<Node> body;
|
||||
std::optional<std::string> param_name;
|
||||
bool strict_pattern = true;
|
||||
uint32_t line = 0;
|
||||
LambdaNode(uint32_t a, std::shared_ptr<Node> b, uint32_t l = 0);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue