Skip to content

Commit d71f93a

Browse files
committed
fix getParentTypes for EolCollectionType
1 parent 2c58910 commit d71f93a

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

plugins/org.eclipse.epsilon.eol.engine/src/org/eclipse/epsilon/eol/staticanalyser/types/EolCollectionType.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
******************************************************************************/
1313
package org.eclipse.epsilon.eol.staticanalyser.types;
1414

15+
import java.util.ArrayList;
16+
import java.util.List;
17+
import java.util.stream.Collectors;
18+
1519
public class EolCollectionType extends EolType {
1620

1721
protected EolType contentType = EolAnyType.Instance;
@@ -107,4 +111,18 @@ public EolType getParentType() {
107111
return EolAnyType.Instance;
108112
}
109113
}
114+
115+
@Override
116+
public List<EolType> getParentTypes() {
117+
List<EolType> parentTypes = new ArrayList<EolType>();
118+
if (this.isBag() || this.isSet() || this.isOrderedSet() || this.isSequence())
119+
parentTypes.add(new EolCollectionType("Collection", this.getContentType()));
120+
else
121+
parentTypes.add(EolAnyType.Instance);
122+
123+
if (!(this.getContentType() instanceof EolAnyType))
124+
parentTypes.addAll(this.getContentType().getParentTypes().stream()
125+
.map(e -> new EolCollectionType(this.getName(), e)).collect(Collectors.toList()));
126+
return parentTypes;
127+
}
110128
}

0 commit comments

Comments
 (0)