diff --git a/src/main/java/de/tla2b/types/AbstractHasFollowers.java b/src/main/java/de/tla2b/types/AbstractHasFollowers.java index 5a91851128a3558949687258456adeec2298d7f8..057ee586ceda6de50881b959bb90107703415644 100644 --- a/src/main/java/de/tla2b/types/AbstractHasFollowers.java +++ b/src/main/java/de/tla2b/types/AbstractHasFollowers.java @@ -7,11 +7,10 @@ import java.util.List; public abstract class AbstractHasFollowers extends TLAType { - public List<Object> followers; + private List<Object> followers = new ArrayList<>(); public AbstractHasFollowers(int t) { super(t); - followers = new ArrayList<>(); } public List<Object> getFollowers() { @@ -20,17 +19,8 @@ public abstract class AbstractHasFollowers extends TLAType { public void addFollower(Object o) { // only (partial) untyped types need follower - if (this.followers != null) { - for (Object follower : followers) { - if (follower == o) - return; - } + if (followers != null && !followers.contains(o)) followers.add(o); - } - } - - public void deleteFollower(Object o) { - followers.remove(o); } public void deleteFollowers() { diff --git a/src/main/java/de/tla2b/types/IType.java b/src/main/java/de/tla2b/types/IType.java index b394c0dc5cbd736525ed7da2905d6517c589ac35..340817519d93be3b4e710d83db63c32978051c35 100644 --- a/src/main/java/de/tla2b/types/IType.java +++ b/src/main/java/de/tla2b/types/IType.java @@ -18,6 +18,5 @@ public interface IType { int TUPLE_OR_FUNCTION = 12; int REAL = 13; - void apply(TypeVisitorInterface visitor); } diff --git a/src/main/java/de/tla2b/types/SetType.java b/src/main/java/de/tla2b/types/SetType.java index 4b939773186ce29a0160e32c1a1e84733474e294..c1b36c204922bca77a2342651347a585ffa0492d 100644 --- a/src/main/java/de/tla2b/types/SetType.java +++ b/src/main/java/de/tla2b/types/SetType.java @@ -20,7 +20,7 @@ public class SetType extends AbstractHasFollowers { public void setSubType(TLAType t) { // if (subType instanceof AbstractHasFollowers) { // // delete old reference - // ((AbstractHasFollowers) subType).deleteFollower(this); + // ((AbstractHasFollowers) subType).removeFollower(this); // } if (t instanceof AbstractHasFollowers) { @@ -77,9 +77,7 @@ public class SetType extends AbstractHasFollowers { @Override public String toString() { - String res = "POW(" + this.getSubType() + ")"; - - return res; + return "POW(" + this.getSubType() + ")"; } @Override diff --git a/src/main/java/de/tla2b/types/StructOrFunctionType.java b/src/main/java/de/tla2b/types/StructOrFunctionType.java index 7ac9f52e138a6fc0b7a2dfd992517bbb61eb57f8..89a9fbff8297967b87c37c0d18decfd1b553a0f1 100644 --- a/src/main/java/de/tla2b/types/StructOrFunctionType.java +++ b/src/main/java/de/tla2b/types/StructOrFunctionType.java @@ -6,11 +6,12 @@ import de.tla2b.output.TypeVisitorInterface; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class StructOrFunctionType extends AbstractHasFollowers { - private final LinkedHashMap<String, TLAType> types; + private final Map<String, TLAType> types; public StructOrFunctionType(String name, TLAType type) { super(STRUCT_OR_FUNCTION); @@ -64,8 +65,7 @@ public class StructOrFunctionType extends AbstractHasFollowers { StructType s = (StructType) o; for (String fieldName : types.keySet()) { if (s.getFields().contains(fieldName)) { - if (!this.types.get(fieldName) - .compare(s.getType(fieldName))) { + if (!this.types.get(fieldName).compare(s.getType(fieldName))) { return false; } }