@typescript-eslint/scope-manager 8.0.0-alpha.9 → 8.0.0

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.
Files changed (362) hide show
  1. package/dist/ID.js +2 -3
  2. package/dist/ID.js.map +1 -1
  3. package/dist/ScopeManager.js +17 -18
  4. package/dist/ScopeManager.js.map +1 -1
  5. package/dist/analyze.js +1 -2
  6. package/dist/analyze.js.map +1 -1
  7. package/dist/assert.js +1 -2
  8. package/dist/assert.js.map +1 -1
  9. package/dist/definition/CatchClauseDefinition.js +2 -2
  10. package/dist/definition/CatchClauseDefinition.js.map +1 -1
  11. package/dist/definition/ClassNameDefinition.js +2 -2
  12. package/dist/definition/ClassNameDefinition.js.map +1 -1
  13. package/dist/definition/DefinitionBase.js +20 -4
  14. package/dist/definition/DefinitionBase.js.map +1 -1
  15. package/dist/definition/FunctionNameDefinition.js +2 -2
  16. package/dist/definition/FunctionNameDefinition.js.map +1 -1
  17. package/dist/definition/ImplicitGlobalVariableDefinition.js +2 -2
  18. package/dist/definition/ImplicitGlobalVariableDefinition.js.map +1 -1
  19. package/dist/definition/ImportBindingDefinition.js +2 -2
  20. package/dist/definition/ImportBindingDefinition.js.map +1 -1
  21. package/dist/definition/ParameterDefinition.js +6 -2
  22. package/dist/definition/ParameterDefinition.js.map +1 -1
  23. package/dist/definition/TSEnumMemberDefinition.js +2 -2
  24. package/dist/definition/TSEnumMemberDefinition.js.map +1 -1
  25. package/dist/definition/TSEnumNameDefinition.js +2 -2
  26. package/dist/definition/TSEnumNameDefinition.js.map +1 -1
  27. package/dist/definition/TSModuleNameDefinition.js +2 -2
  28. package/dist/definition/TSModuleNameDefinition.js.map +1 -1
  29. package/dist/definition/TypeDefinition.js +2 -2
  30. package/dist/definition/TypeDefinition.js.map +1 -1
  31. package/dist/definition/VariableDefinition.js +2 -2
  32. package/dist/definition/VariableDefinition.js.map +1 -1
  33. package/dist/lib/base-config.js +1 -1
  34. package/dist/lib/base-config.js.map +1 -1
  35. package/dist/lib/decorators.d.ts.map +1 -1
  36. package/dist/lib/decorators.js +1 -1
  37. package/dist/lib/decorators.js.map +1 -1
  38. package/dist/lib/decorators.legacy.d.ts.map +1 -1
  39. package/dist/lib/decorators.legacy.js +1 -1
  40. package/dist/lib/decorators.legacy.js.map +1 -1
  41. package/dist/lib/dom.asynciterable.d.ts.map +1 -1
  42. package/dist/lib/dom.asynciterable.js +2 -1
  43. package/dist/lib/dom.asynciterable.js.map +1 -1
  44. package/dist/lib/dom.d.ts.map +1 -1
  45. package/dist/lib/dom.iterable.d.ts.map +1 -1
  46. package/dist/lib/dom.iterable.js +3 -1
  47. package/dist/lib/dom.iterable.js.map +1 -1
  48. package/dist/lib/dom.js +8 -2
  49. package/dist/lib/dom.js.map +1 -1
  50. package/dist/lib/es2015.collection.d.ts.map +1 -1
  51. package/dist/lib/es2015.collection.js +1 -1
  52. package/dist/lib/es2015.collection.js.map +1 -1
  53. package/dist/lib/es2015.core.d.ts.map +1 -1
  54. package/dist/lib/es2015.core.js +10 -1
  55. package/dist/lib/es2015.core.js.map +1 -1
  56. package/dist/lib/es2015.d.ts.map +1 -1
  57. package/dist/lib/es2015.generator.d.ts.map +1 -1
  58. package/dist/lib/es2015.generator.js +1 -1
  59. package/dist/lib/es2015.generator.js.map +1 -1
  60. package/dist/lib/es2015.iterable.d.ts.map +1 -1
  61. package/dist/lib/es2015.iterable.js +1 -1
  62. package/dist/lib/es2015.iterable.js.map +1 -1
  63. package/dist/lib/es2015.js +1 -1
  64. package/dist/lib/es2015.js.map +1 -1
  65. package/dist/lib/es2015.promise.d.ts.map +1 -1
  66. package/dist/lib/es2015.promise.js +1 -1
  67. package/dist/lib/es2015.promise.js.map +1 -1
  68. package/dist/lib/es2015.proxy.d.ts.map +1 -1
  69. package/dist/lib/es2015.proxy.js +1 -1
  70. package/dist/lib/es2015.proxy.js.map +1 -1
  71. package/dist/lib/es2015.reflect.d.ts.map +1 -1
  72. package/dist/lib/es2015.reflect.js +1 -1
  73. package/dist/lib/es2015.reflect.js.map +1 -1
  74. package/dist/lib/es2015.symbol.d.ts.map +1 -1
  75. package/dist/lib/es2015.symbol.js +1 -1
  76. package/dist/lib/es2015.symbol.js.map +1 -1
  77. package/dist/lib/es2015.symbol.wellknown.d.ts.map +1 -1
  78. package/dist/lib/es2015.symbol.wellknown.js +1 -1
  79. package/dist/lib/es2015.symbol.wellknown.js.map +1 -1
  80. package/dist/lib/es2016.array.include.d.ts.map +1 -1
  81. package/dist/lib/es2016.array.include.js +1 -1
  82. package/dist/lib/es2016.array.include.js.map +1 -1
  83. package/dist/lib/es2016.d.ts.map +1 -1
  84. package/dist/lib/es2016.full.d.ts.map +1 -1
  85. package/dist/lib/es2016.full.js +1 -1
  86. package/dist/lib/es2016.full.js.map +1 -1
  87. package/dist/lib/es2016.intl.d.ts.map +1 -1
  88. package/dist/lib/es2016.intl.js +1 -1
  89. package/dist/lib/es2016.intl.js.map +1 -1
  90. package/dist/lib/es2016.js +1 -1
  91. package/dist/lib/es2016.js.map +1 -1
  92. package/dist/lib/es2017.d.ts.map +1 -1
  93. package/dist/lib/es2017.date.d.ts.map +1 -1
  94. package/dist/lib/es2017.date.js +1 -1
  95. package/dist/lib/es2017.date.js.map +1 -1
  96. package/dist/lib/es2017.full.d.ts.map +1 -1
  97. package/dist/lib/es2017.full.js +1 -1
  98. package/dist/lib/es2017.full.js.map +1 -1
  99. package/dist/lib/es2017.intl.d.ts.map +1 -1
  100. package/dist/lib/es2017.intl.js +1 -1
  101. package/dist/lib/es2017.intl.js.map +1 -1
  102. package/dist/lib/es2017.js +1 -1
  103. package/dist/lib/es2017.js.map +1 -1
  104. package/dist/lib/es2017.object.d.ts.map +1 -1
  105. package/dist/lib/es2017.object.js +1 -1
  106. package/dist/lib/es2017.object.js.map +1 -1
  107. package/dist/lib/es2017.sharedmemory.d.ts.map +1 -1
  108. package/dist/lib/es2017.sharedmemory.js +1 -1
  109. package/dist/lib/es2017.sharedmemory.js.map +1 -1
  110. package/dist/lib/es2017.string.d.ts.map +1 -1
  111. package/dist/lib/es2017.string.js +1 -1
  112. package/dist/lib/es2017.string.js.map +1 -1
  113. package/dist/lib/es2017.typedarrays.d.ts.map +1 -1
  114. package/dist/lib/es2017.typedarrays.js +1 -1
  115. package/dist/lib/es2017.typedarrays.js.map +1 -1
  116. package/dist/lib/es2018.asyncgenerator.d.ts.map +1 -1
  117. package/dist/lib/es2018.asyncgenerator.js +1 -1
  118. package/dist/lib/es2018.asyncgenerator.js.map +1 -1
  119. package/dist/lib/es2018.asynciterable.d.ts.map +1 -1
  120. package/dist/lib/es2018.asynciterable.js +1 -1
  121. package/dist/lib/es2018.asynciterable.js.map +1 -1
  122. package/dist/lib/es2018.d.ts.map +1 -1
  123. package/dist/lib/es2018.full.d.ts.map +1 -1
  124. package/dist/lib/es2018.full.js +1 -1
  125. package/dist/lib/es2018.full.js.map +1 -1
  126. package/dist/lib/es2018.intl.d.ts.map +1 -1
  127. package/dist/lib/es2018.intl.js +1 -1
  128. package/dist/lib/es2018.intl.js.map +1 -1
  129. package/dist/lib/es2018.js +1 -1
  130. package/dist/lib/es2018.js.map +1 -1
  131. package/dist/lib/es2018.promise.d.ts.map +1 -1
  132. package/dist/lib/es2018.promise.js +1 -1
  133. package/dist/lib/es2018.promise.js.map +1 -1
  134. package/dist/lib/es2018.regexp.d.ts.map +1 -1
  135. package/dist/lib/es2018.regexp.js +1 -1
  136. package/dist/lib/es2018.regexp.js.map +1 -1
  137. package/dist/lib/es2019.array.d.ts.map +1 -1
  138. package/dist/lib/es2019.array.js +1 -1
  139. package/dist/lib/es2019.array.js.map +1 -1
  140. package/dist/lib/es2019.d.ts.map +1 -1
  141. package/dist/lib/es2019.full.d.ts.map +1 -1
  142. package/dist/lib/es2019.full.js +1 -1
  143. package/dist/lib/es2019.full.js.map +1 -1
  144. package/dist/lib/es2019.intl.d.ts.map +1 -1
  145. package/dist/lib/es2019.intl.js +1 -1
  146. package/dist/lib/es2019.intl.js.map +1 -1
  147. package/dist/lib/es2019.js +1 -1
  148. package/dist/lib/es2019.js.map +1 -1
  149. package/dist/lib/es2019.object.d.ts.map +1 -1
  150. package/dist/lib/es2019.object.js +1 -1
  151. package/dist/lib/es2019.object.js.map +1 -1
  152. package/dist/lib/es2019.string.d.ts.map +1 -1
  153. package/dist/lib/es2019.string.js +1 -1
  154. package/dist/lib/es2019.string.js.map +1 -1
  155. package/dist/lib/es2019.symbol.d.ts.map +1 -1
  156. package/dist/lib/es2019.symbol.js +1 -1
  157. package/dist/lib/es2019.symbol.js.map +1 -1
  158. package/dist/lib/es2020.bigint.d.ts.map +1 -1
  159. package/dist/lib/es2020.bigint.js +1 -1
  160. package/dist/lib/es2020.bigint.js.map +1 -1
  161. package/dist/lib/es2020.d.ts.map +1 -1
  162. package/dist/lib/es2020.date.d.ts.map +1 -1
  163. package/dist/lib/es2020.date.js +1 -1
  164. package/dist/lib/es2020.date.js.map +1 -1
  165. package/dist/lib/es2020.full.d.ts.map +1 -1
  166. package/dist/lib/es2020.full.js +1 -1
  167. package/dist/lib/es2020.full.js.map +1 -1
  168. package/dist/lib/es2020.intl.d.ts.map +1 -1
  169. package/dist/lib/es2020.intl.js +1 -1
  170. package/dist/lib/es2020.intl.js.map +1 -1
  171. package/dist/lib/es2020.js +1 -1
  172. package/dist/lib/es2020.js.map +1 -1
  173. package/dist/lib/es2020.number.d.ts.map +1 -1
  174. package/dist/lib/es2020.number.js +1 -1
  175. package/dist/lib/es2020.number.js.map +1 -1
  176. package/dist/lib/es2020.promise.d.ts.map +1 -1
  177. package/dist/lib/es2020.promise.js +1 -1
  178. package/dist/lib/es2020.promise.js.map +1 -1
  179. package/dist/lib/es2020.sharedmemory.d.ts.map +1 -1
  180. package/dist/lib/es2020.sharedmemory.js +1 -1
  181. package/dist/lib/es2020.sharedmemory.js.map +1 -1
  182. package/dist/lib/es2020.string.d.ts.map +1 -1
  183. package/dist/lib/es2020.string.js +1 -1
  184. package/dist/lib/es2020.string.js.map +1 -1
  185. package/dist/lib/es2020.symbol.wellknown.d.ts.map +1 -1
  186. package/dist/lib/es2020.symbol.wellknown.js +1 -1
  187. package/dist/lib/es2020.symbol.wellknown.js.map +1 -1
  188. package/dist/lib/es2021.d.ts.map +1 -1
  189. package/dist/lib/es2021.full.d.ts.map +1 -1
  190. package/dist/lib/es2021.full.js +1 -1
  191. package/dist/lib/es2021.full.js.map +1 -1
  192. package/dist/lib/es2021.intl.d.ts.map +1 -1
  193. package/dist/lib/es2021.intl.js +1 -1
  194. package/dist/lib/es2021.intl.js.map +1 -1
  195. package/dist/lib/es2021.js +1 -1
  196. package/dist/lib/es2021.js.map +1 -1
  197. package/dist/lib/es2021.promise.d.ts.map +1 -1
  198. package/dist/lib/es2021.promise.js +1 -1
  199. package/dist/lib/es2021.promise.js.map +1 -1
  200. package/dist/lib/es2021.string.d.ts.map +1 -1
  201. package/dist/lib/es2021.string.js +1 -1
  202. package/dist/lib/es2021.string.js.map +1 -1
  203. package/dist/lib/es2021.weakref.d.ts.map +1 -1
  204. package/dist/lib/es2021.weakref.js +1 -1
  205. package/dist/lib/es2021.weakref.js.map +1 -1
  206. package/dist/lib/es2022.array.d.ts.map +1 -1
  207. package/dist/lib/es2022.array.js +1 -1
  208. package/dist/lib/es2022.array.js.map +1 -1
  209. package/dist/lib/es2022.d.ts.map +1 -1
  210. package/dist/lib/es2022.error.d.ts.map +1 -1
  211. package/dist/lib/es2022.error.js +1 -1
  212. package/dist/lib/es2022.error.js.map +1 -1
  213. package/dist/lib/es2022.full.d.ts.map +1 -1
  214. package/dist/lib/es2022.full.js +1 -1
  215. package/dist/lib/es2022.full.js.map +1 -1
  216. package/dist/lib/es2022.intl.d.ts.map +1 -1
  217. package/dist/lib/es2022.intl.js +1 -1
  218. package/dist/lib/es2022.intl.js.map +1 -1
  219. package/dist/lib/es2022.js +1 -1
  220. package/dist/lib/es2022.js.map +1 -1
  221. package/dist/lib/es2022.object.d.ts.map +1 -1
  222. package/dist/lib/es2022.object.js +1 -1
  223. package/dist/lib/es2022.object.js.map +1 -1
  224. package/dist/lib/es2022.regexp.d.ts.map +1 -1
  225. package/dist/lib/es2022.regexp.js +1 -1
  226. package/dist/lib/es2022.regexp.js.map +1 -1
  227. package/dist/lib/es2022.sharedmemory.d.ts.map +1 -1
  228. package/dist/lib/es2022.sharedmemory.js +1 -1
  229. package/dist/lib/es2022.sharedmemory.js.map +1 -1
  230. package/dist/lib/es2022.string.d.ts.map +1 -1
  231. package/dist/lib/es2022.string.js +1 -1
  232. package/dist/lib/es2022.string.js.map +1 -1
  233. package/dist/lib/es2023.array.d.ts.map +1 -1
  234. package/dist/lib/es2023.array.js +1 -1
  235. package/dist/lib/es2023.array.js.map +1 -1
  236. package/dist/lib/es2023.collection.d.ts.map +1 -1
  237. package/dist/lib/es2023.collection.js +1 -1
  238. package/dist/lib/es2023.collection.js.map +1 -1
  239. package/dist/lib/es2023.d.ts.map +1 -1
  240. package/dist/lib/es2023.full.d.ts.map +1 -1
  241. package/dist/lib/es2023.full.js +1 -1
  242. package/dist/lib/es2023.full.js.map +1 -1
  243. package/dist/lib/es2023.intl.d.ts +3 -0
  244. package/dist/lib/es2023.intl.d.ts.map +1 -0
  245. package/dist/lib/es2023.intl.js +12 -0
  246. package/dist/lib/es2023.intl.js.map +1 -0
  247. package/dist/lib/es2023.js +3 -1
  248. package/dist/lib/es2023.js.map +1 -1
  249. package/dist/lib/es5.d.ts.map +1 -1
  250. package/dist/lib/es5.js +1 -1
  251. package/dist/lib/es5.js.map +1 -1
  252. package/dist/lib/es6.d.ts.map +1 -1
  253. package/dist/lib/es6.js +1 -1
  254. package/dist/lib/es6.js.map +1 -1
  255. package/dist/lib/es7.d.ts.map +1 -1
  256. package/dist/lib/es7.js +1 -1
  257. package/dist/lib/es7.js.map +1 -1
  258. package/dist/lib/esnext.array.d.ts.map +1 -1
  259. package/dist/lib/esnext.array.js +2 -14
  260. package/dist/lib/esnext.array.js.map +1 -1
  261. package/dist/lib/esnext.asynciterable.d.ts.map +1 -1
  262. package/dist/lib/esnext.asynciterable.js +1 -1
  263. package/dist/lib/esnext.asynciterable.js.map +1 -1
  264. package/dist/lib/esnext.bigint.d.ts.map +1 -1
  265. package/dist/lib/esnext.bigint.js +1 -1
  266. package/dist/lib/esnext.bigint.js.map +1 -1
  267. package/dist/lib/esnext.collection.d.ts.map +1 -1
  268. package/dist/lib/esnext.collection.js +4 -1
  269. package/dist/lib/esnext.collection.js.map +1 -1
  270. package/dist/lib/esnext.d.ts.map +1 -1
  271. package/dist/lib/esnext.decorators.d.ts.map +1 -1
  272. package/dist/lib/esnext.decorators.js +1 -1
  273. package/dist/lib/esnext.decorators.js.map +1 -1
  274. package/dist/lib/esnext.disposable.d.ts.map +1 -1
  275. package/dist/lib/esnext.disposable.js +1 -1
  276. package/dist/lib/esnext.disposable.js.map +1 -1
  277. package/dist/lib/esnext.full.d.ts.map +1 -1
  278. package/dist/lib/esnext.full.js +1 -1
  279. package/dist/lib/esnext.full.js.map +1 -1
  280. package/dist/lib/esnext.intl.d.ts.map +1 -1
  281. package/dist/lib/esnext.intl.js +1 -1
  282. package/dist/lib/esnext.intl.js.map +1 -1
  283. package/dist/lib/esnext.js +7 -1
  284. package/dist/lib/esnext.js.map +1 -1
  285. package/dist/lib/esnext.object.d.ts.map +1 -1
  286. package/dist/lib/esnext.object.js +1 -1
  287. package/dist/lib/esnext.object.js.map +1 -1
  288. package/dist/lib/esnext.promise.d.ts.map +1 -1
  289. package/dist/lib/esnext.promise.js +1 -1
  290. package/dist/lib/esnext.promise.js.map +1 -1
  291. package/dist/lib/esnext.regexp.d.ts +3 -0
  292. package/dist/lib/esnext.regexp.d.ts.map +1 -0
  293. package/dist/lib/esnext.regexp.js +12 -0
  294. package/dist/lib/esnext.regexp.js.map +1 -0
  295. package/dist/lib/esnext.string.d.ts.map +1 -1
  296. package/dist/lib/esnext.string.js +1 -1
  297. package/dist/lib/esnext.string.js.map +1 -1
  298. package/dist/lib/esnext.symbol.d.ts.map +1 -1
  299. package/dist/lib/esnext.symbol.js +1 -1
  300. package/dist/lib/esnext.symbol.js.map +1 -1
  301. package/dist/lib/esnext.weakref.d.ts.map +1 -1
  302. package/dist/lib/esnext.weakref.js +1 -1
  303. package/dist/lib/esnext.weakref.js.map +1 -1
  304. package/dist/lib/index.d.ts +2 -0
  305. package/dist/lib/index.d.ts.map +1 -1
  306. package/dist/lib/index.js +5 -1
  307. package/dist/lib/index.js.map +1 -1
  308. package/dist/lib/lib.d.ts.map +1 -1
  309. package/dist/lib/lib.js +1 -1
  310. package/dist/lib/lib.js.map +1 -1
  311. package/dist/lib/scripthost.d.ts.map +1 -1
  312. package/dist/lib/scripthost.js +1 -1
  313. package/dist/lib/scripthost.js.map +1 -1
  314. package/dist/lib/webworker.asynciterable.d.ts.map +1 -1
  315. package/dist/lib/webworker.asynciterable.js +2 -1
  316. package/dist/lib/webworker.asynciterable.js.map +1 -1
  317. package/dist/lib/webworker.d.ts.map +1 -1
  318. package/dist/lib/webworker.importscripts.d.ts.map +1 -1
  319. package/dist/lib/webworker.importscripts.js +1 -1
  320. package/dist/lib/webworker.importscripts.js.map +1 -1
  321. package/dist/lib/webworker.iterable.d.ts.map +1 -1
  322. package/dist/lib/webworker.iterable.js +2 -1
  323. package/dist/lib/webworker.iterable.js.map +1 -1
  324. package/dist/lib/webworker.js +2 -1
  325. package/dist/lib/webworker.js.map +1 -1
  326. package/dist/referencer/ClassVisitor.d.ts +1 -0
  327. package/dist/referencer/ClassVisitor.d.ts.map +1 -1
  328. package/dist/referencer/ClassVisitor.js +34 -44
  329. package/dist/referencer/ClassVisitor.js.map +1 -1
  330. package/dist/referencer/ExportVisitor.js +8 -21
  331. package/dist/referencer/ExportVisitor.js.map +1 -1
  332. package/dist/referencer/ImportVisitor.js +6 -19
  333. package/dist/referencer/ImportVisitor.js.map +1 -1
  334. package/dist/referencer/PatternVisitor.js +17 -30
  335. package/dist/referencer/PatternVisitor.js.map +1 -1
  336. package/dist/referencer/Reference.js +47 -34
  337. package/dist/referencer/Reference.js.map +1 -1
  338. package/dist/referencer/Referencer.d.ts.map +1 -1
  339. package/dist/referencer/Referencer.js +18 -35
  340. package/dist/referencer/Referencer.js.map +1 -1
  341. package/dist/referencer/TypeVisitor.js +22 -35
  342. package/dist/referencer/TypeVisitor.js.map +1 -1
  343. package/dist/referencer/Visitor.js +7 -19
  344. package/dist/referencer/Visitor.js.map +1 -1
  345. package/dist/referencer/VisitorBase.js +7 -19
  346. package/dist/referencer/VisitorBase.js.map +1 -1
  347. package/dist/scope/FunctionExpressionNameScope.js +1 -0
  348. package/dist/scope/FunctionExpressionNameScope.js.map +1 -1
  349. package/dist/scope/GlobalScope.js +2 -0
  350. package/dist/scope/GlobalScope.js.map +1 -1
  351. package/dist/scope/ScopeBase.js +132 -122
  352. package/dist/scope/ScopeBase.js.map +1 -1
  353. package/dist/variable/ESLintScopeVariable.js +24 -0
  354. package/dist/variable/ESLintScopeVariable.js.map +1 -1
  355. package/dist/variable/ImplicitLibVariable.js +8 -0
  356. package/dist/variable/ImplicitLibVariable.js.map +1 -1
  357. package/dist/variable/VariableBase.js +35 -26
  358. package/dist/variable/VariableBase.js.map +1 -1
  359. package/dist/variable/index.d.ts +3 -0
  360. package/dist/variable/index.d.ts.map +1 -1
  361. package/dist/variable/index.js.map +1 -1
  362. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/referencer/Visitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAMA,qDAAkD;AAClD,+CAA4D;AAqC1C,4FArCT,yBAAW,OAqCS;AAhC7B,MAAM,OAAQ,SAAQ,yBAAW;IAE/B,YAAY,gBAA0C;QACpD,KAAK,CACH,gBAAgB,YAAY,OAAO;YACjC,CAAC,CAAC,uBAAA,gBAAgB,wBAAS;YAC3B,CAAC,CAAC,gBAAgB,CACrB,CAAC;QANK,mCAAyB;QAQhC,uBAAA,IAAI,oBACF,gBAAgB,YAAY,OAAO;YACjC,CAAC,CAAC,uBAAA,gBAAgB,wBAAS;YAC3B,CAAC,CAAC,gBAAgB,MAAA,CAAC;IACzB,CAAC;IAES,YAAY,CACpB,IAAmB,EACnB,QAAgC,EAChC,UAA+B,EAAE,qBAAqB,EAAE,KAAK,EAAE;QAE/D,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,uBAAA,IAAI,wBAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpB,4CAA4C;QAC5C,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAEQ,0BAAO"}
1
+ {"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/referencer/Visitor.ts"],"names":[],"mappings":";;;AAMA,qDAAkD;AAClD,+CAA4D;AAqC1C,4FArCT,yBAAW,OAqCS;AAhC7B,MAAM,OAAQ,SAAQ,yBAAW;IACtB,QAAQ,CAAiB;IAClC,YAAY,gBAA0C;QACpD,KAAK,CACH,gBAAgB,YAAY,OAAO;YACjC,CAAC,CAAC,gBAAgB,CAAC,QAAQ;YAC3B,CAAC,CAAC,gBAAgB,CACrB,CAAC;QAEF,IAAI,CAAC,QAAQ;YACX,gBAAgB,YAAY,OAAO;gBACjC,CAAC,CAAC,gBAAgB,CAAC,QAAQ;gBAC3B,CAAC,CAAC,gBAAgB,CAAC;IACzB,CAAC;IAES,YAAY,CACpB,IAAmB,EACnB,QAAgC,EAChC,UAA+B,EAAE,qBAAqB,EAAE,KAAK,EAAE;QAE/D,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAElE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpB,4CAA4C;QAC5C,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAEQ,0BAAO"}
@@ -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 _VisitorBase_childVisitorKeys, _VisitorBase_visitChildrenEvenIfSelectorExists;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.VisitorBase = void 0;
16
4
  const visitor_keys_1 = require("@typescript-eslint/visitor-keys");
@@ -21,11 +9,12 @@ function isNode(node) {
21
9
  return isObject(node) && typeof node.type === 'string';
22
10
  }
23
11
  class VisitorBase {
12
+ #childVisitorKeys;
13
+ #visitChildrenEvenIfSelectorExists;
24
14
  constructor(options) {
25
- _VisitorBase_childVisitorKeys.set(this, void 0);
26
- _VisitorBase_visitChildrenEvenIfSelectorExists.set(this, void 0);
27
- __classPrivateFieldSet(this, _VisitorBase_childVisitorKeys, options.childVisitorKeys ?? visitor_keys_1.visitorKeys, "f");
28
- __classPrivateFieldSet(this, _VisitorBase_visitChildrenEvenIfSelectorExists, options.visitChildrenEvenIfSelectorExists ?? false, "f");
15
+ this.#childVisitorKeys = options.childVisitorKeys ?? visitor_keys_1.visitorKeys;
16
+ this.#visitChildrenEvenIfSelectorExists =
17
+ options.visitChildrenEvenIfSelectorExists ?? false;
29
18
  }
30
19
  /**
31
20
  * Default method for visiting children.
@@ -37,7 +26,7 @@ class VisitorBase {
37
26
  return;
38
27
  }
39
28
  const exclude = new Set([...excludeArr, 'parent']);
40
- const children = __classPrivateFieldGet(this, _VisitorBase_childVisitorKeys, "f")[node.type] ?? Object.keys(node);
29
+ const children = this.#childVisitorKeys[node.type] ?? Object.keys(node);
41
30
  for (const key of children) {
42
31
  if (exclude.has(key)) {
43
32
  continue;
@@ -68,7 +57,7 @@ class VisitorBase {
68
57
  const visitor = this[node.type];
69
58
  if (visitor) {
70
59
  visitor.call(this, node);
71
- if (!__classPrivateFieldGet(this, _VisitorBase_visitChildrenEvenIfSelectorExists, "f")) {
60
+ if (!this.#visitChildrenEvenIfSelectorExists) {
72
61
  return;
73
62
  }
74
63
  }
@@ -76,5 +65,4 @@ class VisitorBase {
76
65
  }
77
66
  }
78
67
  exports.VisitorBase = VisitorBase;
79
- _VisitorBase_childVisitorKeys = new WeakMap(), _VisitorBase_visitChildrenEvenIfSelectorExists = new WeakMap();
80
68
  //# sourceMappingURL=VisitorBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VisitorBase.js","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,kEAA2E;AAO3E,SAAS,QAAQ,CAAC,GAAY;IAC5B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC;AAChD,CAAC;AACD,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAMD,MAAe,WAAW;IAGxB,YAAY,OAAuB;QAF1B,gDAA+B;QAC/B,iEAA4C;QAEnD,uBAAA,IAAI,iCAAqB,OAAO,CAAC,gBAAgB,IAAI,0BAAW,MAAA,CAAC;QACjE,uBAAA,IAAI,kDACF,OAAO,CAAC,iCAAiC,IAAI,KAAK,MAAA,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,IAA0B,EAC1B,aAA0B,EAAE;QAE5B,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAa,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,uBAAA,IAAI,qCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAA0B,CAAY,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAsC;QAC1C,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAI,IAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,uBAAA,IAAI,sDAAmC,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAEQ,kCAAW"}
1
+ {"version":3,"file":"VisitorBase.js","sourceRoot":"","sources":["../../src/referencer/VisitorBase.ts"],"names":[],"mappings":";;;AACA,kEAA2E;AAO3E,SAAS,QAAQ,CAAC,GAAY;IAC5B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,CAAC;AAChD,CAAC;AACD,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAMD,MAAe,WAAW;IACf,iBAAiB,CAAc;IAC/B,kCAAkC,CAAU;IACrD,YAAY,OAAuB;QACjC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,0BAAW,CAAC;QACjE,IAAI,CAAC,kCAAkC;YACrC,OAAO,CAAC,iCAAiC,IAAI,KAAK,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,IAA0B,EAC1B,aAA0B,EAAE;QAE5B,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAa,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAA0B,CAAY,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;oBAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAsC;QAC1C,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAI,IAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;gBAC7C,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAEQ,kCAAW"}
@@ -5,6 +5,7 @@ const definition_1 = require("../definition");
5
5
  const ScopeBase_1 = require("./ScopeBase");
6
6
  const ScopeType_1 = require("./ScopeType");
7
7
  class FunctionExpressionNameScope extends ScopeBase_1.ScopeBase {
8
+ functionExpressionScope;
8
9
  constructor(scopeManager, upperScope, block) {
9
10
  super(scopeManager, ScopeType_1.ScopeType.functionExpressionName, upperScope, block, false);
10
11
  if (block.id) {
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionExpressionNameScope.js","sourceRoot":"","sources":["../../src/scope/FunctionExpressionNameScope.ts"],"names":[],"mappings":";;;AAEA,8CAAuD;AAGvD,2CAAwC;AACxC,2CAAwC;AAExC,MAAM,2BAA4B,SAAQ,qBAIzC;IAEC,YACE,YAA0B,EAC1B,UAAgD,EAChD,KAA2C;QAE3C,KAAK,CACH,YAAY,EACZ,qBAAS,CAAC,sBAAsB,EAChC,UAAU,EACV,KAAK,EACL,KAAK,CACN,CAAC;QACF,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CACnB,KAAK,CAAC,EAAE,EACR,IAAI,mCAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAC5C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;CACF;AAEQ,kEAA2B"}
1
+ {"version":3,"file":"FunctionExpressionNameScope.js","sourceRoot":"","sources":["../../src/scope/FunctionExpressionNameScope.ts"],"names":[],"mappings":";;;AAEA,8CAAuD;AAGvD,2CAAwC;AACxC,2CAAwC;AAExC,MAAM,2BAA4B,SAAQ,qBAIzC;IACiB,uBAAuB,CAAO;IAC9C,YACE,YAA0B,EAC1B,UAAgD,EAChD,KAA2C;QAE3C,KAAK,CACH,YAAY,EACZ,qBAAS,CAAC,sBAAsB,EAChC,UAAU,EACV,KAAK,EACL,KAAK,CACN,CAAC;QACF,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CACnB,KAAK,CAAC,EAAE,EACR,IAAI,mCAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAC5C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;IACtC,CAAC;CACF;AAEQ,kEAA2B"}
@@ -8,6 +8,8 @@ const variable_1 = require("../variable");
8
8
  const ScopeBase_1 = require("./ScopeBase");
9
9
  const ScopeType_1 = require("./ScopeType");
10
10
  class GlobalScope extends ScopeBase_1.ScopeBase {
11
+ // note this is accessed in used in the legacy eslint-scope tests, so it can't be true private
12
+ implicit;
11
13
  constructor(scopeManager, block) {
12
14
  super(scopeManager, ScopeType_1.ScopeType.global, null, block, false);
13
15
  this.implicit = {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalScope.js","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,sCAAmC;AACnC,qGAAkG;AAIlG,0CAAkD;AAElD,2CAAwC;AACxC,2CAAwC;AAExC,MAAM,WAAY,SAAQ,qBAOzB;IAYC,YAAY,YAA0B,EAAE,KAA2B;QACjE,KAAK,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,EAAE,IAAI,GAAG,EAAoB;YAChC,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAEM,sBAAsB,CAC3B,IAAY,EACZ,OAAmC;QAEnC,IAAI,CAAC,cAAc,CACjB,IAAI,8BAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAC5C,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAA0B;QACrC,IAAA,eAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,gEAAgE;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;oBAC5C,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,EACJ,IAAI,mEAAgC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF;AAEQ,kCAAW"}
1
+ {"version":3,"file":"GlobalScope.js","sourceRoot":"","sources":["../../src/scope/GlobalScope.ts"],"names":[],"mappings":";;;AACA,oDAA0D;AAE1D,sCAAmC;AACnC,qGAAkG;AAIlG,0CAAkD;AAElD,2CAAwC;AACxC,2CAAwC;AAExC,MAAM,WAAY,SAAQ,qBAOzB;IACC,8FAA8F;IAC7E,QAAQ,CAQvB;IAEF,YAAY,YAA0B,EAAE,KAA2B;QACjE,KAAK,CAAC,YAAY,EAAE,qBAAS,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,EAAE,IAAI,GAAG,EAAoB;YAChC,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;SACrB,CAAC;IACJ,CAAC;IAEM,sBAAsB,CAC3B,IAAY,EACZ,OAAmC;QAEnC,IAAI,CAAC,cAAc,CACjB,IAAI,8BAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAC5C,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAA0B;QACrC,IAAA,eAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,gEAAgE;gBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU,EAAE,CAAC;oBAC5C,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,EACJ,IAAI,mEAAgC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAC9D,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;CACF;AAEQ,kCAAW"}
@@ -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 _ScopeBase_declaredVariables, _ScopeBase_dynamic, _ScopeBase_staticCloseRef, _ScopeBase_dynamicCloseRef, _ScopeBase_globalCloseRef;
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.ScopeBase = void 0;
16
4
  const types_1 = require("@typescript-eslint/types");
@@ -111,111 +99,90 @@ const VARIABLE_SCOPE_TYPES = new Set([
111
99
  ScopeType_1.ScopeType.tsModule,
112
100
  ]);
113
101
  class ScopeBase {
102
+ /**
103
+ * A unique ID for this instance - primarily used to help debugging and testing
104
+ */
105
+ $id = generator();
106
+ /**
107
+ * The AST node which created this scope.
108
+ * @public
109
+ */
110
+ block;
111
+ /**
112
+ * The array of child scopes. This does not include grandchild scopes.
113
+ * @public
114
+ */
115
+ childScopes = [];
116
+ /**
117
+ * A map of the variables for each node in this scope.
118
+ * This is map is a pointer to the one in the parent ScopeManager instance
119
+ */
120
+ #declaredVariables;
121
+ /**
122
+ * Generally, through the lexical scoping of JS you can always know which variable an identifier in the source code
123
+ * refers to. There are a few exceptions to this rule. With `global` and `with` scopes you can only decide at runtime
124
+ * which variable a reference refers to.
125
+ * All those scopes are considered "dynamic".
126
+ */
127
+ #dynamic;
128
+ /**
129
+ * Whether this scope is created by a FunctionExpression.
130
+ * @public
131
+ */
132
+ functionExpressionScope = false;
133
+ /**
134
+ * Whether 'use strict' is in effect in this scope.
135
+ * @public
136
+ */
137
+ isStrict;
138
+ /**
139
+ * List of {@link Reference}s that are left to be resolved (i.e. which
140
+ * need to be linked to the variable they refer to).
141
+ */
142
+ leftToResolve = [];
143
+ /**
144
+ * Any variable {@link Reference} found in this scope.
145
+ * This includes occurrences of local variables as well as variables from parent scopes (including the global scope).
146
+ * For local variables this also includes defining occurrences (like in a 'var' statement).
147
+ * In a 'function' scope this does not include the occurrences of the formal parameter in the parameter list.
148
+ * @public
149
+ */
150
+ references = [];
151
+ /**
152
+ * The map from variable names to variable objects.
153
+ * @public
154
+ */
155
+ set = new Map();
156
+ /**
157
+ * The {@link Reference}s that are not resolved with this scope.
158
+ * @public
159
+ */
160
+ through = [];
161
+ type;
162
+ /**
163
+ * Reference to the parent {@link Scope}.
164
+ * @public
165
+ */
166
+ upper;
167
+ /**
168
+ * The scoped {@link Variable}s of this scope.
169
+ * In the case of a 'function' scope this includes the automatic argument `arguments` as its first element, as well
170
+ * as all further formal arguments.
171
+ * This does not include variables which are defined in child scopes.
172
+ * @public
173
+ */
174
+ variables = [];
175
+ /**
176
+ * For scopes that can contain variable declarations, this is a self-reference.
177
+ * For other scope types this is the *variableScope* value of the parent scope.
178
+ * @public
179
+ */
180
+ variableScope;
114
181
  constructor(scopeManager, type, upperScope, block, isMethodDefinition) {
115
- /**
116
- * A unique ID for this instance - primarily used to help debugging and testing
117
- */
118
- this.$id = generator();
119
- /**
120
- * The array of child scopes. This does not include grandchild scopes.
121
- * @public
122
- */
123
- this.childScopes = [];
124
- /**
125
- * A map of the variables for each node in this scope.
126
- * This is map is a pointer to the one in the parent ScopeManager instance
127
- */
128
- _ScopeBase_declaredVariables.set(this, void 0);
129
- /**
130
- * Generally, through the lexical scoping of JS you can always know which variable an identifier in the source code
131
- * refers to. There are a few exceptions to this rule. With `global` and `with` scopes you can only decide at runtime
132
- * which variable a reference refers to.
133
- * All those scopes are considered "dynamic".
134
- */
135
- _ScopeBase_dynamic.set(this, void 0);
136
- /**
137
- * Whether this scope is created by a FunctionExpression.
138
- * @public
139
- */
140
- this.functionExpressionScope = false;
141
- /**
142
- * List of {@link Reference}s that are left to be resolved (i.e. which
143
- * need to be linked to the variable they refer to).
144
- */
145
- this.leftToResolve = [];
146
- /**
147
- * Any variable {@link Reference} found in this scope.
148
- * This includes occurrences of local variables as well as variables from parent scopes (including the global scope).
149
- * For local variables this also includes defining occurrences (like in a 'var' statement).
150
- * In a 'function' scope this does not include the occurrences of the formal parameter in the parameter list.
151
- * @public
152
- */
153
- this.references = [];
154
- /**
155
- * The map from variable names to variable objects.
156
- * @public
157
- */
158
- this.set = new Map();
159
- /**
160
- * The {@link Reference}s that are not resolved with this scope.
161
- * @public
162
- */
163
- this.through = [];
164
- /**
165
- * The scoped {@link Variable}s of this scope.
166
- * In the case of a 'function' scope this includes the automatic argument `arguments` as its first element, as well
167
- * as all further formal arguments.
168
- * This does not include variables which are defined in child scopes.
169
- * @public
170
- */
171
- this.variables = [];
172
- _ScopeBase_staticCloseRef.set(this, (ref) => {
173
- const resolve = () => {
174
- const name = ref.identifier.name;
175
- const variable = this.set.get(name);
176
- if (!variable) {
177
- return false;
178
- }
179
- if (!this.isValidResolution(ref, variable)) {
180
- return false;
181
- }
182
- // make sure we don't match a type reference to a value variable
183
- const isValidTypeReference = ref.isTypeReference && variable.isTypeVariable;
184
- const isValidValueReference = ref.isValueReference && variable.isValueVariable;
185
- if (!isValidTypeReference && !isValidValueReference) {
186
- return false;
187
- }
188
- variable.references.push(ref);
189
- ref.resolved = variable;
190
- return true;
191
- };
192
- if (!resolve()) {
193
- this.delegateToUpperScope(ref);
194
- }
195
- });
196
- _ScopeBase_dynamicCloseRef.set(this, (ref) => {
197
- // notify all names are through to global
198
- let current = this;
199
- do {
200
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
201
- current.through.push(ref);
202
- current = current.upper;
203
- /* eslint-enable @typescript-eslint/no-non-null-assertion */
204
- } while (current);
205
- });
206
- _ScopeBase_globalCloseRef.set(this, (ref, scopeManager) => {
207
- // let/const/class declarations should be resolved statically.
208
- // others should be resolved dynamically.
209
- if (this.shouldStaticallyCloseForGlobal(ref, scopeManager)) {
210
- __classPrivateFieldGet(this, _ScopeBase_staticCloseRef, "f").call(this, ref);
211
- }
212
- else {
213
- __classPrivateFieldGet(this, _ScopeBase_dynamicCloseRef, "f").call(this, ref);
214
- }
215
- });
216
182
  const upperScopeAsScopeBase = upperScope;
217
183
  this.type = type;
218
- __classPrivateFieldSet(this, _ScopeBase_dynamic, this.type === ScopeType_1.ScopeType.global || this.type === ScopeType_1.ScopeType.with, "f");
184
+ this.#dynamic =
185
+ this.type === ScopeType_1.ScopeType.global || this.type === ScopeType_1.ScopeType.with;
219
186
  this.block = block;
220
187
  this.variableScope = this.isVariableScope()
221
188
  ? this
@@ -229,14 +196,14 @@ class ScopeBase {
229
196
  this.isStrict = isStrictScope(this, block, isMethodDefinition);
230
197
  // this is guaranteed to be correct at runtime
231
198
  upperScopeAsScopeBase?.childScopes.push(this);
232
- __classPrivateFieldSet(this, _ScopeBase_declaredVariables, scopeManager.declaredVariables, "f");
199
+ this.#declaredVariables = scopeManager.declaredVariables;
233
200
  registerScope(scopeManager, this);
234
201
  }
235
202
  isVariableScope() {
236
203
  return VARIABLE_SCOPE_TYPES.has(this.type);
237
204
  }
238
205
  shouldStaticallyClose() {
239
- return !__classPrivateFieldGet(this, _ScopeBase_dynamic, "f");
206
+ return !this.#dynamic;
240
207
  }
241
208
  shouldStaticallyCloseForGlobal(ref, scopeManager) {
242
209
  // On global scope, let/const/class declarations should be resolved statically.
@@ -263,16 +230,60 @@ class ScopeBase {
263
230
  return true;
264
231
  }));
265
232
  }
