// Generated by delombok at Sun Apr 02 07:47:34 ICT 2017
package ast;
import java.util.List;
import ast.ExpCore.Block;
import ast.ExpCore.Signal;
public interface Redex {
static Redex invalid() {
return NoRedex.instance;
}
final class NoRedex implements Redex {
private static final Redex instance = new NoRedex();
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public NoRedex() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.NoRedex)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
int result = 1;
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.NoRedex()";
}
}
final class MethCall implements Redex {
private final ExpCore.MCall that;
@java.beans.ConstructorProperties({"that"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public MethCall(final ExpCore.MCall that) {
this.that = that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.MCall getThat() {
return this.that;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.MethCall)) return false;
final MethCall other = (MethCall)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.MethCall(that=" + this.getThat() + ")";
}
}
final class Garbage implements Redex {
private final ExpCore thatLessGarbage;
@java.beans.ConstructorProperties({"thatLessGarbage"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Garbage(final ExpCore thatLessGarbage) {
this.thatLessGarbage = thatLessGarbage;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore getThatLessGarbage() {
return this.thatLessGarbage;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.Garbage)) return false;
final Garbage other = (Garbage)o;
final java.lang.Object this$thatLessGarbage = this.getThatLessGarbage();
final java.lang.Object other$thatLessGarbage = other.getThatLessGarbage();
if (this$thatLessGarbage == null ? other$thatLessGarbage != null : !this$thatLessGarbage.equals(other$thatLessGarbage)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $thatLessGarbage = this.getThatLessGarbage();
result = result * PRIME + ($thatLessGarbage == null ? 0 : $thatLessGarbage.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.Garbage(thatLessGarbage=" + this.getThatLessGarbage() + ")";
}
}
final class Ph implements Redex {
private final ExpCore.Block that;
private final int phIndex;
@java.beans.ConstructorProperties({"that", "phIndex"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Ph(final ExpCore.Block that, final int phIndex) {
this.that = that;
this.phIndex = phIndex;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Block getThat() {
return this.that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int getPhIndex() {
return this.phIndex;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.Ph)) return false;
final Ph other = (Ph)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
if (this.getPhIndex() != other.getPhIndex()) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
result = result * PRIME + this.getPhIndex();
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.Ph(that=" + this.getThat() + ", phIndex=" + this.getPhIndex() + ")";
}
}
final class Using implements Redex {
private final ExpCore.Using that;
private final ExpCore toReplace;
@java.beans.ConstructorProperties({"that", "toReplace"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Using(final ExpCore.Using that, final ExpCore toReplace) {
this.that = that;
this.toReplace = toReplace;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Using getThat() {
return this.that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore getToReplace() {
return this.toReplace;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.Using)) return false;
final Using other = (Using)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
final java.lang.Object this$toReplace = this.getToReplace();
final java.lang.Object other$toReplace = other.getToReplace();
if (this$toReplace == null ? other$toReplace != null : !this$toReplace.equals(other$toReplace)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
final java.lang.Object $toReplace = this.getToReplace();
result = result * PRIME + ($toReplace == null ? 0 : $toReplace.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.Using(that=" + this.getThat() + ", toReplace=" + this.getToReplace() + ")";
}
}
final class UsingOut implements Redex {
private final ExpCore.Using that;
@java.beans.ConstructorProperties({"that"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public UsingOut(final ExpCore.Using that) {
this.that = that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Using getThat() {
return this.that;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.UsingOut)) return false;
final UsingOut other = (UsingOut)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.UsingOut(that=" + this.getThat() + ")";
}
}
final class LoopR implements Redex {
private final ExpCore.Loop that;
@java.beans.ConstructorProperties({"that"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public LoopR(final ExpCore.Loop that) {
this.that = that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Loop getThat() {
return this.that;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.LoopR)) return false;
final LoopR other = (LoopR)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.LoopR(that=" + this.getThat() + ")";
}
}
final class BlockElim implements Redex {
private final ExpCore.Block that;
private final int elimIndex;
@java.beans.ConstructorProperties({"that", "elimIndex"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public BlockElim(final ExpCore.Block that, final int elimIndex) {
this.that = that;
this.elimIndex = elimIndex;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Block getThat() {
return this.that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int getElimIndex() {
return this.elimIndex;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.BlockElim)) return false;
final BlockElim other = (BlockElim)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
if (this.getElimIndex() != other.getElimIndex()) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
result = result * PRIME + this.getElimIndex();
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.BlockElim(that=" + this.getThat() + ", elimIndex=" + this.getElimIndex() + ")";
}
}
final class Subst implements Redex {
private final ExpCore.Block that;
private final int substIndex;
@java.beans.ConstructorProperties({"that", "substIndex"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Subst(final ExpCore.Block that, final int substIndex) {
this.that = that;
this.substIndex = substIndex;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Block getThat() {
return this.that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int getSubstIndex() {
return this.substIndex;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.Subst)) return false;
final Subst other = (Subst)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
if (this.getSubstIndex() != other.getSubstIndex()) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
result = result * PRIME + this.getSubstIndex();
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.Subst(that=" + this.getThat() + ", substIndex=" + this.getSubstIndex() + ")";
}
}
final class Meta implements Redex {
private final ExpCore.ClassB that;
@java.beans.ConstructorProperties({"that"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Meta(final ExpCore.ClassB that) {
this.that = that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.ClassB getThat() {
return this.that;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.Meta)) return false;
final Meta other = (Meta)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.Meta(that=" + this.getThat() + ")";
}
}
final class CaptureOrNot implements Redex {
private final ExpCore.Block that;
private final int throwIndex;
private final Signal throwExtracted;
@java.beans.ConstructorProperties({"that", "throwIndex", "throwExtracted"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public CaptureOrNot(final ExpCore.Block that, final int throwIndex, final Signal throwExtracted) {
this.that = that;
this.throwIndex = throwIndex;
this.throwExtracted = throwExtracted;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Block getThat() {
return this.that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int getThrowIndex() {
return this.throwIndex;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Signal getThrowExtracted() {
return this.throwExtracted;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.CaptureOrNot)) return false;
final CaptureOrNot other = (CaptureOrNot)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
if (this.getThrowIndex() != other.getThrowIndex()) return false;
final java.lang.Object this$throwExtracted = this.getThrowExtracted();
final java.lang.Object other$throwExtracted = other.getThrowExtracted();
if (this$throwExtracted == null ? other$throwExtracted != null : !this$throwExtracted.equals(other$throwExtracted)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
result = result * PRIME + this.getThrowIndex();
final java.lang.Object $throwExtracted = this.getThrowExtracted();
result = result * PRIME + ($throwExtracted == null ? 0 : $throwExtracted.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.CaptureOrNot(that=" + this.getThat() + ", throwIndex=" + this.getThrowIndex() + ", throwExtracted=" + this.getThrowExtracted() + ")";
}
}
final class NoThrowRemoveOn implements Redex {
private final ExpCore.Block that;
@java.beans.ConstructorProperties({"that"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public NoThrowRemoveOn(final ExpCore.Block that) {
this.that = that;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore.Block getThat() {
return this.that;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.NoThrowRemoveOn)) return false;
final NoThrowRemoveOn other = (NoThrowRemoveOn)o;
final java.lang.Object this$that = this.getThat();
final java.lang.Object other$that = other.getThat();
if (this$that == null ? other$that != null : !this$that.equals(other$that)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $that = this.getThat();
result = result * PRIME + ($that == null ? 0 : $that.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.NoThrowRemoveOn(that=" + this.getThat() + ")";
}
}
final class FUpdateExtended implements Redex {
private final ExpCore ctx;
private final Block aroundCtx;
private final int positionX;
private final List<Block.Dec> dvs;
@java.beans.ConstructorProperties({"ctx", "aroundCtx", "positionX", "dvs"})
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public FUpdateExtended(final ExpCore ctx, final Block aroundCtx, final int positionX, final List<Block.Dec> dvs) {
this.ctx = ctx;
this.aroundCtx = aroundCtx;
this.positionX = positionX;
this.dvs = dvs;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public ExpCore getCtx() {
return this.ctx;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public Block getAroundCtx() {
return this.aroundCtx;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int getPositionX() {
return this.positionX;
}
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public List<Block.Dec> getDvs() {
return this.dvs;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public boolean equals(final java.lang.Object o) {
if (o == this) return true;
if (!(o instanceof Redex.FUpdateExtended)) return false;
final FUpdateExtended other = (FUpdateExtended)o;
final java.lang.Object this$ctx = this.getCtx();
final java.lang.Object other$ctx = other.getCtx();
if (this$ctx == null ? other$ctx != null : !this$ctx.equals(other$ctx)) return false;
final java.lang.Object this$aroundCtx = this.getAroundCtx();
final java.lang.Object other$aroundCtx = other.getAroundCtx();
if (this$aroundCtx == null ? other$aroundCtx != null : !this$aroundCtx.equals(other$aroundCtx)) return false;
if (this.getPositionX() != other.getPositionX()) return false;
final java.lang.Object this$dvs = this.getDvs();
final java.lang.Object other$dvs = other.getDvs();
if (this$dvs == null ? other$dvs != null : !this$dvs.equals(other$dvs)) return false;
return true;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public int hashCode() {
final int PRIME = 59;
int result = 1;
final java.lang.Object $ctx = this.getCtx();
result = result * PRIME + ($ctx == null ? 0 : $ctx.hashCode());
final java.lang.Object $aroundCtx = this.getAroundCtx();
result = result * PRIME + ($aroundCtx == null ? 0 : $aroundCtx.hashCode());
result = result * PRIME + this.getPositionX();
final java.lang.Object $dvs = this.getDvs();
result = result * PRIME + ($dvs == null ? 0 : $dvs.hashCode());
return result;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public java.lang.String toString() {
return "Redex.FUpdateExtended(ctx=" + this.getCtx() + ", aroundCtx=" + this.getAroundCtx() + ", positionX=" + this.getPositionX() + ", dvs=" + this.getDvs() + ")";
}
}
}