package me.tomassetti.jvm;
public class JvmMethodDefinition extends JvmInvokableDefinition {
private boolean _static;
private boolean declaredOnInterface;
public JvmMethodDefinition(String ownerInternalName, String methodName, String descriptor, boolean _static, boolean declaredOnInterface) {
super(ownerInternalName, methodName, descriptor);
this._static = _static;
this.declaredOnInterface = declaredOnInterface;
}
public boolean isStatic() {
return _static;
}
public boolean isDeclaredOnInterface() {
return declaredOnInterface;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof JvmMethodDefinition)) return false;
JvmMethodDefinition that = (JvmMethodDefinition) o;
if (_static != that._static) return false;
if (declaredOnInterface != that.declaredOnInterface) return false;
if (!ownerInternalName.equals(that.ownerInternalName)) return false;
if (!name.equals(that.name)) return false;
if (!descriptor.equals(that.descriptor)) return false;
return true;
}
@Override
public int hashCode() {
int result = (_static ? 1 : 0);
result = 31 * result + (declaredOnInterface ? 1 : 0);
return result;
}
@Override
public String toString() {
return "JvmMethodDefinition{" +
"_static=" + _static +
", declaredOnInterface=" + declaredOnInterface +
'}';
}
}