diff --git a/napi/parser/generated/lazy/constructors.js b/napi/parser/generated/lazy/constructors.js index f9e1a923b12c6..511503fb10c7f 100644 --- a/napi/parser/generated/lazy/constructors.js +++ b/napi/parser/generated/lazy/constructors.js @@ -8,13 +8,7 @@ const { TOKEN, constructorError } = require('../../raw-transfer/lazy-common.js') const constructors = {}; -module.exports = { construct, constructors }; - -function construct(ast) { - // (2 * 1024 * 1024 * 1024 - 16) >> 2 - const metadataPos32 = 536870908; - return new RawTransferData(ast.buffer.uint32[metadataPos32], ast); -} +module.exports = constructors; const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }), decodeStr = textDecoder.decode.bind(textDecoder), diff --git a/napi/parser/generated/lazy/walk.js b/napi/parser/generated/lazy/walk.js index 023d903d03f54..79d287d1815f4 100644 --- a/napi/parser/generated/lazy/walk.js +++ b/napi/parser/generated/lazy/walk.js @@ -182,7 +182,7 @@ const { JSDocNullableType, JSDocNonNullableType, JSDocUnknownType, -} = require('./constructors.js').constructors; +} = require('./constructors.js'); module.exports = walkProgram; diff --git a/napi/parser/raw-transfer/lazy.js b/napi/parser/raw-transfer/lazy.js index 0e3525ae745f6..a16aee4a509c4 100644 --- a/napi/parser/raw-transfer/lazy.js +++ b/napi/parser/raw-transfer/lazy.js @@ -2,7 +2,7 @@ const { parseSyncRawImpl, parseAsyncRawImpl, returnBufferToCache } = require('./common.js'), { TOKEN } = require('./lazy-common.js'), - constructLazyData = require('../generated/lazy/constructors.js').construct, + { RawTransferData } = require('../generated/lazy/constructors.js'), walkProgram = require('../generated/lazy/walk.js'), { Visitor, getVisitorsArr } = require('./visitor.js'); @@ -104,7 +104,10 @@ function construct(buffer, sourceText, sourceLen) { bufferRecycleRegistry.register(ast, buffer, ast); // Get root data class instance - const data = constructLazyData(ast); + // (2 * 1024 * 1024 * 1024 - 16) >> 2 + const metadataPos32 = 536870908; + const rawDataPos = buffer.uint32[metadataPos32]; + const data = new RawTransferData(rawDataPos, ast); return { get program() { @@ -121,10 +124,7 @@ function construct(buffer, sourceText, sourceLen) { }, dispose: dispose.bind(null, ast), visit(visitor) { - // (2 * 1024 * 1024 * 1024 - 16) >> 2 - const metadataPos32 = 536870908; - const pos = buffer.uint32[metadataPos32]; - walkProgram(pos, ast, getVisitorsArr(visitor)); + walkProgram(rawDataPos, ast, getVisitorsArr(visitor)); }, }; } diff --git a/tasks/ast_tools/src/generators/raw_transfer_lazy.rs b/tasks/ast_tools/src/generators/raw_transfer_lazy.rs index 207908df1f09d..b95f3ad81bcae 100644 --- a/tasks/ast_tools/src/generators/raw_transfer_lazy.rs +++ b/tasks/ast_tools/src/generators/raw_transfer_lazy.rs @@ -62,13 +62,7 @@ static CONSTRUCT_PRELUDE: &str = " const constructors = {}; - module.exports = { construct, constructors }; - - function construct(ast) { - // (2 * 1024 * 1024 * 1024 - 16) >> 2 - const metadataPos32 = 536870908; - return new RawTransferData(ast.buffer.uint32[metadataPos32], ast); - } + module.exports = constructors; const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }), decodeStr = textDecoder.decode.bind(textDecoder), @@ -182,7 +176,7 @@ fn generate( const {{ {constructor_names} - }} = require('./constructors.js').constructors; + }} = require('./constructors.js'); module.exports = walkProgram;