File tree Expand file tree Collapse file tree
org.omg.sysml/src/org/omg/sysml/adapter Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -544,9 +544,12 @@ public boolean isComputeRedefinitions() {
544544
545545 public EList <Type > getAllTypes () {
546546 if (types == null ) {
547- types = new NonNotifyingEObjectEList <Type >(Type .class , (InternalEObject )getTarget (), SysMLPackage .FEATURE__TYPE );
548- getTypes (types , new HashSet <Feature >());
549- removeRedundantTypes (types );
547+ EList <Type > allTypes = new NonNotifyingEObjectEList <Type >(Type .class , (InternalEObject )getTarget (), SysMLPackage .FEATURE__TYPE );
548+ getTypes (allTypes , new HashSet <Feature >());
549+ removeRedundantTypes (allTypes );
550+ // Note: Cache must be set only after completion of computation of types, in order to correctly
551+ // a possible circular recursive call back to this method.
552+ types = allTypes ;
550553 }
551554 return types ;
552555 }
You can’t perform that action at this time.
0 commit comments