All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hydra.langs.scala.meta.Defn_Val Maven / Gradle / Ivy

package hydra.langs.scala.meta;

import java.io.Serializable;

public class Defn_Val implements Serializable {
  public static final hydra.core.Name NAME = new hydra.core.Name("hydra/langs/scala/meta.Defn.Val");
  
  public final java.util.List mods;
  
  public final java.util.List pats;
  
  public final java.util.Optional decltpe;
  
  public final hydra.langs.scala.meta.Data rhs;
  
  public Defn_Val (java.util.List mods, java.util.List pats, java.util.Optional decltpe, hydra.langs.scala.meta.Data rhs) {
    this.mods = mods;
    this.pats = pats;
    this.decltpe = decltpe;
    this.rhs = rhs;
  }
  
  @Override
  public boolean equals(Object other) {
    if (!(other instanceof Defn_Val)) {
      return false;
    }
    Defn_Val o = (Defn_Val) (other);
    return mods.equals(o.mods) && pats.equals(o.pats) && decltpe.equals(o.decltpe) && rhs.equals(o.rhs);
  }
  
  @Override
  public int hashCode() {
    return 2 * mods.hashCode() + 3 * pats.hashCode() + 5 * decltpe.hashCode() + 7 * rhs.hashCode();
  }
  
  public Defn_Val withMods(java.util.List mods) {
    return new Defn_Val(mods, pats, decltpe, rhs);
  }
  
  public Defn_Val withPats(java.util.List pats) {
    return new Defn_Val(mods, pats, decltpe, rhs);
  }
  
  public Defn_Val withDecltpe(java.util.Optional decltpe) {
    return new Defn_Val(mods, pats, decltpe, rhs);
  }
  
  public Defn_Val withRhs(hydra.langs.scala.meta.Data rhs) {
    return new Defn_Val(mods, pats, decltpe, rhs);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy