hash = parameter.hashCode(hash, boundVars);
return hash;
}
+
+ @Override
+ public int skeletonHashCode(int hash) {
+ hash = HashCodeUtils.updateWithPreprocessedValue(hash, PRED_HASH);
+ hash = typeClass.skeletonHashCode(hash);
+ for(Type parameter : parameters)
+ hash = parameter.skeletonHashCode(hash);
+ return hash;
+ }
+
+ @Override
+ public int skeletonHashCode(int hash, TVar[] boundVars) {
+ hash = HashCodeUtils.updateWithPreprocessedValue(hash, PRED_HASH);
+ hash = typeClass.skeletonHashCode(hash, boundVars);
+ for(Type parameter : parameters)
+ hash = parameter.skeletonHashCode(hash, boundVars);
+ return hash;
+ }
@Override
public boolean equalsCanonical(Type other) {
public Kind getKind(Environment context) {
return Kinds.STAR;
}
+
+ @Override
+ public Type[] skeletonCanonicalChildren() {
+ Type[] result = new Type[parameters.length];
+ for(int i=0;i<parameters.length;++i)
+ result[i] = Skeletons.canonicalSkeleton(parameters[i]);
+ return result;
+ }
}