return HashCodeUtils.updateWithPreprocessedValue(hash, sum);
}
+ @Override
+ public int skeletonHashCode(int hash) {
+ int sum = UNION_HASH;
+ for(Type effect : effects)
+ sum += effect.skeletonHashCode(HashCodeUtils.SEED);
+ return HashCodeUtils.updateWithPreprocessedValue(hash, sum);
+ }
+
+ @Override
+ public int skeletonHashCode(int hash, TVar[] boundVars) {
+ int sum = UNION_HASH;
+ for(Type effect : effects)
+ sum += effect.skeletonHashCode(HashCodeUtils.SEED, boundVars);
+ return HashCodeUtils.updateWithPreprocessedValue(hash, sum);
+ }
+
@Override
public boolean equalsCanonical(Type other) {
if(this == other)
public Kind getKind(Environment context) {
return Kinds.EFFECT;
}
+
+ @Override
+ public Type[] skeletonCanonicalChildren() {
+ return EMPTY_ARRAY;
+ }
}