hydra.langs.java.syntax.MethodHeader Maven / Gradle / Ivy
package hydra.langs.java.syntax;
import java.io.Serializable;
public class MethodHeader implements Serializable {
public static final hydra.core.Name NAME = new hydra.core.Name("hydra/langs/java/syntax.MethodHeader");
public final java.util.List parameters;
public final hydra.langs.java.syntax.Result result;
public final hydra.langs.java.syntax.MethodDeclarator declarator;
public final java.util.Optional throws_;
public MethodHeader (java.util.List parameters, hydra.langs.java.syntax.Result result, hydra.langs.java.syntax.MethodDeclarator declarator, java.util.Optional throws_) {
this.parameters = parameters;
this.result = result;
this.declarator = declarator;
this.throws_ = throws_;
}
@Override
public boolean equals(Object other) {
if (!(other instanceof MethodHeader)) {
return false;
}
MethodHeader o = (MethodHeader) (other);
return parameters.equals(o.parameters) && result.equals(o.result) && declarator.equals(o.declarator) && throws_.equals(o.throws_);
}
@Override
public int hashCode() {
return 2 * parameters.hashCode() + 3 * result.hashCode() + 5 * declarator.hashCode() + 7 * throws_.hashCode();
}
public MethodHeader withParameters(java.util.List parameters) {
return new MethodHeader(parameters, result, declarator, throws_);
}
public MethodHeader withResult(hydra.langs.java.syntax.Result result) {
return new MethodHeader(parameters, result, declarator, throws_);
}
public MethodHeader withDeclarator(hydra.langs.java.syntax.MethodDeclarator declarator) {
return new MethodHeader(parameters, result, declarator, throws_);
}
public MethodHeader withThrows(java.util.Optional throws_) {
return new MethodHeader(parameters, result, declarator, throws_);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy