diff --git a/src/jsifier.mjs b/src/jsifier.mjs index 92ad005490559..c5856a40bc5d8 100644 --- a/src/jsifier.mjs +++ b/src/jsifier.mjs @@ -784,6 +784,7 @@ function(${args}) { function addImplicitDeps(snippet) { for (const dep of calcImplicitDeps(snippet)) { if (dep === symbol) continue; + if (symbolsOnly && LibraryManager.library[dep + '__const']) continue; if (explicitDeps.has(dep)) { if (!symbolsOnly && (STRICT || !isUserSymbol) && LibraryManager.library[symbol] !== dep) { warn(`${symbol}: redundant __deps entry: ${dep}`); diff --git a/src/utility.mjs b/src/utility.mjs index c8ee6f5d4397d..f2ffa07459611 100644 --- a/src/utility.mjs +++ b/src/utility.mjs @@ -227,8 +227,11 @@ export const decoratorSuffixes = [ '__const', ]; +const decoratorSuffixSet = new Set(decoratorSuffixes); + export function isDecorator(ident) { - return decoratorSuffixes.some((suffix) => ident.endsWith(suffix)); + const index = ident.lastIndexOf('__'); + return index > 0 && decoratorSuffixSet.has(ident.slice(index)); } export function defineConsts(consts) {