@@ -93,7 +93,52 @@ const COMMENT: Comment = {
9393
9494// #region SourceCode
9595
96- let sourceCode = new SourceCode ( SOURCE , AST ) ;
96+ let sourceCode : SourceCode ;
97+
98+ sourceCode = new SourceCode ( SOURCE , AST ) ;
99+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST } ) ;
100+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , hasBOM : true } ) ;
101+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , hasBOM : undefined } ) ;
102+ sourceCode = new SourceCode ( {
103+ text : SOURCE ,
104+ ast : AST ,
105+ parserServices : {
106+ foo ( ) { } ,
107+ } ,
108+ } ) ;
109+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , parserServices : null } ) ;
110+ sourceCode = new SourceCode ( {
111+ text : SOURCE ,
112+ ast : AST ,
113+ parserServices : undefined ,
114+ } ) ;
115+ sourceCode = new SourceCode ( {
116+ text : SOURCE ,
117+ ast : AST ,
118+ scopeManager : {
119+ scopes : [ ] ,
120+ globalScope : null ,
121+ acquire ( node , inner ) {
122+ return scopeManager . scopes [ 0 ] ;
123+ } ,
124+ getDeclaredVariables ( ) {
125+ return [ ] ;
126+ } ,
127+ } ,
128+ } ) ;
129+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , scopeManager : null } ) ;
130+ sourceCode = new SourceCode ( {
131+ text : SOURCE ,
132+ ast : AST ,
133+ scopeManager : undefined ,
134+ } ) ;
135+ sourceCode = new SourceCode ( {
136+ text : SOURCE ,
137+ ast : AST ,
138+ visitorKeys : { ArrayExpression : [ "elements" ] } ,
139+ } ) ;
140+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , visitorKeys : null } ) ;
141+ sourceCode = new SourceCode ( { text : SOURCE , ast : AST , visitorKeys : undefined } ) ;
97142
98143SourceCode . splitLines ( SOURCE ) ;
99144
@@ -113,6 +158,8 @@ sourceCode.getNodeByRangeIndex(0);
113158sourceCode . getNodeByRangeIndex ( 0 ) ;
114159
115160sourceCode . isSpaceBetweenTokens ( TOKEN , TOKEN ) ;
161+ sourceCode . isSpaceBetweenTokens ( AST , TOKEN ) ;
162+ sourceCode . isSpaceBetweenTokens ( TOKEN , AST ) ;
116163
117164sourceCode . isSpaceBetween ( TOKEN , TOKEN ) ;
118165sourceCode . isSpaceBetween ( AST , TOKEN ) ;
@@ -292,6 +339,16 @@ sourceCode.getTokensAfter(AST, {
292339sourceCode . getTokensAfter ( TOKEN , 0 ) ;
293340sourceCode . getTokensAfter ( COMMENT , 0 ) ;
294341
342+ sourceCode . getTokenOrCommentBefore ( AST ) ;
343+ sourceCode . getTokenOrCommentBefore ( AST , 0 ) ;
344+ sourceCode . getTokenOrCommentBefore ( TOKEN , 0 ) ;
345+ sourceCode . getTokenOrCommentBefore ( COMMENT , 0 ) ;
346+
347+ sourceCode . getTokenOrCommentAfter ( AST ) ;
348+ sourceCode . getTokenOrCommentAfter ( AST , 0 ) ;
349+ sourceCode . getTokenOrCommentAfter ( TOKEN , 0 ) ;
350+ sourceCode . getTokenOrCommentAfter ( COMMENT , 0 ) ;
351+
295352sourceCode . getFirstTokenBetween ( AST , AST ) ; // $ExpectType Token | null
296353sourceCode . getFirstTokenBetween ( AST , AST , 0 ) ;
297354sourceCode . getFirstTokenBetween ( AST , AST , { skip : 0 } ) ;
@@ -2046,6 +2103,18 @@ ruleTester.run("simple-valid-test", rule2, {
20462103 } ,
20472104} ) ;
20482105
2106+ interface CustomParserServices {
2107+ program : any ;
2108+ }
2109+
2110+ ( parserServices : CustomParserServices ) : Linter . Config => ( {
2111+ languageOptions : {
2112+ parser : {
2113+ parseForESLint : ( ) => ( { ast : AST , services : parserServices } ) ,
2114+ } ,
2115+ } ,
2116+ } ) ;
2117+
20492118( ) : Linter . Config => ( {
20502119 languageOptions : {
20512120 // @ts -expect-error
0 commit comments