@@ -110,7 +110,8 @@ module.exports = {
110
110
111
111
// handle "unused" mode
112
112
if ( ! noneUnusedMode ) {
113
- let scope = context . getScope ( ) ;
113
+ let sourceCode = getSourceCode ( context ) ;
114
+ let scope = getScope ( context , sourceCode , node ) ;
114
115
let checkParamNames = checkParamIds . map ( function getName ( paramId ) {
115
116
return paramId . name ;
116
117
} ) ;
@@ -301,7 +302,9 @@ module.exports = {
301
302
return ;
302
303
}
303
304
304
- var globalArrow = currentlyInGlobalScope ( context . parserOptions , context . getScope ( ) ) ;
305
+ var sourceCode = getSourceCode ( context ) ;
306
+ var scope = getScope ( context , sourceCode , node ) ;
307
+ var globalArrow = currentlyInGlobalScope ( context . parserOptions , scope ) ;
305
308
var globalArrowDeclaration = (
306
309
globalArrow &&
307
310
node . parent . type == "VariableDeclarator"
@@ -414,12 +417,13 @@ module.exports = {
414
417
var sequenceMode = defaultsOnly || ! ( "sequence" in extraOptions ) || extraOptions . sequence === true ;
415
418
var ignoreTrivial = ! ( extraOptions && extraOptions . trivial === true ) ;
416
419
417
- var sourceCode = context . getSourceCode ( ) ;
420
+ var sourceCode = getSourceCode ( context ) ;
418
421
var ternaryBodyStack = new Map ( ) ;
419
422
420
423
return {
421
424
"ConditionalExpression:exit" : function exit ( node ) {
422
- var parentArrow = getParentArrowFunction ( context . getAncestors ( ) , /*onlyFromBody=*/ true ) ;
425
+ var ancestors = getAncestors ( context , sourceCode , node ) ;
426
+ var parentArrow = getParentArrowFunction ( ancestors , /*onlyFromBody=*/ true ) ;
423
427
if ( parentArrow ) {
424
428
if ( ! ternaryBodyStack . has ( parentArrow ) ) {
425
429
ternaryBodyStack . set ( parentArrow , [ ] ) ;
@@ -562,7 +566,9 @@ module.exports = {
562
566
563
567
return {
564
568
"ThisExpression" : function enter ( node ) {
565
- var parentArrow = getParentArrowFunction ( context . getAncestors ( ) ) ;
569
+ var sourceCode = getSourceCode ( context ) ;
570
+ var ancestors = getAncestors ( context , sourceCode , node ) ;
571
+ var parentArrow = getParentArrowFunction ( ancestors ) ;
566
572
thisFoundIn . add ( parentArrow ) ;
567
573
} ,
568
574
"ArrowFunctionExpression:exit" : function exit ( node ) {
@@ -571,7 +577,9 @@ module.exports = {
571
577
return ;
572
578
}
573
579
574
- var globalArrow = currentlyInGlobalScope ( context . parserOptions , context . getScope ( ) ) ;
580
+ var sourceCode = getSourceCode ( context ) ;
581
+ var scope = getScope ( context , sourceCode , node ) ;
582
+ var globalArrow = currentlyInGlobalScope ( context . parserOptions , scope ) ;
575
583
var foundThis = thisFoundIn . has ( node ) ;
576
584
577
585
// `this` found in arrow function?
@@ -605,7 +613,8 @@ module.exports = {
605
613
606
614
// need to track nested `this`?
607
615
if ( nestedThis || neverGlobalThis ) {
608
- let parentArrow = getParentArrowFunction ( context . getAncestors ( ) ) ;
616
+ let ancestors = getAncestors ( context , sourceCode , node ) ;
617
+ let parentArrow = getParentArrowFunction ( ancestors ) ;
609
618
if ( parentArrow ) {
610
619
thisFoundIn . add ( parentArrow ) ;
611
620
}
@@ -801,3 +810,26 @@ function currentlyInGlobalScope(parserOptions,scope) {
801
810
)
802
811
) ;
803
812
}
813
+
814
+ var getSourceCode = ( context ) => {
815
+ getSourceCode = ( context ) => context . sourceCode ?? context . getSourceCode ( ) ;
816
+ return getSourceCode ( context ) ;
817
+ } ;
818
+
819
+ var getScope = ( context , sourceCode , node ) => {
820
+ getScope = (
821
+ sourceCode . getScope ?
822
+ ( context , sourceCode , node ) => sourceCode . getScope ( node ) :
823
+ ( context , sourceCode , node ) => context . getScope ( )
824
+ ) ;
825
+ return getScope ( context , sourceCode , node ) ;
826
+ } ;
827
+
828
+ var getAncestors = ( context , sourceCode , node ) => {
829
+ getAncestors = (
830
+ sourceCode . getAncestors ?
831
+ ( context , sourceCode , node ) => sourceCode . getAncestors ( node ) :
832
+ ( context , sourceCode , node ) => context . getAncestors ( )
833
+ ) ;
834
+ return getAncestors ( context , sourceCode , node ) ;
835
+ } ;
0 commit comments