@@ -204,13 +204,6 @@ abstract class ModelElement
204
204
e.kind == ElementKind .DYNAMIC ||
205
205
e.kind == ElementKind .NEVER );
206
206
207
- if (e.kind == ElementKind .DYNAMIC ) {
208
- return Dynamic (e, packageGraph);
209
- }
210
- if (e.kind == ElementKind .NEVER ) {
211
- return NeverType (e, packageGraph);
212
- }
213
-
214
207
Member ? originalMember;
215
208
// TODO(jcollins-g): Refactor object model to instantiate 'ModelMembers'
216
209
// for members?
@@ -220,12 +213,21 @@ abstract class ModelElement
220
213
}
221
214
222
215
// Return the cached ModelElement if it exists.
223
- var cachedModelElement = packageGraph.allConstructedModelElements[
224
- ConstructedModelElementsKey (e, library, enclosingContainer) ];
216
+ var key = ConstructedModelElementsKey (e, library, enclosingContainer);
217
+ var cachedModelElement = packageGraph.allConstructedModelElements[key ];
225
218
if (cachedModelElement != null ) {
226
219
return cachedModelElement;
227
220
}
228
221
222
+ if (e.kind == ElementKind .DYNAMIC ) {
223
+ return packageGraph.allConstructedModelElements[key] =
224
+ Dynamic (e, packageGraph);
225
+ }
226
+ if (e.kind == ElementKind .NEVER ) {
227
+ return packageGraph.allConstructedModelElements[key] =
228
+ NeverType (e, packageGraph);
229
+ }
230
+
229
231
var newModelElement = ModelElement ._constructFromElementDeclaration (
230
232
e,
231
233
library,
0 commit comments