diff options
Diffstat (limited to 'node_modules/@babel/traverse/lib/scope/binding.js')
| -rw-r--r-- | node_modules/@babel/traverse/lib/scope/binding.js | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/node_modules/@babel/traverse/lib/scope/binding.js b/node_modules/@babel/traverse/lib/scope/binding.js deleted file mode 100644 index 90a6d9b8..00000000 --- a/node_modules/@babel/traverse/lib/scope/binding.js +++ /dev/null @@ -1,83 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -class Binding { - constructor({ - identifier, - scope, - path, - kind - }) { - this.identifier = void 0; - this.scope = void 0; - this.path = void 0; - this.kind = void 0; - this.constantViolations = []; - this.constant = true; - this.referencePaths = []; - this.referenced = false; - this.references = 0; - this.identifier = identifier; - this.scope = scope; - this.path = path; - this.kind = kind; - if ((kind === "var" || kind === "hoisted") && isDeclaredInLoop(path)) { - this.reassign(path); - } - this.clearValue(); - } - deoptValue() { - this.clearValue(); - this.hasDeoptedValue = true; - } - setValue(value) { - if (this.hasDeoptedValue) return; - this.hasValue = true; - this.value = value; - } - clearValue() { - this.hasDeoptedValue = false; - this.hasValue = false; - this.value = null; - } - reassign(path) { - this.constant = false; - if (this.constantViolations.includes(path)) { - return; - } - this.constantViolations.push(path); - } - reference(path) { - if (this.referencePaths.includes(path)) { - return; - } - this.referenced = true; - this.references++; - this.referencePaths.push(path); - } - dereference() { - this.references--; - this.referenced = !!this.references; - } -} -exports.default = Binding; -function isDeclaredInLoop(path) { - for (let { - parentPath, - key - } = path; parentPath; ({ - parentPath, - key - } = parentPath)) { - if (parentPath.isFunctionParent()) return false; - if (parentPath.isWhile() || parentPath.isForXStatement() || parentPath.isForStatement() && key === "body") { - return true; - } - } - return false; -} - -//# sourceMappingURL=binding.js.map |
