From 2013a380c66d1b0233ccc5707fcc3c27dfd508e9 Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Sat, 9 Sep 2023 16:45:52 +0200 Subject: [PATCH] WIP --- src/transformers/index.js | 4 ++-- src/transformers/util/nix-types.js | 4 ++-- testers/transform.js | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/transformers/index.js b/src/transformers/index.js index 423d7d4..fb21ca3 100644 --- a/src/transformers/index.js +++ b/src/transformers/index.js @@ -76,9 +76,9 @@ let trivial = { return types.binaryExpression(node.operator, node.left, node.right); }); }, - NixWithExpression: (node, { defer, setContext, getContext }) => { + NixWithExpression: (node, { defer, setContext, getContextOptional }) => { // TODO: Can we optimize for the fast case (no nested `with`) by referencing the source attrset directly? - let parentContext = getContext("implicitContext"); + let parentContext = getContextOptional("implicitContext"); let hasParent = (parentContext != null); let contextName = `$implicit${implicitContextCounter++}`; diff --git a/src/transformers/util/nix-types.js b/src/transformers/util/nix-types.js index 32375d1..a7fc32b 100644 --- a/src/transformers/util/nix-types.js +++ b/src/transformers/util/nix-types.js @@ -16,7 +16,7 @@ let types = module.exports = { NixAttributeSet: function (bindings, recursive = false) { return { type: "NixAttributeSet", - bind: bindings, + binding: bindings, recursive: recursive }; }, @@ -60,7 +60,7 @@ let types = module.exports = { NixLetIn: function (bindings, body) { return { type: "NixLetIn", - bind: bindings, + binding: bindings, body: body }; }, diff --git a/testers/transform.js b/testers/transform.js index 66d6495..cc934d3 100644 --- a/testers/transform.js +++ b/testers/transform.js @@ -11,9 +11,9 @@ const printAST = require("../src/print-ast"); assert(process.argv[2] != null); let tree = parse(fs.readFileSync(process.argv[2], "utf8")); -for (let i = 0; i < 10000; i++) { - astformer(tree, transformers); -} +// for (let i = 0; i < 10000; i++) { +// astformer(tree, transformers); +// } let transformed = astformer(tree, transformers); printAST(transformed.ast);