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