@@ -76,30 +76,31 @@ sealed class AbstractAnalysisRule {
7676 RuleContext context,
7777 ) {}
7878
79- void _reportAtNode (
79+ Diagnostic ? _reportAtNode (
8080 AstNode ? node, {
8181 List <Object > arguments = const [],
8282 List <DiagnosticMessage >? contextMessages,
8383 required DiagnosticCode diagnosticCode,
8484 }) {
8585 if (node != null && ! node.isSynthetic) {
86- _reporter.atNode (
86+ return _reporter.atNode (
8787 node,
8888 diagnosticCode,
8989 arguments: arguments,
9090 contextMessages: contextMessages,
9191 );
9292 }
93+ return null ;
9394 }
9495
95- void _reportAtOffset (
96+ Diagnostic _reportAtOffset (
9697 int offset,
9798 int length, {
9899 required DiagnosticCode diagnosticCode,
99100 List <Object > arguments = const [],
100101 List <DiagnosticMessage >? contextMessages,
101102 }) {
102- _reporter.atOffset (
103+ return _reporter.atOffset (
103104 offset: offset,
104105 length: length,
105106 diagnosticCode: diagnosticCode,
@@ -108,7 +109,7 @@ sealed class AbstractAnalysisRule {
108109 );
109110 }
110111
111- void _reportAtPubNode (
112+ Diagnostic _reportAtPubNode (
112113 PubspecNodeImpl node, {
113114 List <Object > arguments = const [],
114115 List <DiagnosticMessage > contextMessages = const [],
@@ -124,22 +125,24 @@ sealed class AbstractAnalysisRule {
124125 contextMessages: contextMessages,
125126 );
126127 _reporter.reportError (diagnostic);
128+ return diagnostic;
127129 }
128130
129- void _reportAtToken (
131+ Diagnostic ? _reportAtToken (
130132 Token token, {
131133 required DiagnosticCode diagnosticCode,
132134 List <Object > arguments = const [],
133135 List <DiagnosticMessage >? contextMessages,
134136 }) {
135137 if (! token.isSynthetic) {
136- _reporter.atToken (
138+ return _reporter.atToken (
137139 token,
138140 diagnosticCode,
139141 arguments: arguments,
140142 contextMessages: contextMessages,
141143 );
142144 }
145+ return null ;
143146 }
144147}
145148
@@ -156,7 +159,7 @@ abstract class AnalysisRule extends AbstractAnalysisRule {
156159
157160 /// Reports a diagnostic at [node] with message [arguments] and
158161 /// [contextMessages] .
159- void reportAtNode (
162+ Diagnostic ? reportAtNode (
160163 AstNode ? node, {
161164 List <Object > arguments = const [],
162165 List <DiagnosticMessage >? contextMessages,
@@ -169,7 +172,7 @@ abstract class AnalysisRule extends AbstractAnalysisRule {
169172
170173 /// Reports a diagnostic at [offset] , with [length] , with message [arguments]
171174 /// and [contextMessages] .
172- void reportAtOffset (
175+ Diagnostic reportAtOffset (
173176 int offset,
174177 int length, {
175178 List <Object > arguments = const [],
@@ -184,7 +187,7 @@ abstract class AnalysisRule extends AbstractAnalysisRule {
184187
185188 /// Reports a diagnostic at Pubspec [node] , with message [arguments] and
186189 /// [contextMessages] .
187- void reportAtPubNode (
190+ Diagnostic reportAtPubNode (
188191 PubspecNode node, {
189192 List <Object > arguments = const [],
190193 List <DiagnosticMessage > contextMessages = const [],
@@ -197,7 +200,7 @@ abstract class AnalysisRule extends AbstractAnalysisRule {
197200
198201 /// Reports a diagnostic at [token] , with message [arguments] and
199202 /// [contextMessages] .
200- void reportAtToken (
203+ Diagnostic ? reportAtToken (
201204 Token token, {
202205 List <Object > arguments = const [],
203206 List <DiagnosticMessage >? contextMessages,
@@ -220,7 +223,7 @@ abstract class MultiAnalysisRule extends AbstractAnalysisRule {
220223
221224 /// Reports [diagnosticCode] at [node] with message [arguments] and
222225 /// [contextMessages] .
223- void reportAtNode (
226+ Diagnostic ? reportAtNode (
224227 AstNode ? node, {
225228 List <Object > arguments = const [],
226229 List <DiagnosticMessage >? contextMessages,
@@ -234,7 +237,7 @@ abstract class MultiAnalysisRule extends AbstractAnalysisRule {
234237
235238 /// Reports [diagnosticCode] at [offset] , with [length] , with message [arguments]
236239 /// and [contextMessages] .
237- void reportAtOffset (
240+ Diagnostic reportAtOffset (
238241 int offset,
239242 int length, {
240243 required DiagnosticCode diagnosticCode,
@@ -250,27 +253,28 @@ abstract class MultiAnalysisRule extends AbstractAnalysisRule {
250253
251254 /// Reports [diagnosticCode] at Pubspec [node] , with message [arguments] and
252255 /// [contextMessages] .
253- void reportAtPubNode (
256+ Diagnostic reportAtPubNode (
254257 PubspecNode node, {
255258 required DiagnosticCode diagnosticCode,
256259 List <Object > arguments = const [],
257260 List <DiagnosticMessage > contextMessages = const [],
258261 }) {
259- // Cache error and location info for creating `AnalysisErrorInfo`s.
260- var error = Diagnostic .tmp (
262+ // Cache diagnostic and location info for creating `AnalysisErrorInfo`s.
263+ var diagnostic = Diagnostic .tmp (
261264 source: (node as PubspecNodeImpl ).source,
262265 offset: node.span.start.offset,
263266 length: node.span.length,
264267 diagnosticCode: diagnosticCode,
265268 arguments: arguments,
266269 contextMessages: contextMessages,
267270 );
268- _reporter.reportError (error);
271+ _reporter.reportError (diagnostic);
272+ return diagnostic;
269273 }
270274
271275 /// Reports [diagnosticCode] at [token] , with message [arguments] and
272276 /// [contextMessages] .
273- void reportAtToken (
277+ Diagnostic ? reportAtToken (
274278 Token token, {
275279 required DiagnosticCode diagnosticCode,
276280 List <Object > arguments = const [],
0 commit comments