hydra.langs.scala.meta.Template Maven / Gradle / Ivy
package hydra.langs.scala.meta;
import java.io.Serializable;
public class Template implements Serializable {
public static final hydra.core.Name NAME = new hydra.core.Name("hydra/langs/scala/meta.Template");
public final java.util.List early;
public final java.util.List inits;
public final hydra.langs.scala.meta.Self self;
public final java.util.List stats;
public Template (java.util.List early, java.util.List inits, hydra.langs.scala.meta.Self self, java.util.List stats) {
this.early = early;
this.inits = inits;
this.self = self;
this.stats = stats;
}
@Override
public boolean equals(Object other) {
if (!(other instanceof Template)) {
return false;
}
Template o = (Template) (other);
return early.equals(o.early) && inits.equals(o.inits) && self.equals(o.self) && stats.equals(o.stats);
}
@Override
public int hashCode() {
return 2 * early.hashCode() + 3 * inits.hashCode() + 5 * self.hashCode() + 7 * stats.hashCode();
}
public Template withEarly(java.util.List early) {
return new Template(early, inits, self, stats);
}
public Template withInits(java.util.List inits) {
return new Template(early, inits, self, stats);
}
public Template withSelf(hydra.langs.scala.meta.Self self) {
return new Template(early, inits, self, stats);
}
public Template withStats(java.util.List stats) {
return new Template(early, inits, self, stats);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy