* Updates variable using the provided name. * @param {string} name variable name * @param {ExportedVariableInfo} variableInfo new info for this variable * @returns {void}
(name, variableInfo)
| 5544 | * @returns {void} |
| 5545 | */ |
| 5546 | setVariable(name, variableInfo) { |
| 5547 | if (typeof variableInfo === "string") { |
| 5548 | if (variableInfo === name) { |
| 5549 | this.scope.definitions.delete(name); |
| 5550 | } else { |
| 5551 | this.scope.definitions.set( |
| 5552 | name, |
| 5553 | new VariableInfo( |
| 5554 | this.scope, |
| 5555 | variableInfo, |
| 5556 | VariableInfoFlags.Free, |
| 5557 | undefined |
| 5558 | ) |
| 5559 | ); |
| 5560 | } |
| 5561 | } else { |
| 5562 | this.scope.definitions.set(name, variableInfo); |
| 5563 | } |
| 5564 | } |
| 5565 | |
| 5566 | /** |
| 5567 | * Evaluated variable. |
no test coverage detected