MCPcopy
hub / github.com/webpack/webpack / evaluateExpression

Method evaluateExpression

lib/javascript/JavascriptParser.js:4839–4857  ·  view source on GitHub ↗

* Evaluate expression. * @param {Expression | SpreadElement | PrivateIdentifier | Super} expression expression node * @returns {BasicEvaluatedExpression} evaluation result

(expression)

Source from the content-addressed store, hash-verified

4837 * @returns {BasicEvaluatedExpression} evaluation result
4838 */
4839 evaluateExpression(expression) {
4840 try {
4841 const hook = this.hooks.evaluate.get(expression.type);
4842 if (hook !== undefined) {
4843 const result = hook.call(expression);
4844 if (result !== undefined && result !== null) {
4845 result.setExpression(expression);
4846 return result;
4847 }
4848 }
4849 } catch (err) {
4850 // eslint-disable-next-line no-console
4851 console.warn(err);
4852 // ignore error
4853 }
4854 return new BasicEvaluatedExpression()
4855 .setRange(/** @type {Range} */ (expression.range))
4856 .setExpression(expression);
4857 }
4858
4859 /**
4860 * Returns parsed string.

Callers 15

_initializeEvaluatingMethod · 0.95
handleConstOperationMethod · 0.95
getRenameIdentifierMethod · 0.95
_preWalkObjectPatternMethod · 0.95
walkCallExpressionMethod · 0.95
evaluateMethod · 0.95
isPureMethod · 0.95
evaluateInParserFunction · 0.95
createAcceptHandlerMethod · 0.80

Calls 5

setExpressionMethod · 0.80
warnMethod · 0.80
setRangeMethod · 0.80
getMethod · 0.45
callMethod · 0.45

Tested by

no test coverage detected