@@ -13,14 +13,10 @@ abstract class NameSpace {
1313 /// Returns the [LookupResult] for the [Builder] s of the given [name] in the
1414 /// name space.
1515 ///
16- /// If [staticOnly] is `true` , instance members are not returned.
17- ///
1816 /// If the [Builder] s are duplicates, an [AmbiguousBuilder] is created for
1917 /// the access, using the [fileUri] and [fileOffset] .
2018 LookupResult ? lookupLocal (String name,
21- {required Uri fileUri,
22- required int fileOffset,
23- required bool staticOnly});
19+ {required Uri fileUri, required int fileOffset});
2420
2521 /// Returns the [LookupResult] for the [Builder] s of the given [name] in the
2622 /// name space.
@@ -57,49 +53,27 @@ abstract class ComputedMutableNameSpace
5753}
5854
5955abstract class DeclarationNameSpace implements NameSpace {
60- MemberLookupResult ? lookupConstructor (String name);
61- }
62-
63- abstract class MutableDeclarationNameSpace
64- implements DeclarationNameSpace , MutableNameSpace {
65- void addConstructor (String name, MemberLookupResult builder);
66- }
67-
68- base class NameSpaceImpl implements MutableNameSpace {
69- Map <String , LookupResult >? _content;
70- Set <ExtensionBuilder >? _extensions;
56+ final Map <String , MemberLookupResult > _content;
57+ final Map <String , MemberLookupResult > _constructors;
7158
72- NameSpaceImpl ._(
73- {Map <String , LookupResult >? content, Set <ExtensionBuilder >? extensions})
59+ DeclarationNameSpace (
60+ {required Map <String , MemberLookupResult > content,
61+ required Map <String , MemberLookupResult > constructors})
7462 : _content = content,
75- _extensions = extensions ;
63+ _constructors = constructors ;
7664
7765 @override
78- void addLocalMember (String name, NamedBuilder member,
79- {required bool setter}) {
80- LookupResult .addNamedBuilder (_content ?? = {}, name, member, setter: setter);
81- }
66+ void forEachLocalExtension (void Function (ExtensionBuilder member) f) {}
8267
8368 @override
84- // Coverage-ignore(suite): Not run.
85- void forEachLocalExtension (void Function (ExtensionBuilder member) f) {
86- _extensions? .forEach (f);
87- }
69+ MemberLookupResult ? lookupLocal (String name,
70+ {required Uri fileUri, required int fileOffset}) =>
71+ _content[name];
8872
8973 @override
90- LookupResult ? lookupLocal (String name,
91- {required Uri fileUri,
92- required int fileOffset,
93- required bool staticOnly}) {
94- return LookupResult .createProcessedResult (_content? [name],
95- name: name,
96- fileUri: fileUri,
97- fileOffset: fileOffset,
98- staticOnly: staticOnly);
99- }
74+ MemberLookupResult ? lookupLocalMember (String name) => _content[name];
10075
101- @override
102- LookupResult ? lookupLocalMember (String name) => _content? [name];
76+ MemberLookupResult ? lookupConstructor (String name) => _constructors[name];
10377}
10478
10579base class ComputedMutableNameSpaceImpl implements ComputedMutableNameSpace {
@@ -207,31 +181,25 @@ base class ComputedMutableNameSpaceImpl implements ComputedMutableNameSpace {
207181
208182 @override
209183 LookupResult ? lookupLocal (String name,
210- {required Uri fileUri,
211- required int fileOffset,
212- required bool staticOnly}) {
184+ {required Uri fileUri, required int fileOffset}) {
213185 return LookupResult .createProcessedResult (_content? [name],
214- name: name,
215- fileUri: fileUri,
216- fileOffset: fileOffset,
217- staticOnly: staticOnly);
186+ name: name, fileUri: fileUri, fileOffset: fileOffset);
218187 }
219188
220189 @override
221190 LookupResult ? lookupLocalMember (String name) => _content? [name];
222191}
223192
224- final class SourceLibraryNameSpace implements NameSpace {
193+ final class LibraryNameSpace implements NameSpace {
225194 final Map <String , LookupResult > _content;
226- Set <ExtensionBuilder >? _extensions;
195+ final Set <ExtensionBuilder >? _extensions;
227196
228- SourceLibraryNameSpace (
197+ LibraryNameSpace (
229198 {required Map <String , LookupResult > content,
230199 required Set <ExtensionBuilder > extensions})
231200 : _content = content,
232201 _extensions = extensions;
233202
234- // Coverage-ignore(suite): Not run.
235203 void addLocalMember (String name, LookupResult member) {
236204 assert (! _content.containsKey (name),
237205 "Unexpected replacement of ${_content [name ]} by $member ." );
@@ -245,9 +213,7 @@ final class SourceLibraryNameSpace implements NameSpace {
245213
246214 @override
247215 LookupResult ? lookupLocal (String name,
248- {required Uri fileUri,
249- required int fileOffset,
250- required bool staticOnly}) {
216+ {required Uri fileUri, required int fileOffset}) {
251217 return _content[name];
252218 }
253219
@@ -325,37 +291,15 @@ String? areNameSpacesEquivalent(
325291 return sb.toString ();
326292}
327293
328- abstract base class DeclarationNameSpaceBase extends NameSpaceImpl
329- implements DeclarationNameSpace , MutableDeclarationNameSpace {
330- Map <String , MemberLookupResult >? _constructors;
331-
332- DeclarationNameSpaceBase ._(
333- {super .content,
334- super .extensions,
335- Map <String , MemberLookupResult >? constructors})
336- : _constructors = constructors,
337- super ._();
338-
339- @override
340- void addConstructor (String name, MemberLookupResult constructor) {
341- (_constructors ?? = {})[name] = constructor;
342- }
343-
344- @override
345- MemberLookupResult ? lookupConstructor (String name) => _constructors? [name];
346- }
347-
348- final class SourceDeclarationNameSpace implements DeclarationNameSpace {
349- final Map <String , MemberLookupResult > _content;
350- final Map <String , MemberLookupResult > _constructors;
351-
294+ final class SourceDeclarationNameSpace extends DeclarationNameSpace {
352295 SourceDeclarationNameSpace (
353- {required Map <String , MemberLookupResult > content,
354- required Map <String , MemberLookupResult > constructors})
355- : _content = content,
356- _constructors = constructors;
296+ {required super .content, required super .constructors});
357297
358298 void addConstructor (String name, MemberLookupResult constructor) {
299+ assert (
300+ ! _constructors.containsKey (name),
301+ "Unexpected existing constructor ${_constructors [name ]}, "
302+ "trying to add ${constructor }." );
359303 _constructors[name] = constructor;
360304 }
361305
@@ -364,35 +308,11 @@ final class SourceDeclarationNameSpace implements DeclarationNameSpace {
364308 "Unexpected replacement of ${_content [name ]} by $member ." );
365309 _content[name] = member;
366310 }
367-
368- @override
369- void forEachLocalExtension (void Function (ExtensionBuilder member) f) {}
370-
371- @override
372- MemberLookupResult ? lookupLocal (String name,
373- {required Uri fileUri,
374- required int fileOffset,
375- required bool staticOnly}) {
376- MemberLookupResult ? result = _content[name];
377- if (staticOnly && result != null && ! result.isStatic) {
378- result = null ;
379- }
380- return result;
381- }
382-
383- @override
384- LookupResult ? lookupLocalMember (String name) => _content[name];
385-
386- @override
387- MemberLookupResult ? lookupConstructor (String name) => _constructors[name];
388- }
389-
390- final class DillDeclarationNameSpace extends DeclarationNameSpaceBase {
391- DillDeclarationNameSpace () : super ._();
392311}
393312
394- final class DillLibraryNameSpace extends ComputedMutableNameSpaceImpl {
395- DillLibraryNameSpace () : super ._();
313+ final class DillDeclarationNameSpace extends DeclarationNameSpace {
314+ DillDeclarationNameSpace (
315+ {required super .content, required super .constructors});
396316}
397317
398318final class DillExportNameSpace extends ComputedMutableNameSpaceImpl {
0 commit comments