@@ -153,6 +153,9 @@ Builder? normalizeLookup(
153153 required String classNameOrDebugName,
154154 required bool isSetter,
155155 bool forStaticAccess = false }) {
156+ if (getable == null && setable == null ) {
157+ return null ;
158+ }
156159 Builder ? thisBuilder;
157160 Builder ? otherBuilder;
158161 if (isSetter) {
@@ -230,8 +233,12 @@ mixin LookupScopeMixin implements LookupScope {
230233
231234 Builder ? lookupGetableIn (
232235 String name, int charOffset, Uri fileUri, Map <String , Builder > getables) {
236+ Builder ? getable = getables[name];
237+ if (getable == null ) {
238+ return null ;
239+ }
233240 return normalizeLookup (
234- getable: getables[name] ,
241+ getable: getable ,
235242 setable: null ,
236243 name: name,
237244 charOffset: charOffset,
@@ -242,8 +249,13 @@ mixin LookupScopeMixin implements LookupScope {
242249
243250 Builder ? lookupSetableIn (String name, int charOffset, Uri fileUri,
244251 Map <String , Builder >? getables) {
252+ Builder ? getable = getables? [name];
253+ if (getable == null ) {
254+ return null ;
255+ }
256+ // Coverage-ignore(suite): Not run.
245257 return normalizeLookup (
246- getable: getables ? [name] ,
258+ getable: getable ,
247259 setable: null ,
248260 name: name,
249261 charOffset: charOffset,
@@ -271,27 +283,37 @@ abstract class BaseNameSpaceLookupScope implements LookupScope {
271283
272284 @override
273285 Builder ? lookupGetable (String name, int charOffset, Uri fileUri) {
274- Builder ? builder = normalizeLookup (
275- getable: _nameSpace.lookupLocalMember (name, setter: false ),
276- setable: _nameSpace.lookupLocalMember (name, setter: true ),
277- name: name,
278- charOffset: charOffset,
279- fileUri: fileUri,
280- classNameOrDebugName: classNameOrDebugName,
281- isSetter: false );
286+ Builder ? getable = _nameSpace.lookupLocalMember (name, setter: false );
287+ Builder ? setable = _nameSpace.lookupLocalMember (name, setter: true );
288+ Builder ? builder;
289+ if (getable != null || setable != null ) {
290+ builder = normalizeLookup (
291+ getable: getable,
292+ setable: setable,
293+ name: name,
294+ charOffset: charOffset,
295+ fileUri: fileUri,
296+ classNameOrDebugName: classNameOrDebugName,
297+ isSetter: false );
298+ }
282299 return builder ?? _parent? .lookupGetable (name, charOffset, fileUri);
283300 }
284301
285302 @override
286303 Builder ? lookupSetable (String name, int charOffset, Uri fileUri) {
287- Builder ? builder = normalizeLookup (
288- getable: _nameSpace.lookupLocalMember (name, setter: false ),
289- setable: _nameSpace.lookupLocalMember (name, setter: true ),
290- name: name,
291- charOffset: charOffset,
292- fileUri: fileUri,
293- classNameOrDebugName: classNameOrDebugName,
294- isSetter: true );
304+ Builder ? getable = _nameSpace.lookupLocalMember (name, setter: false );
305+ Builder ? setable = _nameSpace.lookupLocalMember (name, setter: true );
306+ Builder ? builder;
307+ if (getable != null || setable != null ) {
308+ builder = normalizeLookup (
309+ getable: getable,
310+ setable: setable,
311+ name: name,
312+ charOffset: charOffset,
313+ fileUri: fileUri,
314+ classNameOrDebugName: classNameOrDebugName,
315+ isSetter: true );
316+ }
295317 return builder ?? _parent? .lookupSetable (name, charOffset, fileUri);
296318 }
297319
@@ -330,27 +352,36 @@ abstract class AbstractTypeParameterScope implements LookupScope {
330352
331353 @override
332354 Builder ? lookupGetable (String name, int charOffset, Uri fileUri) {
333- Builder ? builder = normalizeLookup (
334- getable: getTypeParameter (name),
335- setable: null ,
336- name: name,
337- charOffset: charOffset,
338- fileUri: fileUri,
339- classNameOrDebugName: classNameOrDebugName,
340- isSetter: false );
355+ Builder ? typeParameter = getTypeParameter (name);
356+ Builder ? builder;
357+ if (typeParameter != null ) {
358+ builder = normalizeLookup (
359+ getable: typeParameter,
360+ setable: null ,
361+ name: name,
362+ charOffset: charOffset,
363+ fileUri: fileUri,
364+ classNameOrDebugName: classNameOrDebugName,
365+ isSetter: false );
366+ }
341367 return builder ?? _parent.lookupGetable (name, charOffset, fileUri);
342368 }
343369
344370 @override
345371 Builder ? lookupSetable (String name, int charOffset, Uri fileUri) {
346- Builder ? builder = normalizeLookup (
347- getable: getTypeParameter (name),
348- setable: null ,
349- name: name,
350- charOffset: charOffset,
351- fileUri: fileUri,
352- classNameOrDebugName: classNameOrDebugName,
353- isSetter: true );
372+ Builder ? typeParameter = getTypeParameter (name);
373+ Builder ? builder;
374+ if (typeParameter != null ) {
375+ // Coverage-ignore-block(suite): Not run.
376+ builder = normalizeLookup (
377+ getable: typeParameter,
378+ setable: null ,
379+ name: name,
380+ charOffset: charOffset,
381+ fileUri: fileUri,
382+ classNameOrDebugName: classNameOrDebugName,
383+ isSetter: true );
384+ }
354385 return builder ?? _parent.lookupSetable (name, charOffset, fileUri);
355386 }
356387
@@ -404,27 +435,37 @@ class FixedLookupScope implements LookupScope {
404435
405436 @override
406437 Builder ? lookupGetable (String name, int charOffset, Uri fileUri) {
407- Builder ? builder = normalizeLookup (
408- getable: _getables? [name],
409- setable: _setables? [name],
410- name: name,
411- charOffset: charOffset,
412- fileUri: fileUri,
413- classNameOrDebugName: classNameOrDebugName,
414- isSetter: false );
438+ Builder ? getable = _getables? [name];
439+ Builder ? setable = _setables? [name];
440+ Builder ? builder;
441+ if (getable != null || setable != null ) {
442+ builder = normalizeLookup (
443+ getable: getable,
444+ setable: setable,
445+ name: name,
446+ charOffset: charOffset,
447+ fileUri: fileUri,
448+ classNameOrDebugName: classNameOrDebugName,
449+ isSetter: false );
450+ }
415451 return builder ?? _parent? .lookupGetable (name, charOffset, fileUri);
416452 }
417453
418454 @override
419455 Builder ? lookupSetable (String name, int charOffset, Uri fileUri) {
420- Builder ? builder = normalizeLookup (
421- getable: _getables? [name],
422- setable: _setables? [name],
423- name: name,
424- charOffset: charOffset,
425- fileUri: fileUri,
426- classNameOrDebugName: classNameOrDebugName,
427- isSetter: true );
456+ Builder ? getable = _getables? [name];
457+ Builder ? setable = _setables? [name];
458+ Builder ? builder;
459+ if (getable != null || setable != null ) {
460+ builder = normalizeLookup (
461+ getable: getable,
462+ setable: setable,
463+ name: name,
464+ charOffset: charOffset,
465+ fileUri: fileUri,
466+ classNameOrDebugName: classNameOrDebugName,
467+ isSetter: true );
468+ }
428469 return builder ?? _parent? .lookupSetable (name, charOffset, fileUri);
429470 }
430471
0 commit comments