233
+ #staticCloseRef = (ref) => {
234
+ const resolve = () => {
235
+ const name = ref.identifier.name;
236
+ const variable = this.set.get(name);
237
+ if (!variable) {
238
+ return false;
239
+ }
240
+ if (!this.isValidResolution(ref, variable)) {
241
+ return false;
242
+ }
243
+ // make sure we don't match a type reference to a value variable
244
+ const isValidTypeReference = ref.isTypeReference && variable.isTypeVariable;
245
+ const isValidValueReference = ref.isValueReference && variable.isValueVariable;
246
+ if (!isValidTypeReference && !isValidValueReference) {
247
+ return false;
248
+ }
249
+ variable.references.push(ref);
250
+ ref.resolved = variable;
251
+ return true;
252
+ };
253
+ if (!resolve()) {
254
+ this.delegateToUpperScope(ref);
255
+ }
256
+ };
257
+ #dynamicCloseRef = (ref) => {
258
+ // notify all names are through to global
259
+ let current = this;
260
+ do {
261
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
262
+ current.through.push(ref);
263
+ current = current.upper;
264
+ /* eslint-enable @typescript-eslint/no-non-null-assertion */
265
+ } while (current);
266
+ };
267
+ #globalCloseRef = (ref, scopeManager) => {
268
+ // let/const/class declarations should be resolved statically.
269
+ // others should be resolved dynamically.
270
+ if (this.shouldStaticallyCloseForGlobal(ref, scopeManager)) {
271
+ this.#staticCloseRef(ref);
272
+ }
273
+ else {
274
+ this.#dynamicCloseRef(ref);
275
+ }
276
+ };
266
277
  close(scopeManager) {
267
278
  let closeRef;
268
279
  if (this.shouldStaticallyClose()) {
269
- closeRef = __classPrivateFieldGet(this, _ScopeBase_staticCloseRef, "f");
280
+ closeRef = this.#staticCloseRef;
270
281
  }
271
282
  else if (this.type !== 'global') {
272
- closeRef = __classPrivateFieldGet(this, _ScopeBase_dynamicCloseRef, "f");
283
+ closeRef = this.#dynamicCloseRef;
273
284
  }
274
285
  else {
275
- closeRef = __classPrivateFieldGet(this, _ScopeBase_globalCloseRef, "f");
286
+ closeRef = this.#globalCloseRef;
276
287
  }
277
288
  // Try Resolving all references in this scope.
278
289
  (0, assert_1.assert)(this.leftToResolve);
@@ -295,10 +306,10 @@ class ScopeBase {
295
306
  if (node == null) {
296
307
  return;
297
308
  }
298
- let variables = __classPrivateFieldGet(this, _ScopeBase_declaredVariables, "f").get(node);
309
+ let variables = this.#declaredVariables.get(node);
299
310
  if (variables == null) {
300
311
  variables = [];
301
- __classPrivateFieldGet(this, _ScopeBase_declaredVariables, "f").set(node, variables);
312
+ this.#declaredVariables.set(node, variables);
302
313
  }
303
314
  if (!variables.includes(variable)) {
304
315
  variables.push(variable);
@@ -347,5 +358,4 @@ class ScopeBase {
347
358
  }
348
359
  }
349
360
  exports.ScopeBase = ScopeBase;
350
- _ScopeBase_declaredVariables = new WeakMap(), _ScopeBase_dynamic = new WeakMap(), _ScopeBase_staticCloseRef = new WeakMap(), _ScopeBase_dynamicCloseRef = new WeakMap(), _ScopeBase_globalCloseRef = new WeakMap();
351
361
  //# sourceMappingURL=ScopeBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeBase.js","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oDAA0D;AAE1D,sCAAmC;AAEnC,8CAA+C;AAC/C,8BAA0C;AAE1C,uDAIiC;AAEjC,0CAAuC;AAKvC,2CAAwC;AAGxC;;GAEG;AACH,SAAS,aAAa,CACpB,KAAY,EACZ,KAAoB,EACpB,kBAA2B;IAE3B,IAAI,IAAmE,CAAC;IAExE,qEAAqE;IACrE,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,KAAK;QAC9B,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,eAAe;QACxC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,YAAY;QACrC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,UAAU;QACnC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM;QAC/B,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM;QAC/B,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,QAAQ;QACjC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,IAAI,EAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,KAA+B,CAAC;QACrD,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,sBAAc,CAAC,uBAAuB;gBACzC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,cAAc,EAAE,CAAC;oBAC7D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;gBACzB,MAAM;YAER,KAAK,sBAAc,CAAC,OAAO;gBACzB,IAAI,GAAG,YAAY,CAAC;gBACpB,MAAM;YAER;gBACE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,GAAG,KAA6B,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,mBAAmB,EAAE,CAAC;YACrD,MAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAc,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,YAA0B,EAAE,KAAY;IAC7D,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,IAAA,sBAAiB,GAAE,CAAC;AAGtC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,qBAAS,CAAC,qBAAqB;IAC/B,qBAAS,CAAC,gBAAgB;IAC1B,qBAAS,CAAC,QAAQ;IAClB,qBAAS,CAAC,MAAM;IAChB,qBAAS,CAAC,MAAM;IAChB,qBAAS,CAAC,QAAQ;CACnB,CAAC,CAAC;AAGH,MAAe,SAAS;IAsFtB,YACE,YAA0B,EAC1B,IAAU,EACV,UAAiB,EACjB,KAAY,EACZ,kBAA2B;QAtF7B;;WAEG;QACa,QAAG,GAAW,SAAS,EAAE,CAAC;QAO1C;;;WAGG;QACa,gBAAW,GAAY,EAAE,CAAC;QAC1C;;;WAGG;QACM,+CAAuD;QAChE;;;;;WAKG;QACH,qCAAkB;QAClB;;;WAGG;QACa,4BAAuB,GAAY,KAAK,CAAC;QAMzD;;;WAGG;QACO,kBAAa,GAAuB,EAAE,CAAC;QACjD;;;;;;WAMG;QACa,eAAU,GAAgB,EAAE,CAAC;QAC7C;;;WAGG;QACa,QAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD;;;WAGG;QACa,YAAO,GAAgB,EAAE,CAAC;QAO1C;;;;;;WAMG;QACa,cAAS,GAAe,EAAE,CAAC;QAmF3C,oCAAkB,CAAC,GAAc,EAAQ,EAAE;YACzC,MAAM,OAAO,GAAG,GAAY,EAAE;gBAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC3C,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,gEAAgE;gBAChE,MAAM,oBAAoB,GACxB,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,cAAc,CAAC;gBACjD,MAAM,qBAAqB,GACzB,GAAG,CAAC,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC;gBACnD,IAAI,CAAC,oBAAoB,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACpD,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAExB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,EAAC;QAEF,qCAAmB,CAAC,GAAc,EAAQ,EAAE;YAC1C,yCAAyC;YACzC,IAAI,OAAO,GAAG,IAAoB,CAAC;YAEnC,GAAG,CAAC;gBACF,6DAA6D;gBAC7D,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,GAAG,OAAQ,CAAC,KAAK,CAAC;gBACzB,4DAA4D;YAC9D,CAAC,QAAQ,OAAO,EAAE;QACpB,CAAC,EAAC;QAEF,oCAAkB,CAAC,GAAc,EAAE,YAA0B,EAAQ,EAAE;YACrE,8DAA8D;YAC9D,yCAAyC;YACzC,IAAI,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC3D,uBAAA,IAAI,iCAAgB,MAApB,IAAI,EAAiB,GAAG,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,uBAAA,IAAI,kCAAiB,MAArB,IAAI,EAAkB,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,EAAC;QAzHA,MAAM,qBAAqB,GAAG,UAAU,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,uBAAA,IAAI,sBACF,IAAI,CAAC,IAAI,KAAK,qBAAS,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAS,CAAC,IAAI,MAAA,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE;YACzC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,oEAAoE;gBACpE,qBAAsB,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QAExB;;;WAGG;QACH,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAa,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAExE,8CAA8C;QAC9C,qBAAqB,EAAE,WAAW,CAAC,IAAI,CAAC,IAAa,CAAC,CAAC;QAEvD,uBAAA,IAAI,gCAAsB,YAAY,CAAC,iBAAiB,MAAA,CAAC;QAEzD,aAAa,CAAC,YAAY,EAAE,IAAa,CAAC,CAAC;IAC7C,CAAC;IAEO,eAAe;QACrB,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,qBAAqB;QAC1B,OAAO,CAAC,uBAAA,IAAI,0BAAS,CAAC;IACxB,CAAC;IAEO,8BAA8B,CACpC,GAAc,EACd,YAA0B;QAE1B,+EAA+E;QAC/E,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACf,CAAC;QACD,+BAA+B;QAE/B,oFAAoF;QACpF,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mEAAmE;QACnE,WAAW;QACX,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CACL,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,GAAG,CAAC,IAAI,KAAK,2BAAc,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACtE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAyDM,KAAK,CAAC,YAA0B;QACrC,IAAI,QAA8D,CAAC;QAEnE,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACjC,QAAQ,GAAG,uBAAA,IAAI,iCAAgB,CAAC;QAClC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,QAAQ,GAAG,uBAAA,IAAI,kCAAiB,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,uBAAA,IAAI,iCAAgB,CAAC;QAClC,CAAC;QAED,8CAA8C;QAC9C,IAAA,eAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACO,iBAAiB,CAAC,IAAe,EAAE,SAAmB;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAES,oBAAoB,CAAC,GAAc;QAC1C,IAAI,CAAC,KAA8B,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,0BAA0B,CAChC,QAAkB,EAClB,IAAsC;QAEtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,uBAAA,IAAI,oCAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,SAAS,GAAG,EAAE,CAAC;YACf,uBAAA,IAAI,oCAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAES,cAAc,CACtB,cAAiC,EACjC,GAA0B,EAC1B,SAAqB,EACrB,IAAgC,EAChC,GAAsB;QAEtB,MAAM,IAAI,GACR,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;QAC5E,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ;gBACN,OAAO,cAAc,KAAK,QAAQ;oBAChC,CAAC,CAAC,IAAI,mBAAQ,CAAC,IAAI,EAAE,IAAa,CAAC;oBACnC,CAAC,CAAC,cAAc,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,IAAyB,EAAE,GAAe;QAChE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;IAEM,uBAAuB,CAC5B,IAA4B,EAC5B,GAAe;QAEf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAEM,cAAc,CACnB,IAAkD,EAClD,SAAwB,yBAAa,CAAC,IAAI,EAC1C,SAAsC,EACtC,mBAAoD,EACpD,IAAI,GAAG,KAAK;QAEZ,MAAM,GAAG,GAAG,IAAI,qBAAS,CACvB,IAAI,EACJ,IAAa,EACb,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,IAAI,EACJ,6BAAiB,CAAC,KAAK,CACxB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,aAAa,CAAC,IAAyB;QAC5C,MAAM,GAAG,GAAG,IAAI,qBAAS,CACvB,IAAI,EACJ,IAAa,EACb,yBAAa,CAAC,IAAI,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,6BAAiB,CAAC,IAAI,CACvB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEM,sBAAsB,CAAC,IAAyB;QACrD,MAAM,GAAG,GAAG,IAAI,qBAAS,CACvB,IAAI,EACJ,IAAa,EACb,yBAAa,CAAC,IAAI,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,6BAAiB,CAAC,IAAI,GAAG,6BAAiB,CAAC,KAAK,CACjD,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACF;AAEQ,8BAAS"}
1
+ {"version":3,"file":"ScopeBase.js","sourceRoot":"","sources":["../../src/scope/ScopeBase.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,30 @@ const VariableBase_1 = require("./VariableBase");
7
7
  * This is declared her for consumers to use
8
8
  */
9
9
  class ESLintScopeVariable extends VariableBase_1.VariableBase {
10
+ /**
11
+ * Written to by ESLint.
12
+ * If this key exists, this variable is a global variable added by ESLint.
13
+ * If this is `true`, this variable can be assigned arbitrary values.
14
+ * If this is `false`, this variable is readonly.
15
+ */
16
+ writeable; // note that this isn't a typo - ESlint uses this spelling here
17
+ /**
18
+ * Written to by ESLint.
19
+ * This property is undefined if there are no globals directive comments.
20
+ * The array of globals directive comments which defined this global variable in the source code file.
21
+ */
22
+ eslintExplicitGlobal;
23
+ /**
24
+ * Written to by ESLint.
25
+ * The configured value in config files. This can be different from `variable.writeable` if there are globals directive comments.
26
+ */
27
+ eslintImplicitGlobalSetting;
28
+ /**
29
+ * Written to by ESLint.
30
+ * If this key exists, it is a global variable added by ESLint.
31
+ * If `true`, this global variable was defined by a globals directive comment in the source code file.
32
+ */
33
+ eslintExplicitGlobalComments;
10
34
  }
11
35
  exports.ESLintScopeVariable = ESLintScopeVariable;
12
36
  //# sourceMappingURL=ESLintScopeVariable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ESLintScopeVariable.js","sourceRoot":"","sources":["../../src/variable/ESLintScopeVariable.ts"],"names":[],"mappings":";;;AAEA,iDAA8C;AAE9C;;;GAGG;AACH,MAAM,mBAAoB,SAAQ,2BAAY;CA4B7C;AAEQ,kDAAmB"}
1
+ {"version":3,"file":"ESLintScopeVariable.js","sourceRoot":"","sources":["../../src/variable/ESLintScopeVariable.ts"],"names":[],"mappings":";;;AAEA,iDAA8C;AAE9C;;;GAGG;AACH,MAAM,mBAAoB,SAAQ,2BAAY;IAC5C;;;;;OAKG;IACI,SAAS,CAAW,CAAC,+DAA+D;IAE3F;;;;OAIG;IACI,oBAAoB,CAAW;IAEtC;;;OAGG;IACI,2BAA2B,CAA2B;IAE7D;;;;OAIG;IACI,4BAA4B,CAAsB;CAC1D;AAEQ,kDAAmB"}
@@ -6,6 +6,14 @@ const ESLintScopeVariable_1 = require("./ESLintScopeVariable");
6
6
  * An variable implicitly defined by the TS Lib
7
7
  */
8
8
  class ImplicitLibVariable extends ESLintScopeVariable_1.ESLintScopeVariable {
9
+ /**
10
+ * `true` if the variable is valid in a type context, false otherwise
11
+ */
12
+ isTypeVariable;
13
+ /**
14
+ * `true` if the variable is valid in a value context, false otherwise
15
+ */
16
+ isValueVariable;
9
17
  constructor(scope, name, { isTypeVariable, isValueVariable, writeable, eslintImplicitGlobalSetting, }) {
10
18
  super(name, scope);
11
19
  this.isTypeVariable = isTypeVariable ?? false;
@@ -1 +1 @@
1
- {"version":3,"file":"ImplicitLibVariable.js","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAU5D;;GAEG;AACH,MAAM,mBAAoB,SAAQ,yCAAmB;IAWnD,YACE,KAAY,EACZ,IAAY,EACZ,EACE,cAAc,EACd,eAAe,EACf,SAAS,EACT,2BAA2B,GACA;QAE7B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,2BAA2B;YAC9B,2BAA2B,IAAI,UAAU,CAAC;IAC9C,CAAC;CACF;AAEQ,kDAAmB"}
1
+ {"version":3,"file":"ImplicitLibVariable.js","sourceRoot":"","sources":["../../src/variable/ImplicitLibVariable.ts"],"names":[],"mappings":";;;AACA,+DAA4D;AAU5D;;GAEG;AACH,MAAM,mBAAoB,SAAQ,yCAAmB;IACnD;;OAEG;IACa,cAAc,CAAU;IAExC;;OAEG;IACa,eAAe,CAAU;IAEzC,YACE,KAAY,EACZ,IAAY,EACZ,EACE,cAAc,EACd,eAAe,EACf,SAAS,EACT,2BAA2B,GACA;QAE7B,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,2BAA2B;YAC9B,2BAA2B,IAAI,UAAU,CAAC;IAC9C,CAAC;CACF;AAEQ,kDAAmB"}
@@ -4,33 +4,42 @@ exports.VariableBase = void 0;
4
4
  const ID_1 = require("../ID");
5
5
  const generator = (0, ID_1.createIdGenerator)();
6
6
  class VariableBase {
7
+ /**
8
+ * A unique ID for this instance - primarily used to help debugging and testing
9
+ */
10
+ $id = generator();
11
+ /**
12
+ * The array of the definitions of this variable.
13
+ * @public
14
+ */
15
+ defs = [];
16
+ /**
17
+ * True if the variable is considered used for the purposes of `no-unused-vars`, false otherwise.
18
+ * @public
19
+ */
20
+ eslintUsed = false;
21
+ /**
22
+ * The array of `Identifier` nodes which define this variable.
23
+ * If this variable is redeclared, this array includes two or more nodes.
24
+ * @public
25
+ */
26
+ identifiers = [];
27
+ /**
28
+ * The variable name, as given in the source code.
29
+ * @public
30
+ */
31
+ name;
32
+ /**
33
+ * List of {@link Reference} of this variable (excluding parameter entries) in its defining scope and all nested scopes.
34
+ * For defining occurrences only see {@link Variable#defs}.
35
+ * @public
36
+ */
37
+ references = [];
38
+ /**
39
+ * Reference to the enclosing Scope.
40
+ */
41
+ scope;
7
42
  constructor(name, scope) {
8
- /**
9
- * A unique ID for this instance - primarily used to help debugging and testing
10
- */
11
- this.$id = generator();
12
- /**
13
- * The array of the definitions of this variable.
14
- * @public
15
- */
16
- this.defs = [];
17
- /**
18
- * True if the variable is considered used for the purposes of `no-unused-vars`, false otherwise.
19
- * @public
20
- */
21
- this.eslintUsed = false;
22
- /**
23
- * The array of `Identifier` nodes which define this variable.
24
- * If this variable is redeclared, this array includes two or more nodes.
25
- * @public
26
- */
27
- this.identifiers = [];
28
- /**
29
- * List of {@link Reference} of this variable (excluding parameter entries) in its defining scope and all nested scopes.
30
- * For defining occurrences only see {@link Variable#defs}.
31
- * @public
32
- */
33
- this.references = [];
34
43
  this.name = name;
35
44
  this.scope = scope;
36
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VariableBase.js","sourceRoot":"","sources":["../../src/variable/VariableBase.ts"],"names":[],"mappings":";;;AAGA,8BAA0C;AAI1C,MAAM,SAAS,GAAG,IAAA,sBAAiB,GAAE,CAAC;AAEtC,MAAM,YAAY;IAsChB,YAAY,IAAY,EAAE,KAAY;QArCtC;;WAEG;QACa,QAAG,GAAW,SAAS,EAAE,CAAC;QAE1C;;;WAGG;QACa,SAAI,GAAiB,EAAE,CAAC;QACxC;;;WAGG;QACI,eAAU,GAAG,KAAK,CAAC;QAC1B;;;;WAIG;QACa,gBAAW,GAA0B,EAAE,CAAC;QAMxD;;;;WAIG;QACa,eAAU,GAAgB,EAAE,CAAC;QAO3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAEQ,oCAAY"}
1
+ {"version":3,"file":"VariableBase.js","sourceRoot":"","sources":["../../src/variable/VariableBase.ts"],"names":[],"mappings":";;;AAGA,8BAA0C;AAI1C,MAAM,SAAS,GAAG,IAAA,sBAAiB,GAAE,CAAC;AAEtC,MAAM,YAAY;IAChB;;OAEG;IACa,GAAG,GAAW,SAAS,EAAE,CAAC;IAE1C;;;OAGG;IACa,IAAI,GAAiB,EAAE,CAAC;IACxC;;;OAGG;IACI,UAAU,GAAG,KAAK,CAAC;IAC1B;;;;OAIG;IACa,WAAW,GAA0B,EAAE,CAAC;IACxD;;;OAGG;IACa,IAAI,CAAS;IAC7B;;;;OAIG;IACa,UAAU,GAAgB,EAAE,CAAC;IAC7C;;OAEG;IACa,KAAK,CAAQ;IAE7B,YAAY,IAAY,EAAE,KAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAEQ,oCAAY"}
@@ -1,4 +1,7 @@
1
+ import type { ESLintScopeVariable } from './ESLintScopeVariable';
2
+ import type { Variable } from './Variable';
1
3
  export { ESLintScopeVariable } from './ESLintScopeVariable';
2
4
  export { ImplicitLibVariable, ImplicitLibVariableOptions, } from './ImplicitLibVariable';
3
5
  export { Variable } from './Variable';
6
+ export type ScopeVariable = Variable | ESLintScopeVariable;
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/variable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/variable/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variable/index.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6DAG+B;AAF7B,0HAAA,mBAAmB,OAAA;AAGrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variable/index.ts"],"names":[],"mappings":";;;AAGA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6DAG+B;AAF7B,0HAAA,mBAAmB,OAAA;AAGrB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}