@typescript-eslint/scope-manager 8.0.0-alpha.5 → 8.0.0-alpha.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ID.js +2 -3
- package/dist/ID.js.map +1 -1
- package/dist/ScopeManager.js +17 -18
- package/dist/ScopeManager.js.map +1 -1
- package/dist/analyze.js +1 -2
- package/dist/analyze.js.map +1 -1
- package/dist/assert.js +1 -2
- package/dist/assert.js.map +1 -1
- package/dist/definition/CatchClauseDefinition.js +2 -2
- package/dist/definition/CatchClauseDefinition.js.map +1 -1
- package/dist/definition/ClassNameDefinition.js +2 -2
- package/dist/definition/ClassNameDefinition.js.map +1 -1
- package/dist/definition/DefinitionBase.js +20 -4
- package/dist/definition/DefinitionBase.js.map +1 -1
- package/dist/definition/FunctionNameDefinition.js +2 -2
- package/dist/definition/FunctionNameDefinition.js.map +1 -1
- package/dist/definition/ImplicitGlobalVariableDefinition.js +2 -2
- package/dist/definition/ImplicitGlobalVariableDefinition.js.map +1 -1
- package/dist/definition/ImportBindingDefinition.js +2 -2
- package/dist/definition/ImportBindingDefinition.js.map +1 -1
- package/dist/definition/ParameterDefinition.js +6 -2
- package/dist/definition/ParameterDefinition.js.map +1 -1
- package/dist/definition/TSEnumMemberDefinition.js +2 -2
- package/dist/definition/TSEnumMemberDefinition.js.map +1 -1
- package/dist/definition/TSEnumNameDefinition.js +2 -2
- package/dist/definition/TSEnumNameDefinition.js.map +1 -1
- package/dist/definition/TSModuleNameDefinition.js +2 -2
- package/dist/definition/TSModuleNameDefinition.js.map +1 -1
- package/dist/definition/TypeDefinition.js +2 -2
- package/dist/definition/TypeDefinition.js.map +1 -1
- package/dist/definition/VariableDefinition.js +2 -2
- package/dist/definition/VariableDefinition.js.map +1 -1
- package/dist/lib/decorators.d.ts.map +1 -1
- package/dist/lib/decorators.legacy.d.ts.map +1 -1
- package/dist/lib/dom.asynciterable.d.ts.map +1 -1
- package/dist/lib/dom.asynciterable.js +1 -0
- package/dist/lib/dom.asynciterable.js.map +1 -1
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/dom.iterable.d.ts.map +1 -1
- package/dist/lib/dom.iterable.js +2 -0
- package/dist/lib/dom.iterable.js.map +1 -1
- package/dist/lib/dom.js +7 -1
- package/dist/lib/dom.js.map +1 -1
- package/dist/lib/es2015.collection.d.ts.map +1 -1
- package/dist/lib/es2015.core.d.ts.map +1 -1
- package/dist/lib/es2015.core.js +9 -0
- package/dist/lib/es2015.core.js.map +1 -1
- package/dist/lib/es2015.d.ts.map +1 -1
- package/dist/lib/es2015.generator.d.ts.map +1 -1
- package/dist/lib/es2015.iterable.d.ts.map +1 -1
- package/dist/lib/es2015.promise.d.ts.map +1 -1
- package/dist/lib/es2015.proxy.d.ts.map +1 -1
- package/dist/lib/es2015.reflect.d.ts.map +1 -1
- package/dist/lib/es2015.symbol.d.ts.map +1 -1
- package/dist/lib/es2015.symbol.wellknown.d.ts.map +1 -1
- package/dist/lib/es2016.array.include.d.ts.map +1 -1
- package/dist/lib/es2016.d.ts.map +1 -1
- package/dist/lib/es2016.full.d.ts.map +1 -1
- package/dist/lib/es2016.intl.d.ts.map +1 -1
- package/dist/lib/es2017.d.ts.map +1 -1
- package/dist/lib/es2017.date.d.ts.map +1 -1
- package/dist/lib/es2017.full.d.ts.map +1 -1
- package/dist/lib/es2017.intl.d.ts.map +1 -1
- package/dist/lib/es2017.object.d.ts.map +1 -1
- package/dist/lib/es2017.sharedmemory.d.ts.map +1 -1
- package/dist/lib/es2017.string.d.ts.map +1 -1
- package/dist/lib/es2017.typedarrays.d.ts.map +1 -1
- package/dist/lib/es2018.asyncgenerator.d.ts.map +1 -1
- package/dist/lib/es2018.asynciterable.d.ts.map +1 -1
- package/dist/lib/es2018.d.ts.map +1 -1
- package/dist/lib/es2018.full.d.ts.map +1 -1
- package/dist/lib/es2018.intl.d.ts.map +1 -1
- package/dist/lib/es2018.promise.d.ts.map +1 -1
- package/dist/lib/es2018.regexp.d.ts.map +1 -1
- package/dist/lib/es2019.array.d.ts.map +1 -1
- package/dist/lib/es2019.d.ts.map +1 -1
- package/dist/lib/es2019.full.d.ts.map +1 -1
- package/dist/lib/es2019.intl.d.ts.map +1 -1
- package/dist/lib/es2019.object.d.ts.map +1 -1
- package/dist/lib/es2019.string.d.ts.map +1 -1
- package/dist/lib/es2019.symbol.d.ts.map +1 -1
- package/dist/lib/es2020.bigint.d.ts.map +1 -1
- package/dist/lib/es2020.d.ts.map +1 -1
- package/dist/lib/es2020.date.d.ts.map +1 -1
- package/dist/lib/es2020.full.d.ts.map +1 -1
- package/dist/lib/es2020.intl.d.ts.map +1 -1
- package/dist/lib/es2020.number.d.ts.map +1 -1
- package/dist/lib/es2020.promise.d.ts.map +1 -1
- package/dist/lib/es2020.sharedmemory.d.ts.map +1 -1
- package/dist/lib/es2020.string.d.ts.map +1 -1
- package/dist/lib/es2020.symbol.wellknown.d.ts.map +1 -1
- package/dist/lib/es2021.d.ts.map +1 -1
- package/dist/lib/es2021.full.d.ts.map +1 -1
- package/dist/lib/es2021.intl.d.ts.map +1 -1
- package/dist/lib/es2021.promise.d.ts.map +1 -1
- package/dist/lib/es2021.string.d.ts.map +1 -1
- package/dist/lib/es2021.weakref.d.ts.map +1 -1
- package/dist/lib/es2022.array.d.ts.map +1 -1
- package/dist/lib/es2022.d.ts.map +1 -1
- package/dist/lib/es2022.error.d.ts.map +1 -1
- package/dist/lib/es2022.full.d.ts.map +1 -1
- package/dist/lib/es2022.intl.d.ts.map +1 -1
- package/dist/lib/es2022.object.d.ts.map +1 -1
- package/dist/lib/es2022.regexp.d.ts.map +1 -1
- package/dist/lib/es2022.sharedmemory.d.ts.map +1 -1
- package/dist/lib/es2022.string.d.ts.map +1 -1
- package/dist/lib/es2023.array.d.ts.map +1 -1
- package/dist/lib/es2023.collection.d.ts.map +1 -1
- package/dist/lib/es2023.d.ts.map +1 -1
- package/dist/lib/es2023.full.d.ts.map +1 -1
- package/dist/lib/es2023.intl.d.ts +3 -0
- package/dist/lib/es2023.intl.d.ts.map +1 -0
- package/dist/lib/es2023.intl.js +12 -0
- package/dist/lib/es2023.intl.js.map +1 -0
- package/dist/lib/es2023.js +2 -0
- package/dist/lib/es2023.js.map +1 -1
- package/dist/lib/es5.d.ts.map +1 -1
- package/dist/lib/es6.d.ts.map +1 -1
- package/dist/lib/es7.d.ts.map +1 -1
- package/dist/lib/esnext.array.d.ts.map +1 -1
- package/dist/lib/esnext.array.js +1 -13
- package/dist/lib/esnext.array.js.map +1 -1
- package/dist/lib/esnext.asynciterable.d.ts.map +1 -1
- package/dist/lib/esnext.bigint.d.ts.map +1 -1
- package/dist/lib/esnext.collection.d.ts.map +1 -1
- package/dist/lib/esnext.collection.js +3 -0
- package/dist/lib/esnext.collection.js.map +1 -1
- package/dist/lib/esnext.d.ts.map +1 -1
- package/dist/lib/esnext.decorators.d.ts.map +1 -1
- package/dist/lib/esnext.disposable.d.ts.map +1 -1
- package/dist/lib/esnext.full.d.ts.map +1 -1
- package/dist/lib/esnext.intl.d.ts.map +1 -1
- package/dist/lib/esnext.js +6 -0
- package/dist/lib/esnext.js.map +1 -1
- package/dist/lib/esnext.object.d.ts.map +1 -1
- package/dist/lib/esnext.promise.d.ts.map +1 -1
- package/dist/lib/esnext.regexp.d.ts +3 -0
- package/dist/lib/esnext.regexp.d.ts.map +1 -0
- package/dist/lib/esnext.regexp.js +12 -0
- package/dist/lib/esnext.regexp.js.map +1 -0
- package/dist/lib/esnext.string.d.ts.map +1 -1
- package/dist/lib/esnext.symbol.d.ts.map +1 -1
- package/dist/lib/esnext.weakref.d.ts.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +4 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/lib.d.ts.map +1 -1
- package/dist/lib/scripthost.d.ts.map +1 -1
- package/dist/lib/webworker.asynciterable.d.ts.map +1 -1
- package/dist/lib/webworker.asynciterable.js +1 -0
- package/dist/lib/webworker.asynciterable.js.map +1 -1
- package/dist/lib/webworker.d.ts.map +1 -1
- package/dist/lib/webworker.importscripts.d.ts.map +1 -1
- package/dist/lib/webworker.iterable.d.ts.map +1 -1
- package/dist/lib/webworker.iterable.js +1 -0
- package/dist/lib/webworker.iterable.js.map +1 -1
- package/dist/lib/webworker.js +1 -0
- package/dist/lib/webworker.js.map +1 -1
- package/dist/referencer/ClassVisitor.d.ts +1 -0
- package/dist/referencer/ClassVisitor.d.ts.map +1 -1
- package/dist/referencer/ClassVisitor.js +34 -44
- package/dist/referencer/ClassVisitor.js.map +1 -1
- package/dist/referencer/ExportVisitor.js +8 -21
- package/dist/referencer/ExportVisitor.js.map +1 -1
- package/dist/referencer/ImportVisitor.js +6 -19
- package/dist/referencer/ImportVisitor.js.map +1 -1
- package/dist/referencer/PatternVisitor.js +17 -30
- package/dist/referencer/PatternVisitor.js.map +1 -1
- package/dist/referencer/Reference.js +47 -34
- package/dist/referencer/Reference.js.map +1 -1
- package/dist/referencer/Referencer.d.ts.map +1 -1
- package/dist/referencer/Referencer.js +18 -35
- package/dist/referencer/Referencer.js.map +1 -1
- package/dist/referencer/TypeVisitor.js +22 -35
- package/dist/referencer/TypeVisitor.js.map +1 -1
- package/dist/referencer/Visitor.js +7 -19
- package/dist/referencer/Visitor.js.map +1 -1
- package/dist/referencer/VisitorBase.js +7 -19
- package/dist/referencer/VisitorBase.js.map +1 -1
- package/dist/scope/FunctionExpressionNameScope.js +1 -0
- package/dist/scope/FunctionExpressionNameScope.js.map +1 -1
- package/dist/scope/GlobalScope.js +2 -0
- package/dist/scope/GlobalScope.js.map +1 -1
- package/dist/scope/ScopeBase.js +132 -122
- package/dist/scope/ScopeBase.js.map +1 -1
- package/dist/variable/ESLintScopeVariable.js +24 -0
- package/dist/variable/ESLintScopeVariable.js.map +1 -1
- package/dist/variable/ImplicitLibVariable.js +8 -0
- package/dist/variable/ImplicitLibVariable.js.map +1 -1
- package/dist/variable/VariableBase.js +35 -26
- package/dist/variable/VariableBase.js.map +1 -1
- package/dist/variable/index.d.ts +3 -0
- package/dist/variable/index.d.ts.map +1 -1
- package/dist/variable/index.js.map +1 -1
- package/package.json +5 -4
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _ClassVisitor_classNode, _ClassVisitor_referencer;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.ClassVisitor = void 0;
|
|
16
4
|
const types_1 = require("@typescript-eslint/types");
|
|
@@ -18,12 +6,12 @@ const definition_1 = require("../definition");
|
|
|
18
6
|
const TypeVisitor_1 = require("./TypeVisitor");
|
|
19
7
|
const Visitor_1 = require("./Visitor");
|
|
20
8
|
class ClassVisitor extends Visitor_1.Visitor {
|
|
9
|
+
#classNode;
|
|
10
|
+
#referencer;
|
|
21
11
|
constructor(referencer, node) {
|
|
22
12
|
super(referencer);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
__classPrivateFieldSet(this, _ClassVisitor_referencer, referencer, "f");
|
|
26
|
-
__classPrivateFieldSet(this, _ClassVisitor_classNode, node, "f");
|
|
13
|
+
this.#referencer = referencer;
|
|
14
|
+
this.#classNode = node;
|
|
27
15
|
}
|
|
28
16
|
static visit(referencer, node) {
|
|
29
17
|
const classVisitor = new ClassVisitor(referencer, node);
|
|
@@ -35,7 +23,7 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
35
23
|
super.visit(node);
|
|
36
24
|
}
|
|
37
25
|
else {
|
|
38
|
-
|
|
26
|
+
this.#referencer.visit(node);
|
|
39
27
|
}
|
|
40
28
|
}
|
|
41
29
|
///////////////////
|
|
@@ -43,27 +31,27 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
43
31
|
///////////////////
|
|
44
32
|
visitClass(node) {
|
|
45
33
|
if (node.type === types_1.AST_NODE_TYPES.ClassDeclaration && node.id) {
|
|
46
|
-
|
|
34
|
+
this.#referencer
|
|
47
35
|
.currentScope()
|
|
48
36
|
.defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));
|
|
49
37
|
}
|
|
50
|
-
node.decorators.forEach(d =>
|
|
51
|
-
|
|
38
|
+
node.decorators.forEach(d => this.#referencer.visit(d));
|
|
39
|
+
this.#referencer.scopeManager.nestClassScope(node);
|
|
52
40
|
if (node.id) {
|
|
53
41
|
// define the class name again inside the new scope
|
|
54
42
|
// references to the class should not resolve directly to the parent class
|
|
55
|
-
|
|
43
|
+
this.#referencer
|
|
56
44
|
.currentScope()
|
|
57
45
|
.defineIdentifier(node.id, new definition_1.ClassNameDefinition(node.id, node));
|
|
58
46
|
}
|
|
59
|
-
|
|
47
|
+
this.#referencer.visit(node.superClass);
|
|
60
48
|
// visit the type param declarations
|
|
61
49
|
this.visitType(node.typeParameters);
|
|
62
50
|
// then the usages
|
|
63
51
|
this.visitType(node.superTypeArguments);
|
|
64
52
|
node.implements.forEach(imp => this.visitType(imp));
|
|
65
53
|
this.visit(node.body);
|
|
66
|
-
|
|
54
|
+
this.#referencer.close(node);
|
|
67
55
|
}
|
|
68
56
|
visitPropertyDefinition(node) {
|
|
69
57
|
this.visitPropertyBase(node);
|
|
@@ -91,10 +79,10 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
91
79
|
if (node.id) {
|
|
92
80
|
// FunctionExpression with name creates its special scope;
|
|
93
81
|
// FunctionExpressionNameScope.
|
|
94
|
-
|
|
82
|
+
this.#referencer.scopeManager.nestFunctionExpressionNameScope(node);
|
|
95
83
|
}
|
|
96
84
|
// Consider this function is in the MethodDefinition.
|
|
97
|
-
|
|
85
|
+
this.#referencer.scopeManager.nestFunctionScope(node, true);
|
|
98
86
|
/**
|
|
99
87
|
* class A {
|
|
100
88
|
* @meta // <--- check this
|
|
@@ -131,7 +119,7 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
131
119
|
* }
|
|
132
120
|
*/
|
|
133
121
|
if (keyName != null &&
|
|
134
|
-
|
|
122
|
+
this.#classNode.body.body.find((node) => node !== methodNode &&
|
|
135
123
|
node.type === types_1.AST_NODE_TYPES.MethodDefinition &&
|
|
136
124
|
// Node must both be static or not
|
|
137
125
|
node.static === methodNode.static &&
|
|
@@ -147,59 +135,59 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
147
135
|
*/
|
|
148
136
|
if (!withMethodDecorators &&
|
|
149
137
|
methodNode.kind === 'constructor' &&
|
|
150
|
-
|
|
138
|
+
this.#classNode.decorators.length) {
|
|
151
139
|
withMethodDecorators = true;
|
|
152
140
|
}
|
|
153
141
|
// Process parameter declarations.
|
|
154
142
|
for (const param of node.params) {
|
|
155
143
|
this.visitPattern(param, (pattern, info) => {
|
|
156
|
-
|
|
144
|
+
this.#referencer
|
|
157
145
|
.currentScope()
|
|
158
146
|
.defineIdentifier(pattern, new definition_1.ParameterDefinition(pattern, node, info.rest));
|
|
159
|
-
|
|
147
|
+
this.#referencer.referencingDefaultValue(pattern, info.assignments, null, true);
|
|
160
148
|
}, { processRightHandNodes: true });
|
|
161
149
|
this.visitFunctionParameterTypeAnnotation(param);
|
|
162
150
|
param.decorators.forEach(d => this.visit(d));
|
|
163
151
|
}
|
|
164
152
|
this.visitType(node.returnType);
|
|
165
153
|
this.visitType(node.typeParameters);
|
|
166
|
-
|
|
167
|
-
|
|
154
|
+
this.#referencer.visitChildren(node.body);
|
|
155
|
+
this.#referencer.close(node);
|
|
168
156
|
}
|
|
169
157
|
visitPropertyBase(node) {
|
|
170
158
|
if (node.computed) {
|
|
171
|
-
|
|
159
|
+
this.#referencer.visit(node.key);
|
|
172
160
|
}
|
|
173
161
|
if (node.value) {
|
|
174
162
|
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
|
|
175
163
|
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
|
|
176
|
-
|
|
164
|
+
this.#referencer.scopeManager.nestClassFieldInitializerScope(node.value);
|
|
177
165
|
}
|
|
178
|
-
|
|
166
|
+
this.#referencer.visit(node.value);
|
|
179
167
|
if (node.type === types_1.AST_NODE_TYPES.PropertyDefinition ||
|
|
180
168
|
node.type === types_1.AST_NODE_TYPES.AccessorProperty) {
|
|
181
|
-
|
|
169
|
+
this.#referencer.close(node.value);
|
|
182
170
|
}
|
|
183
171
|
}
|
|
184
|
-
node.decorators.forEach(d =>
|
|
172
|
+
node.decorators.forEach(d => this.#referencer.visit(d));
|
|
185
173
|
}
|
|
186
174
|
visitMethod(node) {
|
|
187
175
|
if (node.computed) {
|
|
188
|
-
|
|
176
|
+
this.#referencer.visit(node.key);
|
|
189
177
|
}
|
|
190
178
|
if (node.value.type === types_1.AST_NODE_TYPES.FunctionExpression) {
|
|
191
179
|
this.visitMethodFunction(node.value, node);
|
|
192
180
|
}
|
|
193
181
|
else {
|
|
194
|
-
|
|
182
|
+
this.#referencer.visit(node.value);
|
|
195
183
|
}
|
|
196
|
-
node.decorators.forEach(d =>
|
|
184
|
+
node.decorators.forEach(d => this.#referencer.visit(d));
|
|
197
185
|
}
|
|
198
186
|
visitType(node) {
|
|
199
187
|
if (!node) {
|
|
200
188
|
return;
|
|
201
189
|
}
|
|
202
|
-
TypeVisitor_1.TypeVisitor.visit(
|
|
190
|
+
TypeVisitor_1.TypeVisitor.visit(this.#referencer, node);
|
|
203
191
|
}
|
|
204
192
|
/////////////////////
|
|
205
193
|
// Visit selectors //
|
|
@@ -228,19 +216,21 @@ class ClassVisitor extends Visitor_1.Visitor {
|
|
|
228
216
|
this.visitPropertyBase(node);
|
|
229
217
|
}
|
|
230
218
|
Identifier(node) {
|
|
231
|
-
|
|
219
|
+
this.#referencer.visit(node);
|
|
232
220
|
}
|
|
233
221
|
PrivateIdentifier() {
|
|
234
222
|
// intentionally skip
|
|
235
223
|
}
|
|
224
|
+
TSIndexSignature(node) {
|
|
225
|
+
this.visitType(node);
|
|
226
|
+
}
|
|
236
227
|
StaticBlock(node) {
|
|
237
|
-
|
|
228
|
+
this.#referencer.scopeManager.nestClassStaticBlockScope(node);
|
|
238
229
|
node.body.forEach(b => this.visit(b));
|
|
239
|
-
|
|
230
|
+
this.#referencer.close(node);
|
|
240
231
|
}
|
|
241
232
|
}
|
|
242
233
|
exports.ClassVisitor = ClassVisitor;
|
|
243
|
-
_ClassVisitor_classNode = new WeakMap(), _ClassVisitor_referencer = new WeakMap();
|
|
244
234
|
/**
|
|
245
235
|
* Only if key is one of [identifier, string, number], ts will combine metadata of accessors .
|
|
246
236
|
* class A {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassVisitor.js","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClassVisitor.js","sourceRoot":"","sources":["../../src/referencer/ClassVisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _ExportVisitor_referencer, _ExportVisitor_exportNode;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.ExportVisitor = void 0;
|
|
16
4
|
const types_1 = require("@typescript-eslint/types");
|
|
17
5
|
const Visitor_1 = require("./Visitor");
|
|
18
6
|
class ExportVisitor extends Visitor_1.Visitor {
|
|
7
|
+
#referencer;
|
|
8
|
+
#exportNode;
|
|
19
9
|
constructor(node, referencer) {
|
|
20
10
|
super(referencer);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
__classPrivateFieldSet(this, _ExportVisitor_exportNode, node, "f");
|
|
24
|
-
__classPrivateFieldSet(this, _ExportVisitor_referencer, referencer, "f");
|
|
11
|
+
this.#exportNode = node;
|
|
12
|
+
this.#referencer = referencer;
|
|
25
13
|
}
|
|
26
14
|
static visit(referencer, node) {
|
|
27
15
|
const exportReferencer = new ExportVisitor(node, referencer);
|
|
28
16
|
exportReferencer.visit(node);
|
|
29
17
|
}
|
|
30
18
|
Identifier(node) {
|
|
31
|
-
if (
|
|
19
|
+
if (this.#exportNode.exportKind === 'type') {
|
|
32
20
|
// export type { T };
|
|
33
21
|
// type exports can only reference types
|
|
34
|
-
|
|
22
|
+
this.#referencer.currentScope().referenceType(node);
|
|
35
23
|
}
|
|
36
24
|
else {
|
|
37
|
-
|
|
25
|
+
this.#referencer.currentScope().referenceDualValueType(node);
|
|
38
26
|
}
|
|
39
27
|
}
|
|
40
28
|
ExportDefaultDeclaration(node) {
|
|
@@ -72,7 +60,7 @@ class ExportVisitor extends Visitor_1.Visitor {
|
|
|
72
60
|
//
|
|
73
61
|
// we can't let this fall through to the Identifier selector because the exportKind is on this node
|
|
74
62
|
// and we don't have access to the `.parent` during scope analysis
|
|
75
|
-
|
|
63
|
+
this.#referencer.currentScope().referenceType(node.local);
|
|
76
64
|
}
|
|
77
65
|
else {
|
|
78
66
|
this.visit(node.local);
|
|
@@ -80,5 +68,4 @@ class ExportVisitor extends Visitor_1.Visitor {
|
|
|
80
68
|
}
|
|
81
69
|
}
|
|
82
70
|
exports.ExportVisitor = ExportVisitor;
|
|
83
|
-
_ExportVisitor_referencer = new WeakMap(), _ExportVisitor_exportNode = new WeakMap();
|
|
84
71
|
//# sourceMappingURL=ExportVisitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ExportVisitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ExportVisitor.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAG1D,uCAAoC;AAOpC,MAAM,aAAc,SAAQ,iBAAO;IACxB,WAAW,CAAa;IACxB,WAAW,CAAa;IAEjC,YAAY,IAAgB,EAAE,UAAsB;QAClD,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAsB,EAAE,IAAgB;QACnD,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7D,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAES,UAAU,CAAC,IAAyB;QAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC3C,qBAAqB;YACrB,wCAAwC;YACxC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;YACxD,oBAAoB;YACpB,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,sBAAsB;YACtB,MAAM;YACN,+GAA+G;QACjH,CAAC;IACH,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,yBAAyB;YACzB,0EAA0E;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,gBAAgB;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,6EAA6E;QAC/E,CAAC;IACH,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,qBAAqB;YACrB,wCAAwC;YACxC,EAAE;YACF,mGAAmG;YACnG,kEAAkE;YAClE,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAEQ,sCAAa"}
|
|
@@ -1,36 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _ImportVisitor_declaration, _ImportVisitor_referencer;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.ImportVisitor = void 0;
|
|
16
4
|
const definition_1 = require("../definition");
|
|
17
5
|
const Visitor_1 = require("./Visitor");
|
|
18
6
|
class ImportVisitor extends Visitor_1.Visitor {
|
|
7
|
+
#declaration;
|
|
8
|
+
#referencer;
|
|
19
9
|
constructor(declaration, referencer) {
|
|
20
10
|
super(referencer);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
__classPrivateFieldSet(this, _ImportVisitor_declaration, declaration, "f");
|
|
24
|
-
__classPrivateFieldSet(this, _ImportVisitor_referencer, referencer, "f");
|
|
11
|
+
this.#declaration = declaration;
|
|
12
|
+
this.#referencer = referencer;
|
|
25
13
|
}
|
|
26
14
|
static visit(referencer, declaration) {
|
|
27
15
|
const importReferencer = new ImportVisitor(declaration, referencer);
|
|
28
16
|
importReferencer.visit(declaration);
|
|
29
17
|
}
|
|
30
18
|
visitImport(id, specifier) {
|
|
31
|
-
|
|
19
|
+
this.#referencer
|
|
32
20
|
.currentScope()
|
|
33
|
-
.defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier,
|
|
21
|
+
.defineIdentifier(id, new definition_1.ImportBindingDefinition(id, specifier, this.#declaration));
|
|
34
22
|
}
|
|
35
23
|
ImportNamespaceSpecifier(node) {
|
|
36
24
|
const local = node.local;
|
|
@@ -46,5 +34,4 @@ class ImportVisitor extends Visitor_1.Visitor {
|
|
|
46
34
|
}
|
|
47
35
|
}
|
|
48
36
|
exports.ImportVisitor = ImportVisitor;
|
|
49
|
-
_ImportVisitor_declaration = new WeakMap(), _ImportVisitor_referencer = new WeakMap();
|
|
50
37
|
//# sourceMappingURL=ImportVisitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ImportVisitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImportVisitor.js","sourceRoot":"","sources":["../../src/referencer/ImportVisitor.ts"],"names":[],"mappings":";;;AAEA,8CAAwD;AAExD,uCAAoC;AAEpC,MAAM,aAAc,SAAQ,iBAAO;IACxB,YAAY,CAA6B;IACzC,WAAW,CAAa;IAEjC,YAAY,WAAuC,EAAE,UAAsB;QACzE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CACV,UAAsB,EACtB,WAAuC;QAEvC,MAAM,gBAAgB,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACpE,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CACnB,EAAuB,EACvB,SAG4B;QAE5B,IAAI,CAAC,WAAW;aACb,YAAY,EAAE;aACd,gBAAgB,CACf,EAAE,EACF,IAAI,oCAAuB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC9D,CAAC;IACN,CAAC;IAES,wBAAwB,CAChC,IAAuC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,sBAAsB,CAC9B,IAAqC;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,eAAe,CAAC,IAA8B;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAEQ,sCAAa"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _PatternVisitor_rootPattern, _PatternVisitor_callback, _PatternVisitor_assignments, _PatternVisitor_restElements;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.PatternVisitor = void 0;
|
|
16
4
|
const types_1 = require("@typescript-eslint/types");
|
|
@@ -25,15 +13,15 @@ class PatternVisitor extends VisitorBase_1.VisitorBase {
|
|
|
25
13
|
nodeType === types_1.AST_NODE_TYPES.RestElement ||
|
|
26
14
|
nodeType === types_1.AST_NODE_TYPES.AssignmentPattern);
|
|
27
15
|
}
|
|
16
|
+
#rootPattern;
|
|
17
|
+
#callback;
|
|
18
|
+
#assignments = [];
|
|
19
|
+
rightHandNodes = [];
|
|
20
|
+
#restElements = [];
|
|
28
21
|
constructor(options, rootPattern, callback) {
|
|
29
22
|
super(options);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
_PatternVisitor_assignments.set(this, []);
|
|
33
|
-
this.rightHandNodes = [];
|
|
34
|
-
_PatternVisitor_restElements.set(this, []);
|
|
35
|
-
__classPrivateFieldSet(this, _PatternVisitor_rootPattern, rootPattern, "f");
|
|
36
|
-
__classPrivateFieldSet(this, _PatternVisitor_callback, callback, "f");
|
|
23
|
+
this.#rootPattern = rootPattern;
|
|
24
|
+
this.#callback = callback;
|
|
37
25
|
}
|
|
38
26
|
ArrayExpression(node) {
|
|
39
27
|
node.elements.forEach(this.visit, this);
|
|
@@ -44,16 +32,16 @@ class PatternVisitor extends VisitorBase_1.VisitorBase {
|
|
|
44
32
|
}
|
|
45
33
|
}
|
|
46
34
|
AssignmentExpression(node) {
|
|
47
|
-
|
|
35
|
+
this.#assignments.push(node);
|
|
48
36
|
this.visit(node.left);
|
|
49
37
|
this.rightHandNodes.push(node.right);
|
|
50
|
-
|
|
38
|
+
this.#assignments.pop();
|
|
51
39
|
}
|
|
52
40
|
AssignmentPattern(pattern) {
|
|
53
|
-
|
|
41
|
+
this.#assignments.push(pattern);
|
|
54
42
|
this.visit(pattern.left);
|
|
55
43
|
this.rightHandNodes.push(pattern.right);
|
|
56
|
-
|
|
44
|
+
this.#assignments.pop();
|
|
57
45
|
}
|
|
58
46
|
CallExpression(node) {
|
|
59
47
|
// arguments are right hand nodes.
|
|
@@ -66,11 +54,11 @@ class PatternVisitor extends VisitorBase_1.VisitorBase {
|
|
|
66
54
|
// don't visit any decorators when exploring a pattern
|
|
67
55
|
}
|
|
68
56
|
Identifier(pattern) {
|
|
69
|
-
const lastRestElement =
|
|
70
|
-
|
|
71
|
-
topLevel: pattern ===
|
|
57
|
+
const lastRestElement = this.#restElements.at(-1);
|
|
58
|
+
this.#callback(pattern, {
|
|
59
|
+
topLevel: pattern === this.#rootPattern,
|
|
72
60
|
rest: lastRestElement?.argument === pattern,
|
|
73
|
-
assignments:
|
|
61
|
+
assignments: this.#assignments,
|
|
74
62
|
});
|
|
75
63
|
}
|
|
76
64
|
MemberExpression(node) {
|
|
@@ -92,9 +80,9 @@ class PatternVisitor extends VisitorBase_1.VisitorBase {
|
|
|
92
80
|
this.visit(property.value);
|
|
93
81
|
}
|
|
94
82
|
RestElement(pattern) {
|
|
95
|
-
|
|
83
|
+
this.#restElements.push(pattern);
|
|
96
84
|
this.visit(pattern.argument);
|
|
97
|
-
|
|
85
|
+
this.#restElements.pop();
|
|
98
86
|
}
|
|
99
87
|
SpreadElement(node) {
|
|
100
88
|
this.visit(node.argument);
|
|
@@ -104,5 +92,4 @@ class PatternVisitor extends VisitorBase_1.VisitorBase {
|
|
|
104
92
|
}
|
|
105
93
|
}
|
|
106
94
|
exports.PatternVisitor = PatternVisitor;
|
|
107
|
-
_PatternVisitor_rootPattern = new WeakMap(), _PatternVisitor_callback = new WeakMap(), _PatternVisitor_assignments = new WeakMap(), _PatternVisitor_restElements = new WeakMap();
|
|
108
95
|
//# sourceMappingURL=PatternVisitor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatternVisitor.js","sourceRoot":"","sources":["../../src/referencer/PatternVisitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PatternVisitor.js","sourceRoot":"","sources":["../../src/referencer/PatternVisitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
-
};
|
|
13
|
-
var _Reference_flag, _Reference_referenceType;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.ReferenceTypeFlag = exports.ReferenceFlag = exports.Reference = void 0;
|
|
16
4
|
const ID_1 = require("../ID");
|
|
@@ -30,78 +18,103 @@ var ReferenceTypeFlag;
|
|
|
30
18
|
* A Reference represents a single occurrence of an identifier in code.
|
|
31
19
|
*/
|
|
32
20
|
class Reference {
|
|
21
|
+
/**
|
|
22
|
+
* A unique ID for this instance - primarily used to help debugging and testing
|
|
23
|
+
*/
|
|
24
|
+
$id = generator();
|
|
25
|
+
/**
|
|
26
|
+
* The read-write mode of the reference.
|
|
27
|
+
*/
|
|
28
|
+
#flag;
|
|
29
|
+
/**
|
|
30
|
+
* Reference to the enclosing Scope.
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
from;
|
|
34
|
+
/**
|
|
35
|
+
* Identifier syntax node.
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
identifier;
|
|
39
|
+
/**
|
|
40
|
+
* `true` if this writing reference is a variable initializer or a default value.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
init;
|
|
44
|
+
/**
|
|
45
|
+
* The {@link Variable} object that this reference refers to. If such variable was not defined, this is `null`.
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
resolved;
|
|
49
|
+
/**
|
|
50
|
+
* If reference is writeable, this is the node being written to it.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
writeExpr;
|
|
54
|
+
maybeImplicitGlobal;
|
|
55
|
+
/**
|
|
56
|
+
* In some cases, a reference may be a type, value or both a type and value reference.
|
|
57
|
+
*/
|
|
58
|
+
#referenceType;
|
|
33
59
|
/**
|
|
34
60
|
* True if this reference can reference types
|
|
35
61
|
*/
|
|
36
62
|
get isTypeReference() {
|
|
37
|
-
return (
|
|
63
|
+
return (this.#referenceType & ReferenceTypeFlag.Type) !== 0;
|
|
38
64
|
}
|
|
39
65
|
/**
|
|
40
66
|
* True if this reference can reference values
|
|
41
67
|
*/
|
|
42
68
|
get isValueReference() {
|
|
43
|
-
return (
|
|
69
|
+
return (this.#referenceType & ReferenceTypeFlag.Value) !== 0;
|
|
44
70
|
}
|
|
45
71
|
constructor(identifier, scope, flag, writeExpr, maybeImplicitGlobal, init, referenceType = ReferenceTypeFlag.Value) {
|
|
46
|
-
/**
|
|
47
|
-
* A unique ID for this instance - primarily used to help debugging and testing
|
|
48
|
-
*/
|
|
49
|
-
this.$id = generator();
|
|
50
|
-
/**
|
|
51
|
-
* The read-write mode of the reference.
|
|
52
|
-
*/
|
|
53
|
-
_Reference_flag.set(this, void 0);
|
|
54
|
-
/**
|
|
55
|
-
* In some cases, a reference may be a type, value or both a type and value reference.
|
|
56
|
-
*/
|
|
57
|
-
_Reference_referenceType.set(this, void 0);
|
|
58
72
|
this.identifier = identifier;
|
|
59
73
|
this.from = scope;
|
|
60
74
|
this.resolved = null;
|
|
61
|
-
|
|
75
|
+
this.#flag = flag;
|
|
62
76
|
if (this.isWrite()) {
|
|
63
77
|
this.writeExpr = writeExpr;
|
|
64
78
|
this.init = init;
|
|
65
79
|
}
|
|
66
80
|
this.maybeImplicitGlobal = maybeImplicitGlobal;
|
|
67
|
-
|
|
81
|
+
this.#referenceType = referenceType;
|
|
68
82
|
}
|
|
69
83
|
/**
|
|
70
84
|
* Whether the reference is writeable.
|
|
71
85
|
* @public
|
|
72
86
|
*/
|
|
73
87
|
isWrite() {
|
|
74
|
-
return !!(
|
|
88
|
+
return !!(this.#flag & ReferenceFlag.Write);
|
|
75
89
|
}
|
|
76
90
|
/**
|
|
77
91
|
* Whether the reference is readable.
|
|
78
92
|
* @public
|
|
79
93
|
*/
|
|
80
94
|
isRead() {
|
|
81
|
-
return !!(
|
|
95
|
+
return !!(this.#flag & ReferenceFlag.Read);
|
|
82
96
|
}
|
|
83
97
|
/**
|
|
84
98
|
* Whether the reference is read-only.
|
|
85
99
|
* @public
|
|
86
100
|
*/
|
|
87
101
|
isReadOnly() {
|
|
88
|
-
return
|
|
102
|
+
return this.#flag === ReferenceFlag.Read;
|
|
89
103
|
}
|
|
90
104
|
/**
|
|
91
105
|
* Whether the reference is write-only.
|
|
92
106
|
* @public
|
|
93
107
|
*/
|
|
94
108
|
isWriteOnly() {
|
|
95
|
-
return
|
|
109
|
+
return this.#flag === ReferenceFlag.Write;
|
|
96
110
|
}
|
|
97
111
|
/**
|
|
98
112
|
* Whether the reference is read-write.
|
|
99
113
|
* @public
|
|
100
114
|
*/
|
|
101
115
|
isReadWrite() {
|
|
102
|
-
return
|
|
116
|
+
return this.#flag === ReferenceFlag.ReadWrite;
|
|
103
117
|
}
|
|
104
118
|
}
|
|
105
119
|
exports.Reference = Reference;
|
|
106
|
-
_Reference_flag = new WeakMap(), _Reference_referenceType = new WeakMap();
|
|
107
120
|
//# sourceMappingURL=Reference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/referencer/Reference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../../src/referencer/Reference.ts"],"names":[],"mappings":";;;AAEA,8BAA0C;AAI1C,IAAK,aAIJ;AAJD,WAAK,aAAa;IAChB,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,2DAAe,CAAA;AACjB,CAAC,EAJI,aAAa,6BAAb,aAAa,QAIjB;AAQD,MAAM,SAAS,GAAG,IAAA,sBAAiB,GAAE,CAAC;AAEtC,IAAK,iBAGJ;AAHD,WAAK,iBAAiB;IACpB,2DAAW,CAAA;IACX,yDAAU,CAAA;AACZ,CAAC,EAHI,iBAAiB,iCAAjB,iBAAiB,QAGrB;AAED;;GAEG;AACH,MAAM,SAAS;IACb;;OAEG;IACa,GAAG,GAAW,SAAS,EAAE,CAAC;IAC1C;;OAEG;IACM,KAAK,CAAgB;IAC9B;;;OAGG;IACa,IAAI,CAAQ;IAC5B;;;OAGG;IACa,UAAU,CAA+C;IACzE;;;OAGG;IACa,IAAI,CAAW;IAC/B;;;OAGG;IACI,QAAQ,CAAkB;IACjC;;;OAGG;IACa,SAAS,CAAwB;IAEjC,mBAAmB,CAAkC;IAErE;;OAEG;IACM,cAAc,CAAoB;IAE3C;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,YACE,UAAwD,EACxD,KAAY,EACZ,IAAmB,EACnB,SAAgC,EAChC,mBAAoD,EACpD,IAAc,EACd,aAAa,GAAG,iBAAiB,CAAC,KAAK;QAEvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,OAAO;QACZ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,SAAS,CAAC;IAChD,CAAC;CACF;AAEQ,8BAAS"}
|