From 6a13701ed3a85970cffc2c6337cc7621631c60ea Mon Sep 17 00:00:00 2001 From: Jan Gruteser <jan.gruteser@hhu.de> Date: Thu, 2 Jan 2025 10:05:19 +0100 Subject: [PATCH] minor simplifications in type classes --- .../java/de/tla2b/types/AbstractHasFollowers.java | 14 ++------------ src/main/java/de/tla2b/types/IType.java | 1 - src/main/java/de/tla2b/types/SetType.java | 6 ++---- .../java/de/tla2b/types/StructOrFunctionType.java | 6 +++--- 4 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/main/java/de/tla2b/types/AbstractHasFollowers.java b/src/main/java/de/tla2b/types/AbstractHasFollowers.java index 5a91851..057ee58 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 b394c0d..3408175 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 4b93977..c1b36c2 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 7ac9f52..89a9fbf 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; } } -- GitLab