// Generated by delombok at Sun Apr 02 07:47:34 ICT 2017 package ast; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import sugarVisitors.CollapsePositions; import ast.Ast; import ast.Ast.Position; import ast.ExpCore; import ast.Ast.HistoricType; import ast.Ast.MethodSelector; import ast.Ast.Path; import ast.Ast.Type; import ast.ExpCore.Block; import ast.ExpCore.ClassB; import ast.Util.PathMwt; import coreVisitors.InjectionOnSugar; @SuppressWarnings("serial") public abstract class ErrorMessage extends RuntimeException { public static interface PosImprove { Position getPos(); PosImprove withPos(Position val); default PosImprove improvePos(Position val) { if (this.getPos() != null) { val = CollapsePositions.accumulatePos(this.getPos(), val); } return this.withPos(val); } static ErrorMessage improve(ErrorMessage err, Position val) { if (!(err instanceof ErrorMessage.PosImprove)) { return err; } return (ErrorMessage)((ErrorMessage.PosImprove)err).improvePos(val); } } @Override public String getMessage() { return super.getMessage();//+this.toString(); } public static final class UserLevelError extends ErrorMessage implements PosImprove { public static enum Kind { WellFormedness, TypeError, MetaError, Unclassified; } private final Kind kind; private final Ast.Position pos; private final ErrorMessage internal; private final String errorTxt; @java.beans.ConstructorProperties({"kind", "pos", "internal", "errorTxt"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UserLevelError(final Kind kind, final Ast.Position pos, final ErrorMessage internal, final String errorTxt) { this.kind = kind; this.pos = pos; this.internal = internal; this.errorTxt = errorTxt; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Kind getKind() { return this.kind; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ErrorMessage getInternal() { return this.internal; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getErrorTxt() { return this.errorTxt; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UserLevelError withKind(final Kind kind) { return this.kind == kind ? this : new UserLevelError(kind, this.pos, this.internal, this.errorTxt); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UserLevelError withPos(final Ast.Position pos) { return this.pos == pos ? this : new UserLevelError(this.kind, pos, this.internal, this.errorTxt); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UserLevelError withInternal(final ErrorMessage internal) { return this.internal == internal ? this : new UserLevelError(this.kind, this.pos, internal, this.errorTxt); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UserLevelError withErrorTxt(final String errorTxt) { return this.errorTxt == errorTxt ? this : new UserLevelError(this.kind, this.pos, this.internal, errorTxt); } @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 ErrorMessage.UserLevelError)) return false; final UserLevelError other = (UserLevelError)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$kind = this.getKind(); final java.lang.Object other$kind = other.getKind(); if (this$kind == null ? other$kind != null : !this$kind.equals(other$kind)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; final java.lang.Object this$internal = this.getInternal(); final java.lang.Object other$internal = other.getInternal(); if (this$internal == null ? other$internal != null : !this$internal.equals(other$internal)) return false; final java.lang.Object this$errorTxt = this.getErrorTxt(); final java.lang.Object other$errorTxt = other.getErrorTxt(); if (this$errorTxt == null ? other$errorTxt != null : !this$errorTxt.equals(other$errorTxt)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UserLevelError; } @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 $kind = this.getKind(); result = result * PRIME + ($kind == null ? 0 : $kind.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); final java.lang.Object $internal = this.getInternal(); result = result * PRIME + ($internal == null ? 0 : $internal.hashCode()); final java.lang.Object $errorTxt = this.getErrorTxt(); result = result * PRIME + ($errorTxt == null ? 0 : $errorTxt.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UserLevelError(super=" + super.toString() + ", kind=" + this.getKind() + ", pos=" + this.getPos() + ", internal=" + this.getInternal() + ", errorTxt=" + this.getErrorTxt() + ")"; } } public static final class FinalResult extends ErrorMessage { private final int result; private final ClassB topLevelProgram; public int getErrCode() { return result; } @java.beans.ConstructorProperties({"result", "topLevelProgram"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public FinalResult(final int result, final ClassB topLevelProgram) { this.result = result; this.topLevelProgram = topLevelProgram; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getResult() { return this.result; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getTopLevelProgram() { return this.topLevelProgram; } @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 ErrorMessage.FinalResult)) return false; final FinalResult other = (FinalResult)o; if (!other.canEqual((java.lang.Object)this)) return false; if (this.getResult() != other.getResult()) return false; final java.lang.Object this$topLevelProgram = this.getTopLevelProgram(); final java.lang.Object other$topLevelProgram = other.getTopLevelProgram(); if (this$topLevelProgram == null ? other$topLevelProgram != null : !this$topLevelProgram.equals(other$topLevelProgram)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.FinalResult; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int hashCode() { final int PRIME = 59; int result = 1; result = result * PRIME + this.getResult(); final java.lang.Object $topLevelProgram = this.getTopLevelProgram(); result = result * PRIME + ($topLevelProgram == null ? 0 : $topLevelProgram.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.FinalResult(super=" + super.toString() + ", result=" + this.getResult() + ", topLevelProgram=" + this.getTopLevelProgram() + ")"; } } public static final class MalformedFinalResult extends ErrorMessage { private final ClassB finalRes; private final String reason; @java.beans.ConstructorProperties({"finalRes", "reason"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MalformedFinalResult(final ClassB finalRes, final String reason) { this.finalRes = finalRes; this.reason = reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getFinalRes() { return this.finalRes; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @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 ErrorMessage.MalformedFinalResult)) return false; final MalformedFinalResult other = (MalformedFinalResult)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$finalRes = this.getFinalRes(); final java.lang.Object other$finalRes = other.getFinalRes(); if (this$finalRes == null ? other$finalRes != null : !this$finalRes.equals(other$finalRes)) return false; final java.lang.Object this$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.MalformedFinalResult; } @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 $finalRes = this.getFinalRes(); result = result * PRIME + ($finalRes == null ? 0 : $finalRes.hashCode()); final java.lang.Object $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.MalformedFinalResult(super=" + super.toString() + ", finalRes=" + this.getFinalRes() + ", reason=" + this.getReason() + ")"; } } public static final class ImpossibleToCompose extends ErrorMessage { private final List<ClassB.Member> inherited; private final List<ClassB.Member> alreadyOffered; @java.beans.ConstructorProperties({"inherited", "alreadyOffered"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ImpossibleToCompose(final List<ClassB.Member> inherited, final List<ClassB.Member> alreadyOffered) { this.inherited = inherited; this.alreadyOffered = alreadyOffered; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB.Member> getInherited() { return this.inherited; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB.Member> getAlreadyOffered() { return this.alreadyOffered; } @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 ErrorMessage.ImpossibleToCompose)) return false; final ImpossibleToCompose other = (ImpossibleToCompose)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$inherited = this.getInherited(); final java.lang.Object other$inherited = other.getInherited(); if (this$inherited == null ? other$inherited != null : !this$inherited.equals(other$inherited)) return false; final java.lang.Object this$alreadyOffered = this.getAlreadyOffered(); final java.lang.Object other$alreadyOffered = other.getAlreadyOffered(); if (this$alreadyOffered == null ? other$alreadyOffered != null : !this$alreadyOffered.equals(other$alreadyOffered)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ImpossibleToCompose; } @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 $inherited = this.getInherited(); result = result * PRIME + ($inherited == null ? 0 : $inherited.hashCode()); final java.lang.Object $alreadyOffered = this.getAlreadyOffered(); result = result * PRIME + ($alreadyOffered == null ? 0 : $alreadyOffered.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ImpossibleToCompose(super=" + super.toString() + ", inherited=" + this.getInherited() + ", alreadyOffered=" + this.getAlreadyOffered() + ")"; } } public static final class IncoherentMwts extends ErrorMessage implements PosImprove { private final ast.Ast.MethodSelector guilty; private final List<Ast.C> exploredPath; private final List<PathMwt> incoherent; private final Ast.Position pos; @java.beans.ConstructorProperties({"guilty", "exploredPath", "incoherent", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncoherentMwts(final ast.Ast.MethodSelector guilty, final List<Ast.C> exploredPath, final List<PathMwt> incoherent, final Ast.Position pos) { this.guilty = guilty; this.exploredPath = exploredPath; this.incoherent = incoherent; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ast.Ast.MethodSelector getGuilty() { return this.guilty; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<Ast.C> getExploredPath() { return this.exploredPath; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<PathMwt> getIncoherent() { return this.incoherent; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncoherentMwts withGuilty(final ast.Ast.MethodSelector guilty) { return this.guilty == guilty ? this : new IncoherentMwts(guilty, this.exploredPath, this.incoherent, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncoherentMwts withExploredPath(final List<Ast.C> exploredPath) { return this.exploredPath == exploredPath ? this : new IncoherentMwts(this.guilty, exploredPath, this.incoherent, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncoherentMwts withIncoherent(final List<PathMwt> incoherent) { return this.incoherent == incoherent ? this : new IncoherentMwts(this.guilty, this.exploredPath, incoherent, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncoherentMwts withPos(final Ast.Position pos) { return this.pos == pos ? this : new IncoherentMwts(this.guilty, this.exploredPath, this.incoherent, pos); } @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 ErrorMessage.IncoherentMwts)) return false; final IncoherentMwts other = (IncoherentMwts)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$guilty = this.getGuilty(); final java.lang.Object other$guilty = other.getGuilty(); if (this$guilty == null ? other$guilty != null : !this$guilty.equals(other$guilty)) return false; final java.lang.Object this$exploredPath = this.getExploredPath(); final java.lang.Object other$exploredPath = other.getExploredPath(); if (this$exploredPath == null ? other$exploredPath != null : !this$exploredPath.equals(other$exploredPath)) return false; final java.lang.Object this$incoherent = this.getIncoherent(); final java.lang.Object other$incoherent = other.getIncoherent(); if (this$incoherent == null ? other$incoherent != null : !this$incoherent.equals(other$incoherent)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.IncoherentMwts; } @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 $guilty = this.getGuilty(); result = result * PRIME + ($guilty == null ? 0 : $guilty.hashCode()); final java.lang.Object $exploredPath = this.getExploredPath(); result = result * PRIME + ($exploredPath == null ? 0 : $exploredPath.hashCode()); final java.lang.Object $incoherent = this.getIncoherent(); result = result * PRIME + ($incoherent == null ? 0 : $incoherent.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.IncoherentMwts(super=" + super.toString() + ", guilty=" + this.getGuilty() + ", exploredPath=" + this.getExploredPath() + ", incoherent=" + this.getIncoherent() + ", pos=" + this.getPos() + ")"; } } public static final class MalformedUnionOfMembers extends ErrorMessage { private final ClassB.MethodWithType mFromInterface; private final ClassB.MethodWithType mFromClass; @java.beans.ConstructorProperties({"mFromInterface", "mFromClass"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MalformedUnionOfMembers(final ClassB.MethodWithType mFromInterface, final ClassB.MethodWithType mFromClass) { this.mFromInterface = mFromInterface; this.mFromClass = mFromClass; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB.MethodWithType getMFromInterface() { return this.mFromInterface; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB.MethodWithType getMFromClass() { return this.mFromClass; } @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 ErrorMessage.MalformedUnionOfMembers)) return false; final MalformedUnionOfMembers other = (MalformedUnionOfMembers)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$mFromInterface = this.getMFromInterface(); final java.lang.Object other$mFromInterface = other.getMFromInterface(); if (this$mFromInterface == null ? other$mFromInterface != null : !this$mFromInterface.equals(other$mFromInterface)) return false; final java.lang.Object this$mFromClass = this.getMFromClass(); final java.lang.Object other$mFromClass = other.getMFromClass(); if (this$mFromClass == null ? other$mFromClass != null : !this$mFromClass.equals(other$mFromClass)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.MalformedUnionOfMembers; } @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 $mFromInterface = this.getMFromInterface(); result = result * PRIME + ($mFromInterface == null ? 0 : $mFromInterface.hashCode()); final java.lang.Object $mFromClass = this.getMFromClass(); result = result * PRIME + ($mFromClass == null ? 0 : $mFromClass.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.MalformedUnionOfMembers(super=" + super.toString() + ", mFromInterface=" + this.getMFromInterface() + ", mFromClass=" + this.getMFromClass() + ")"; } } public static final class TwoDifferentImplementedInterfacesDeclareMethod extends ErrorMessage { private final MethodSelector mFromInterface; private final ClassB cb; private final List<ClassB> p; @java.beans.ConstructorProperties({"mFromInterface", "cb", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TwoDifferentImplementedInterfacesDeclareMethod(final MethodSelector mFromInterface, final ClassB cb, final List<ClassB> p) { this.mFromInterface = mFromInterface; this.cb = cb; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodSelector getMFromInterface() { return this.mFromInterface; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getCb() { return this.cb; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.TwoDifferentImplementedInterfacesDeclareMethod)) return false; final TwoDifferentImplementedInterfacesDeclareMethod other = (TwoDifferentImplementedInterfacesDeclareMethod)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$mFromInterface = this.getMFromInterface(); final java.lang.Object other$mFromInterface = other.getMFromInterface(); if (this$mFromInterface == null ? other$mFromInterface != null : !this$mFromInterface.equals(other$mFromInterface)) return false; final java.lang.Object this$cb = this.getCb(); final java.lang.Object other$cb = other.getCb(); if (this$cb == null ? other$cb != null : !this$cb.equals(other$cb)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.TwoDifferentImplementedInterfacesDeclareMethod; } @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 $mFromInterface = this.getMFromInterface(); result = result * PRIME + ($mFromInterface == null ? 0 : $mFromInterface.hashCode()); final java.lang.Object $cb = this.getCb(); result = result * PRIME + ($cb == null ? 0 : $cb.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.TwoDifferentImplementedInterfacesDeclareMethod(super=" + super.toString() + ", mFromInterface=" + this.getMFromInterface() + ", cb=" + this.getCb() + ", p=" + this.getP() + ")"; } } public static final class InvalidMethodImplemented extends ErrorMessage { private final List<ClassB.Member> mFromInterface; private final ClassB.MethodImplemented mFromClass; private final ClassB cb; private final List<ClassB> p; @java.beans.ConstructorProperties({"mFromInterface", "mFromClass", "cb", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidMethodImplemented(final List<ClassB.Member> mFromInterface, final ClassB.MethodImplemented mFromClass, final ClassB cb, final List<ClassB> p) { this.mFromInterface = mFromInterface; this.mFromClass = mFromClass; this.cb = cb; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB.Member> getMFromInterface() { return this.mFromInterface; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB.MethodImplemented getMFromClass() { return this.mFromClass; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getCb() { return this.cb; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.InvalidMethodImplemented)) return false; final InvalidMethodImplemented other = (InvalidMethodImplemented)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$mFromInterface = this.getMFromInterface(); final java.lang.Object other$mFromInterface = other.getMFromInterface(); if (this$mFromInterface == null ? other$mFromInterface != null : !this$mFromInterface.equals(other$mFromInterface)) return false; final java.lang.Object this$mFromClass = this.getMFromClass(); final java.lang.Object other$mFromClass = other.getMFromClass(); if (this$mFromClass == null ? other$mFromClass != null : !this$mFromClass.equals(other$mFromClass)) return false; final java.lang.Object this$cb = this.getCb(); final java.lang.Object other$cb = other.getCb(); if (this$cb == null ? other$cb != null : !this$cb.equals(other$cb)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidMethodImplemented; } @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 $mFromInterface = this.getMFromInterface(); result = result * PRIME + ($mFromInterface == null ? 0 : $mFromInterface.hashCode()); final java.lang.Object $mFromClass = this.getMFromClass(); result = result * PRIME + ($mFromClass == null ? 0 : $mFromClass.hashCode()); final java.lang.Object $cb = this.getCb(); result = result * PRIME + ($cb == null ? 0 : $cb.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidMethodImplemented(super=" + super.toString() + ", mFromInterface=" + this.getMFromInterface() + ", mFromClass=" + this.getMFromClass() + ", cb=" + this.getCb() + ", p=" + this.getP() + ")"; } } public static final class MalformedSubtypeDeclaration extends ErrorMessage { private final ClassB implementer; private final ClassB notInterfaceImplemented; private final Path implemented; private final List<ClassB> p; @java.beans.ConstructorProperties({"implementer", "notInterfaceImplemented", "implemented", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MalformedSubtypeDeclaration(final ClassB implementer, final ClassB notInterfaceImplemented, final Path implemented, final List<ClassB> p) { this.implementer = implementer; this.notInterfaceImplemented = notInterfaceImplemented; this.implemented = implemented; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getImplementer() { return this.implementer; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getNotInterfaceImplemented() { return this.notInterfaceImplemented; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getImplemented() { return this.implemented; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.MalformedSubtypeDeclaration)) return false; final MalformedSubtypeDeclaration other = (MalformedSubtypeDeclaration)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$implementer = this.getImplementer(); final java.lang.Object other$implementer = other.getImplementer(); if (this$implementer == null ? other$implementer != null : !this$implementer.equals(other$implementer)) return false; final java.lang.Object this$notInterfaceImplemented = this.getNotInterfaceImplemented(); final java.lang.Object other$notInterfaceImplemented = other.getNotInterfaceImplemented(); if (this$notInterfaceImplemented == null ? other$notInterfaceImplemented != null : !this$notInterfaceImplemented.equals(other$notInterfaceImplemented)) return false; final java.lang.Object this$implemented = this.getImplemented(); final java.lang.Object other$implemented = other.getImplemented(); if (this$implemented == null ? other$implemented != null : !this$implemented.equals(other$implemented)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.MalformedSubtypeDeclaration; } @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 $implementer = this.getImplementer(); result = result * PRIME + ($implementer == null ? 0 : $implementer.hashCode()); final java.lang.Object $notInterfaceImplemented = this.getNotInterfaceImplemented(); result = result * PRIME + ($notInterfaceImplemented == null ? 0 : $notInterfaceImplemented.hashCode()); final java.lang.Object $implemented = this.getImplemented(); result = result * PRIME + ($implemented == null ? 0 : $implemented.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.MalformedSubtypeDeclaration(super=" + super.toString() + ", implementer=" + this.getImplementer() + ", notInterfaceImplemented=" + this.getNotInterfaceImplemented() + ", implemented=" + this.getImplemented() + ", p=" + this.getP() + ")"; } } public static final class ProgramExtractOnWalkBy extends ErrorMessage { private final Path path; private final List<ClassB> p; @java.beans.ConstructorProperties({"path", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ProgramExtractOnWalkBy(final Path path, final List<ClassB> p) { this.path = path; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getPath() { return this.path; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.ProgramExtractOnWalkBy)) return false; final ProgramExtractOnWalkBy other = (ProgramExtractOnWalkBy)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$path = this.getPath(); final java.lang.Object other$path = other.getPath(); if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ProgramExtractOnWalkBy; } @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 $path = this.getPath(); result = result * PRIME + ($path == null ? 0 : $path.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ProgramExtractOnWalkBy(super=" + super.toString() + ", path=" + this.getPath() + ", p=" + this.getP() + ")"; } } public static final class CtxExtractImpossible extends ErrorMessage { private final ExpCore e; private final List<ClassB> p; @java.beans.ConstructorProperties({"e", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CtxExtractImpossible(final ExpCore e, final List<ClassB> p) { this.e = e; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.CtxExtractImpossible)) return false; final CtxExtractImpossible other = (CtxExtractImpossible)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.CtxExtractImpossible; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.CtxExtractImpossible(super=" + super.toString() + ", e=" + this.getE() + ", p=" + this.getP() + ")"; } } public static final class ExpectedImmutableVar extends ErrorMessage { private final ExpCore ctxVal; private final String x; @java.beans.ConstructorProperties({"ctxVal", "x"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpectedImmutableVar(final ExpCore ctxVal, final String x) { this.ctxVal = ctxVal; this.x = x; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getCtxVal() { return this.ctxVal; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getX() { return this.x; } @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 ErrorMessage.ExpectedImmutableVar)) return false; final ExpectedImmutableVar other = (ExpectedImmutableVar)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$ctxVal = this.getCtxVal(); final java.lang.Object other$ctxVal = other.getCtxVal(); if (this$ctxVal == null ? other$ctxVal != null : !this$ctxVal.equals(other$ctxVal)) return false; final java.lang.Object this$x = this.getX(); final java.lang.Object other$x = other.getX(); if (this$x == null ? other$x != null : !this$x.equals(other$x)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ExpectedImmutableVar; } @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 $ctxVal = this.getCtxVal(); result = result * PRIME + ($ctxVal == null ? 0 : $ctxVal.hashCode()); final java.lang.Object $x = this.getX(); result = result * PRIME + ($x == null ? 0 : $x.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ExpectedImmutableVar(super=" + super.toString() + ", ctxVal=" + this.getCtxVal() + ", x=" + this.getX() + ")"; } } public static final class IllegalAttemptedModification extends ErrorMessage { private final ExpCore ctxVal; private final Block.Dec dec; private final ExpCore.MCall mc; @java.beans.ConstructorProperties({"ctxVal", "dec", "mc"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IllegalAttemptedModification(final ExpCore ctxVal, final Block.Dec dec, final ExpCore.MCall mc) { this.ctxVal = ctxVal; this.dec = dec; this.mc = mc; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getCtxVal() { return this.ctxVal; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Block.Dec getDec() { return this.dec; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.MCall getMc() { return this.mc; } @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 ErrorMessage.IllegalAttemptedModification)) return false; final IllegalAttemptedModification other = (IllegalAttemptedModification)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$ctxVal = this.getCtxVal(); final java.lang.Object other$ctxVal = other.getCtxVal(); if (this$ctxVal == null ? other$ctxVal != null : !this$ctxVal.equals(other$ctxVal)) return false; final java.lang.Object this$dec = this.getDec(); final java.lang.Object other$dec = other.getDec(); if (this$dec == null ? other$dec != null : !this$dec.equals(other$dec)) return false; final java.lang.Object this$mc = this.getMc(); final java.lang.Object other$mc = other.getMc(); if (this$mc == null ? other$mc != null : !this$mc.equals(other$mc)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.IllegalAttemptedModification; } @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 $ctxVal = this.getCtxVal(); result = result * PRIME + ($ctxVal == null ? 0 : $ctxVal.hashCode()); final java.lang.Object $dec = this.getDec(); result = result * PRIME + ($dec == null ? 0 : $dec.hashCode()); final java.lang.Object $mc = this.getMc(); result = result * PRIME + ($mc == null ? 0 : $mc.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.IllegalAttemptedModification(super=" + super.toString() + ", ctxVal=" + this.getCtxVal() + ", dec=" + this.getDec() + ", mc=" + this.getMc() + ")"; } } public static final class NormalForm extends ErrorMessage { private final ExpCore e; private final List<ClassB> p; @java.beans.ConstructorProperties({"e", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NormalForm(final ExpCore e, final List<ClassB> p) { this.e = e; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.NormalForm)) return false; final NormalForm other = (NormalForm)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NormalForm; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NormalForm(super=" + super.toString() + ", e=" + this.getE() + ", p=" + this.getP() + ")"; } } public static final class ParsingError extends ErrorMessage { //others should extend it? but some have a range position! private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ParsingError(final int line, final int pos, final String token) { this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.ParsingError)) return false; final ParsingError other = (ParsingError)o; if (!other.canEqual((java.lang.Object)this)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ParsingError; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int hashCode() { final int PRIME = 59; int result = 1; result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ParsingError(super=" + super.toString() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class DotDotDotCanNotBeResolved extends ErrorMessage { private final String reason; //java.nio.file.Path orignFileName; private final Expression.ClassB.NestedClass hasDotDotDot; private final java.nio.file.Path path; @java.beans.ConstructorProperties({"reason", "hasDotDotDot", "path"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public DotDotDotCanNotBeResolved(final String reason, final Expression.ClassB.NestedClass hasDotDotDot, final java.nio.file.Path path) { this.reason = reason; this.hasDotDotDot = hasDotDotDot; this.path = path; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Expression.ClassB.NestedClass getHasDotDotDot() { return this.hasDotDotDot; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.nio.file.Path getPath() { return this.path; } @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 ErrorMessage.DotDotDotCanNotBeResolved)) return false; final DotDotDotCanNotBeResolved other = (DotDotDotCanNotBeResolved)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; final java.lang.Object this$hasDotDotDot = this.getHasDotDotDot(); final java.lang.Object other$hasDotDotDot = other.getHasDotDotDot(); if (this$hasDotDotDot == null ? other$hasDotDotDot != null : !this$hasDotDotDot.equals(other$hasDotDotDot)) return false; final java.lang.Object this$path = this.getPath(); final java.lang.Object other$path = other.getPath(); if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.DotDotDotCanNotBeResolved; } @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 $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); final java.lang.Object $hasDotDotDot = this.getHasDotDotDot(); result = result * PRIME + ($hasDotDotDot == null ? 0 : $hasDotDotDot.hashCode()); final java.lang.Object $path = this.getPath(); result = result * PRIME + ($path == null ? 0 : $path.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.DotDotDotCanNotBeResolved(super=" + super.toString() + ", reason=" + this.getReason() + ", hasDotDotDot=" + this.getHasDotDotDot() + ", path=" + this.getPath() + ")"; } } //***************************** public static abstract class PreParserError extends ErrorMessage { } public static final class InvalidCharacter extends PreParserError { private final String file; private final String message; @java.beans.ConstructorProperties({"file", "message"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidCharacter(final String file, final String message) { this.file = file; this.message = message; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getMessage() { return this.message; } @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 ErrorMessage.InvalidCharacter)) return false; final InvalidCharacter other = (InvalidCharacter)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; final java.lang.Object this$message = this.getMessage(); final java.lang.Object other$message = other.getMessage(); if (this$message == null ? other$message != null : !this$message.equals(other$message)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidCharacter; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); final java.lang.Object $message = this.getMessage(); result = result * PRIME + ($message == null ? 0 : $message.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidCharacter(super=" + super.toString() + ", file=" + this.getFile() + ", message=" + this.getMessage() + ")"; } } public static final class InvalidCharacterOutOfString extends PreParserError { private final String file; private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"file", "line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidCharacterOutOfString(final String file, final int line, final int pos, final String token) { this.file = file; this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.InvalidCharacterOutOfString)) return false; final InvalidCharacterOutOfString other = (InvalidCharacterOutOfString)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidCharacterOutOfString; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidCharacterOutOfString(super=" + super.toString() + ", file=" + this.getFile() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class InvalidCharacterInMultilineStringIndentation extends PreParserError { private final String file; private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"file", "line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidCharacterInMultilineStringIndentation(final String file, final int line, final int pos, final String token) { this.file = file; this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.InvalidCharacterInMultilineStringIndentation)) return false; final InvalidCharacterInMultilineStringIndentation other = (InvalidCharacterInMultilineStringIndentation)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidCharacterInMultilineStringIndentation; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidCharacterInMultilineStringIndentation(super=" + super.toString() + ", file=" + this.getFile() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class UnclosedStringLiteral extends PreParserError { private final String file; private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"file", "line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnclosedStringLiteral(final String file, final int line, final int pos, final String token) { this.file = file; this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.UnclosedStringLiteral)) return false; final UnclosedStringLiteral other = (UnclosedStringLiteral)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UnclosedStringLiteral; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UnclosedStringLiteral(super=" + super.toString() + ", file=" + this.getFile() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class UnclosedParenthesis extends PreParserError { private final String file; private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"file", "line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnclosedParenthesis(final String file, final int line, final int pos, final String token) { this.file = file; this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.UnclosedParenthesis)) return false; final UnclosedParenthesis other = (UnclosedParenthesis)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UnclosedParenthesis; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UnclosedParenthesis(super=" + super.toString() + ", file=" + this.getFile() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class UnopenedParenthesis extends PreParserError { private final String file; private final int line; private final int pos; private final String token; @java.beans.ConstructorProperties({"file", "line", "pos", "token"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnopenedParenthesis(final String file, final int line, final int pos, final String token) { this.file = file; this.line = line; this.pos = pos; this.token = token; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine() { return this.line; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken() { return this.token; } @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 ErrorMessage.UnopenedParenthesis)) return false; final UnopenedParenthesis other = (UnopenedParenthesis)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine() != other.getLine()) return false; if (this.getPos() != other.getPos()) return false; final java.lang.Object this$token = this.getToken(); final java.lang.Object other$token = other.getToken(); if (this$token == null ? other$token != null : !this$token.equals(other$token)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UnopenedParenthesis; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine(); result = result * PRIME + this.getPos(); final java.lang.Object $token = this.getToken(); result = result * PRIME + ($token == null ? 0 : $token.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UnopenedParenthesis(super=" + super.toString() + ", file=" + this.getFile() + ", line=" + this.getLine() + ", pos=" + this.getPos() + ", token=" + this.getToken() + ")"; } } public static final class ParenthesisMismatchRange extends PreParserError { private final String file; private final int line1; private final int pos1; private final String token1; private final int line2; private final int pos2; private final String token2; @java.beans.ConstructorProperties({"file", "line1", "pos1", "token1", "line2", "pos2", "token2"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ParenthesisMismatchRange(final String file, final int line1, final int pos1, final String token1, final int line2, final int pos2, final String token2) { this.file = file; this.line1 = line1; this.pos1 = pos1; this.token1 = token1; this.line2 = line2; this.pos2 = pos2; this.token2 = token2; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getFile() { return this.file; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine1() { return this.line1; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos1() { return this.pos1; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken1() { return this.token1; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getLine2() { return this.line2; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getPos2() { return this.pos2; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getToken2() { return this.token2; } @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 ErrorMessage.ParenthesisMismatchRange)) return false; final ParenthesisMismatchRange other = (ParenthesisMismatchRange)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$file = this.getFile(); final java.lang.Object other$file = other.getFile(); if (this$file == null ? other$file != null : !this$file.equals(other$file)) return false; if (this.getLine1() != other.getLine1()) return false; if (this.getPos1() != other.getPos1()) return false; final java.lang.Object this$token1 = this.getToken1(); final java.lang.Object other$token1 = other.getToken1(); if (this$token1 == null ? other$token1 != null : !this$token1.equals(other$token1)) return false; if (this.getLine2() != other.getLine2()) return false; if (this.getPos2() != other.getPos2()) return false; final java.lang.Object this$token2 = this.getToken2(); final java.lang.Object other$token2 = other.getToken2(); if (this$token2 == null ? other$token2 != null : !this$token2.equals(other$token2)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ParenthesisMismatchRange; } @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 $file = this.getFile(); result = result * PRIME + ($file == null ? 0 : $file.hashCode()); result = result * PRIME + this.getLine1(); result = result * PRIME + this.getPos1(); final java.lang.Object $token1 = this.getToken1(); result = result * PRIME + ($token1 == null ? 0 : $token1.hashCode()); result = result * PRIME + this.getLine2(); result = result * PRIME + this.getPos2(); final java.lang.Object $token2 = this.getToken2(); result = result * PRIME + ($token2 == null ? 0 : $token2.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ParenthesisMismatchRange(super=" + super.toString() + ", file=" + this.getFile() + ", line1=" + this.getLine1() + ", pos1=" + this.getPos1() + ", token1=" + this.getToken1() + ", line2=" + this.getLine2() + ", pos2=" + this.getPos2() + ", token2=" + this.getToken2() + ")"; } } public static final class LibraryRefersToIncompleteClasses extends TypeError { private final List<ClassB> p; private final ClassB cb; private final Position pos; @java.beans.ConstructorProperties({"p", "cb", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public LibraryRefersToIncompleteClasses(final List<ClassB> p, final ClassB cb, final Position pos) { this.p = p; this.cb = cb; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getCb() { return this.cb; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public LibraryRefersToIncompleteClasses withP(final List<ClassB> p) { return this.p == p ? this : new LibraryRefersToIncompleteClasses(p, this.cb, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public LibraryRefersToIncompleteClasses withCb(final ClassB cb) { return this.cb == cb ? this : new LibraryRefersToIncompleteClasses(this.p, cb, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public LibraryRefersToIncompleteClasses withPos(final Position pos) { return this.pos == pos ? this : new LibraryRefersToIncompleteClasses(this.p, this.cb, pos); } @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 ErrorMessage.LibraryRefersToIncompleteClasses)) return false; final LibraryRefersToIncompleteClasses other = (LibraryRefersToIncompleteClasses)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; final java.lang.Object this$cb = this.getCb(); final java.lang.Object other$cb = other.getCb(); if (this$cb == null ? other$cb != null : !this$cb.equals(other$cb)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.LibraryRefersToIncompleteClasses; } @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 $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); final java.lang.Object $cb = this.getCb(); result = result * PRIME + ($cb == null ? 0 : $cb.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.LibraryRefersToIncompleteClasses(super=" + super.toString() + ", p=" + this.getP() + ", cb=" + this.getCb() + ", pos=" + this.getPos() + ")"; } } public static final class PathMetaOrNonExistant extends TypeError implements PosImprove { private final boolean isMeta; private final List<Ast.C> listOfNodeNames; private final ClassB cb; private final Position pos; private final Position wherePathWasWritten; @java.beans.ConstructorProperties({"isMeta", "listOfNodeNames", "cb", "pos", "wherePathWasWritten"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant(final boolean isMeta, final List<Ast.C> listOfNodeNames, final ClassB cb, final Position pos, final Position wherePathWasWritten) { this.isMeta = isMeta; this.listOfNodeNames = listOfNodeNames; this.cb = cb; this.pos = pos; this.wherePathWasWritten = wherePathWasWritten; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public boolean isMeta() { return this.isMeta; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<Ast.C> getListOfNodeNames() { return this.listOfNodeNames; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getCb() { return this.cb; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getWherePathWasWritten() { return this.wherePathWasWritten; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant withMeta(final boolean isMeta) { return this.isMeta == isMeta ? this : new PathMetaOrNonExistant(isMeta, this.listOfNodeNames, this.cb, this.pos, this.wherePathWasWritten); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant withListOfNodeNames(final List<Ast.C> listOfNodeNames) { return this.listOfNodeNames == listOfNodeNames ? this : new PathMetaOrNonExistant(this.isMeta, listOfNodeNames, this.cb, this.pos, this.wherePathWasWritten); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant withCb(final ClassB cb) { return this.cb == cb ? this : new PathMetaOrNonExistant(this.isMeta, this.listOfNodeNames, cb, this.pos, this.wherePathWasWritten); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant withPos(final Position pos) { return this.pos == pos ? this : new PathMetaOrNonExistant(this.isMeta, this.listOfNodeNames, this.cb, pos, this.wherePathWasWritten); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathMetaOrNonExistant withWherePathWasWritten(final Position wherePathWasWritten) { return this.wherePathWasWritten == wherePathWasWritten ? this : new PathMetaOrNonExistant(this.isMeta, this.listOfNodeNames, this.cb, this.pos, wherePathWasWritten); } @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 ErrorMessage.PathMetaOrNonExistant)) return false; final PathMetaOrNonExistant other = (PathMetaOrNonExistant)o; if (!other.canEqual((java.lang.Object)this)) return false; if (this.isMeta() != other.isMeta()) return false; final java.lang.Object this$listOfNodeNames = this.getListOfNodeNames(); final java.lang.Object other$listOfNodeNames = other.getListOfNodeNames(); if (this$listOfNodeNames == null ? other$listOfNodeNames != null : !this$listOfNodeNames.equals(other$listOfNodeNames)) return false; final java.lang.Object this$cb = this.getCb(); final java.lang.Object other$cb = other.getCb(); if (this$cb == null ? other$cb != null : !this$cb.equals(other$cb)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; final java.lang.Object this$wherePathWasWritten = this.getWherePathWasWritten(); final java.lang.Object other$wherePathWasWritten = other.getWherePathWasWritten(); if (this$wherePathWasWritten == null ? other$wherePathWasWritten != null : !this$wherePathWasWritten.equals(other$wherePathWasWritten)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PathMetaOrNonExistant; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int hashCode() { final int PRIME = 59; int result = 1; result = result * PRIME + (this.isMeta() ? 79 : 97); final java.lang.Object $listOfNodeNames = this.getListOfNodeNames(); result = result * PRIME + ($listOfNodeNames == null ? 0 : $listOfNodeNames.hashCode()); final java.lang.Object $cb = this.getCb(); result = result * PRIME + ($cb == null ? 0 : $cb.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); final java.lang.Object $wherePathWasWritten = this.getWherePathWasWritten(); result = result * PRIME + ($wherePathWasWritten == null ? 0 : $wherePathWasWritten.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PathMetaOrNonExistant(super=" + super.toString() + ", isMeta=" + this.isMeta() + ", listOfNodeNames=" + this.getListOfNodeNames() + ", cb=" + this.getCb() + ", pos=" + this.getPos() + ", wherePathWasWritten=" + this.getWherePathWasWritten() + ")"; } } public static final class PathNonStar extends TypeError { private final Path path; private final HashMap<String, Ast.NormType> varEnv; private final Position pos; @java.beans.ConstructorProperties({"path", "varEnv", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathNonStar(final Path path, final HashMap<String, Ast.NormType> varEnv, final Position pos) { this.path = path; this.varEnv = varEnv; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getPath() { return this.path; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HashMap<String, Ast.NormType> getVarEnv() { return this.varEnv; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathNonStar withPath(final Path path) { return this.path == path ? this : new PathNonStar(path, this.varEnv, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathNonStar withVarEnv(final HashMap<String, Ast.NormType> varEnv) { return this.varEnv == varEnv ? this : new PathNonStar(this.path, varEnv, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathNonStar withPos(final Position pos) { return this.pos == pos ? this : new PathNonStar(this.path, this.varEnv, pos); } @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 ErrorMessage.PathNonStar)) return false; final PathNonStar other = (PathNonStar)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$path = this.getPath(); final java.lang.Object other$path = other.getPath(); if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false; final java.lang.Object this$varEnv = this.getVarEnv(); final java.lang.Object other$varEnv = other.getVarEnv(); if (this$varEnv == null ? other$varEnv != null : !this$varEnv.equals(other$varEnv)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PathNonStar; } @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 $path = this.getPath(); result = result * PRIME + ($path == null ? 0 : $path.hashCode()); final java.lang.Object $varEnv = this.getVarEnv(); result = result * PRIME + ($varEnv == null ? 0 : $varEnv.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PathNonStar(super=" + super.toString() + ", path=" + this.getPath() + ", varEnv=" + this.getVarEnv() + ", pos=" + this.getPos() + ")"; } } public static final class VariableDeclaredMultipleTimes extends ErrorMessage implements ErrorMessage.PosImprove { private final String x; private final Ast.Position pos; @java.beans.ConstructorProperties({"x", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableDeclaredMultipleTimes(final String x, final Ast.Position pos) { this.x = x; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getX() { return this.x; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableDeclaredMultipleTimes withX(final String x) { return this.x == x ? this : new VariableDeclaredMultipleTimes(x, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableDeclaredMultipleTimes withPos(final Ast.Position pos) { return this.pos == pos ? this : new VariableDeclaredMultipleTimes(this.x, pos); } @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 ErrorMessage.VariableDeclaredMultipleTimes)) return false; final VariableDeclaredMultipleTimes other = (VariableDeclaredMultipleTimes)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$x = this.getX(); final java.lang.Object other$x = other.getX(); if (this$x == null ? other$x != null : !this$x.equals(other$x)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.VariableDeclaredMultipleTimes; } @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 $x = this.getX(); result = result * PRIME + ($x == null ? 0 : $x.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.VariableDeclaredMultipleTimes(super=" + super.toString() + ", x=" + this.getX() + ", pos=" + this.getPos() + ")"; } } //when a plugin exists but chose to not act public static final class PluginActionUndefined extends ErrorMessage { private final int wait; @java.beans.ConstructorProperties({"wait"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginActionUndefined(final int wait) { this.wait = wait; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getWait() { return this.wait; } @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 ErrorMessage.PluginActionUndefined)) return false; final PluginActionUndefined other = (PluginActionUndefined)o; if (!other.canEqual((java.lang.Object)this)) return false; if (this.getWait() != other.getWait()) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PluginActionUndefined; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int hashCode() { final int PRIME = 59; int result = 1; result = result * PRIME + this.getWait(); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PluginActionUndefined(super=" + super.toString() + ", wait=" + this.getWait() + ")"; } //-1 to act at the end, -2...-n to never act again; otherwise // some time in milliseconds to try acting again. } public static abstract class NotWellFormed extends ErrorMessage { } public static final class VariableUsedNotInScope extends NotWellFormed { private final Expression.X e; private final Expression ctx; private final String reason; @java.beans.ConstructorProperties({"e", "ctx", "reason"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableUsedNotInScope(final Expression.X e, final Expression ctx, final String reason) { this.e = e; this.ctx = ctx; this.reason = reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Expression.X getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Expression getCtx() { return this.ctx; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableUsedNotInScope withE(final Expression.X e) { return this.e == e ? this : new VariableUsedNotInScope(e, this.ctx, this.reason); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableUsedNotInScope withCtx(final Expression ctx) { return this.ctx == ctx ? this : new VariableUsedNotInScope(this.e, ctx, this.reason); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableUsedNotInScope withReason(final String reason) { return this.reason == reason ? this : new VariableUsedNotInScope(this.e, this.ctx, reason); } @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 ErrorMessage.VariableUsedNotInScope)) return false; final VariableUsedNotInScope other = (VariableUsedNotInScope)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; 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$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.VariableUsedNotInScope; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $ctx = this.getCtx(); result = result * PRIME + ($ctx == null ? 0 : $ctx.hashCode()); final java.lang.Object $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.VariableUsedNotInScope(super=" + super.toString() + ", e=" + this.getE() + ", ctx=" + this.getCtx() + ", reason=" + this.getReason() + ")"; } } public static final class NotWellFormedMsk extends NotWellFormed { //msk for misk, this class will be multiplied on need when is needed to distinguis the various kinds private final Expression e; private final Expression ctx; private final String reason; @java.beans.ConstructorProperties({"e", "ctx", "reason"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotWellFormedMsk(final Expression e, final Expression ctx, final String reason) { this.e = e; this.ctx = ctx; this.reason = reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Expression getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Expression getCtx() { return this.ctx; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotWellFormedMsk withE(final Expression e) { return this.e == e ? this : new NotWellFormedMsk(e, this.ctx, this.reason); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotWellFormedMsk withCtx(final Expression ctx) { return this.ctx == ctx ? this : new NotWellFormedMsk(this.e, ctx, this.reason); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotWellFormedMsk withReason(final String reason) { return this.reason == reason ? this : new NotWellFormedMsk(this.e, this.ctx, reason); } @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 ErrorMessage.NotWellFormedMsk)) return false; final NotWellFormedMsk other = (NotWellFormedMsk)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; 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$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NotWellFormedMsk; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $ctx = this.getCtx(); result = result * PRIME + ($ctx == null ? 0 : $ctx.hashCode()); final java.lang.Object $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NotWellFormedMsk(super=" + super.toString() + ", e=" + this.getE() + ", ctx=" + this.getCtx() + ", reason=" + this.getReason() + ")"; } } //Type system //@ToString(callSuper=false, includeFieldNames=true) public static abstract class TypeError extends ErrorMessage implements ErrorMessage.PosImprove { public final List<facade.ErrorFormatter.Reporter> envs = new ArrayList<>(); @Override public String getMessage() { return this.envs.toString(); } } public static final class NotOkToStar extends TypeError { private final ClassB ct; private final ExpCore.ClassB.MethodWithType ctor; private final String reason; private final Position pos; @java.beans.ConstructorProperties({"ct", "ctor", "reason", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotOkToStar(final ClassB ct, final ExpCore.ClassB.MethodWithType ctor, final String reason, final Position pos) { this.ct = ct; this.ctor = ctor; this.reason = reason; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ClassB getCt() { return this.ct; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.ClassB.MethodWithType getCtor() { return this.ctor; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotOkToStar withCt(final ClassB ct) { return this.ct == ct ? this : new NotOkToStar(ct, this.ctor, this.reason, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotOkToStar withCtor(final ExpCore.ClassB.MethodWithType ctor) { return this.ctor == ctor ? this : new NotOkToStar(this.ct, ctor, this.reason, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotOkToStar withReason(final String reason) { return this.reason == reason ? this : new NotOkToStar(this.ct, this.ctor, reason, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotOkToStar withPos(final Position pos) { return this.pos == pos ? this : new NotOkToStar(this.ct, this.ctor, this.reason, pos); } @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 ErrorMessage.NotOkToStar)) return false; final NotOkToStar other = (NotOkToStar)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$ct = this.getCt(); final java.lang.Object other$ct = other.getCt(); if (this$ct == null ? other$ct != null : !this$ct.equals(other$ct)) return false; final java.lang.Object this$ctor = this.getCtor(); final java.lang.Object other$ctor = other.getCtor(); if (this$ctor == null ? other$ctor != null : !this$ctor.equals(other$ctor)) return false; final java.lang.Object this$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NotOkToStar; } @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 $ct = this.getCt(); result = result * PRIME + ($ct == null ? 0 : $ct.hashCode()); final java.lang.Object $ctor = this.getCtor(); result = result * PRIME + ($ctor == null ? 0 : $ctor.hashCode()); final java.lang.Object $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NotOkToStar(super=" + super.toString() + ", ct=" + this.getCt() + ", ctor=" + this.getCtor() + ", reason=" + this.getReason() + ", pos=" + this.getPos() + ")"; } } public static final class PluginMethodUndefined extends TypeError { private final List<String> validMethods; private final ExpCore.Using using; private final List<ClassB> p; private final Position pos; @java.beans.ConstructorProperties({"validMethods", "using", "p", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginMethodUndefined(final List<String> validMethods, final ExpCore.Using using, final List<ClassB> p, final Position pos) { this.validMethods = validMethods; this.using = using; this.p = p; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<String> getValidMethods() { return this.validMethods; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.Using getUsing() { return this.using; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginMethodUndefined withValidMethods(final List<String> validMethods) { return this.validMethods == validMethods ? this : new PluginMethodUndefined(validMethods, this.using, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginMethodUndefined withUsing(final ExpCore.Using using) { return this.using == using ? this : new PluginMethodUndefined(this.validMethods, using, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginMethodUndefined withP(final List<ClassB> p) { return this.p == p ? this : new PluginMethodUndefined(this.validMethods, this.using, p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PluginMethodUndefined withPos(final Position pos) { return this.pos == pos ? this : new PluginMethodUndefined(this.validMethods, this.using, this.p, pos); } @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 ErrorMessage.PluginMethodUndefined)) return false; final PluginMethodUndefined other = (PluginMethodUndefined)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$validMethods = this.getValidMethods(); final java.lang.Object other$validMethods = other.getValidMethods(); if (this$validMethods == null ? other$validMethods != null : !this$validMethods.equals(other$validMethods)) return false; final java.lang.Object this$using = this.getUsing(); final java.lang.Object other$using = other.getUsing(); if (this$using == null ? other$using != null : !this$using.equals(other$using)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PluginMethodUndefined; } @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 $validMethods = this.getValidMethods(); result = result * PRIME + ($validMethods == null ? 0 : $validMethods.hashCode()); final java.lang.Object $using = this.getUsing(); result = result * PRIME + ($using == null ? 0 : $using.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PluginMethodUndefined(super=" + super.toString() + ", validMethods=" + this.getValidMethods() + ", using=" + this.getUsing() + ", p=" + this.getP() + ", pos=" + this.getPos() + ")"; } } public static final class NormImpossible extends ErrorMessage { private final Type notNorm; private final Throwable cause; private final List<ClassB> p; @java.beans.ConstructorProperties({"notNorm", "cause", "p"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NormImpossible(final Type notNorm, final Throwable cause, final List<ClassB> p) { this.notNorm = notNorm; this.cause = cause; this.p = p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getNotNorm() { return this.notNorm; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Throwable getCause() { return this.cause; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @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 ErrorMessage.NormImpossible)) return false; final NormImpossible other = (NormImpossible)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$notNorm = this.getNotNorm(); final java.lang.Object other$notNorm = other.getNotNorm(); if (this$notNorm == null ? other$notNorm != null : !this$notNorm.equals(other$notNorm)) return false; final java.lang.Object this$cause = this.getCause(); final java.lang.Object other$cause = other.getCause(); if (this$cause == null ? other$cause != null : !this$cause.equals(other$cause)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NormImpossible; } @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 $notNorm = this.getNotNorm(); result = result * PRIME + ($notNorm == null ? 0 : $notNorm.hashCode()); final java.lang.Object $cause = this.getCause(); result = result * PRIME + ($cause == null ? 0 : $cause.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NormImpossible(super=" + super.toString() + ", notNorm=" + this.getNotNorm() + ", cause=" + this.getCause() + ", p=" + this.getP() + ")"; } } public static final class CircularImplements extends ErrorMessage { private final List<Ast.Path> visited; @java.beans.ConstructorProperties({"visited"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CircularImplements(final List<Ast.Path> visited) { this.visited = visited; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<Ast.Path> getVisited() { return this.visited; } @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 ErrorMessage.CircularImplements)) return false; final CircularImplements other = (CircularImplements)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$visited = this.getVisited(); final java.lang.Object other$visited = other.getVisited(); if (this$visited == null ? other$visited != null : !this$visited.equals(other$visited)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.CircularImplements; } @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 $visited = this.getVisited(); result = result * PRIME + ($visited == null ? 0 : $visited.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.CircularImplements(super=" + super.toString() + ", visited=" + this.getVisited() + ")"; } } public static final class NonInterfaceImplements extends ErrorMessage { private final Ast.Path implementer; private final Ast.Path implemented; @java.beans.ConstructorProperties({"implementer", "implemented"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NonInterfaceImplements(final Ast.Path implementer, final Ast.Path implemented) { this.implementer = implementer; this.implemented = implemented; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Path getImplementer() { return this.implementer; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Path getImplemented() { return this.implemented; } @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 ErrorMessage.NonInterfaceImplements)) return false; final NonInterfaceImplements other = (NonInterfaceImplements)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$implementer = this.getImplementer(); final java.lang.Object other$implementer = other.getImplementer(); if (this$implementer == null ? other$implementer != null : !this$implementer.equals(other$implementer)) return false; final java.lang.Object this$implemented = this.getImplemented(); final java.lang.Object other$implemented = other.getImplemented(); if (this$implemented == null ? other$implemented != null : !this$implemented.equals(other$implemented)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NonInterfaceImplements; } @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 $implementer = this.getImplementer(); result = result * PRIME + ($implementer == null ? 0 : $implementer.hashCode()); final java.lang.Object $implemented = this.getImplemented(); result = result * PRIME + ($implemented == null ? 0 : $implemented.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NonInterfaceImplements(super=" + super.toString() + ", implementer=" + this.getImplementer() + ", implemented=" + this.getImplemented() + ")"; } } public static final class NotExaclyOneMethodOrigin extends ErrorMessage { private final Ast.Path guilty; private final Ast.MethodSelector selector; private final List<ExpCore.ClassB.Member> allMs; @java.beans.ConstructorProperties({"guilty", "selector", "allMs"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public NotExaclyOneMethodOrigin(final Ast.Path guilty, final Ast.MethodSelector selector, final List<ExpCore.ClassB.Member> allMs) { this.guilty = guilty; this.selector = selector; this.allMs = allMs; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.Path getGuilty() { return this.guilty; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.MethodSelector getSelector() { return this.selector; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ExpCore.ClassB.Member> getAllMs() { return this.allMs; } @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 ErrorMessage.NotExaclyOneMethodOrigin)) return false; final NotExaclyOneMethodOrigin other = (NotExaclyOneMethodOrigin)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$guilty = this.getGuilty(); final java.lang.Object other$guilty = other.getGuilty(); if (this$guilty == null ? other$guilty != null : !this$guilty.equals(other$guilty)) return false; final java.lang.Object this$selector = this.getSelector(); final java.lang.Object other$selector = other.getSelector(); if (this$selector == null ? other$selector != null : !this$selector.equals(other$selector)) return false; final java.lang.Object this$allMs = this.getAllMs(); final java.lang.Object other$allMs = other.getAllMs(); if (this$allMs == null ? other$allMs != null : !this$allMs.equals(other$allMs)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.NotExaclyOneMethodOrigin; } @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 $guilty = this.getGuilty(); result = result * PRIME + ($guilty == null ? 0 : $guilty.hashCode()); final java.lang.Object $selector = this.getSelector(); result = result * PRIME + ($selector == null ? 0 : $selector.hashCode()); final java.lang.Object $allMs = this.getAllMs(); result = result * PRIME + ($allMs == null ? 0 : $allMs.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.NotExaclyOneMethodOrigin(super=" + super.toString() + ", guilty=" + this.getGuilty() + ", selector=" + this.getSelector() + ", allMs=" + this.getAllMs() + ")"; } } public static final class HistoricTypeNoTarget extends ErrorMessage { private final Ast.HistoricType guilty; private final List<ExpCore.ClassB.MethodWithType> allMs; @java.beans.ConstructorProperties({"guilty", "allMs"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HistoricTypeNoTarget(final Ast.HistoricType guilty, final List<ExpCore.ClassB.MethodWithType> allMs) { this.guilty = guilty; this.allMs = allMs; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.HistoricType getGuilty() { return this.guilty; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ExpCore.ClassB.MethodWithType> getAllMs() { return this.allMs; } @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 ErrorMessage.HistoricTypeNoTarget)) return false; final HistoricTypeNoTarget other = (HistoricTypeNoTarget)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$guilty = this.getGuilty(); final java.lang.Object other$guilty = other.getGuilty(); if (this$guilty == null ? other$guilty != null : !this$guilty.equals(other$guilty)) return false; final java.lang.Object this$allMs = this.getAllMs(); final java.lang.Object other$allMs = other.getAllMs(); if (this$allMs == null ? other$allMs != null : !this$allMs.equals(other$allMs)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.HistoricTypeNoTarget; } @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 $guilty = this.getGuilty(); result = result * PRIME + ($guilty == null ? 0 : $guilty.hashCode()); final java.lang.Object $allMs = this.getAllMs(); result = result * PRIME + ($allMs == null ? 0 : $allMs.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.HistoricTypeNoTarget(super=" + super.toString() + ", guilty=" + this.getGuilty() + ", allMs=" + this.getAllMs() + ")"; } } public static final class HistoricTypeCircularDefinition extends ErrorMessage { private final Ast.HistoricType guilty; @java.beans.ConstructorProperties({"guilty"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HistoricTypeCircularDefinition(final Ast.HistoricType guilty) { this.guilty = guilty; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.HistoricType getGuilty() { return this.guilty; } @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 ErrorMessage.HistoricTypeCircularDefinition)) return false; final HistoricTypeCircularDefinition other = (HistoricTypeCircularDefinition)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$guilty = this.getGuilty(); final java.lang.Object other$guilty = other.getGuilty(); if (this$guilty == null ? other$guilty != null : !this$guilty.equals(other$guilty)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.HistoricTypeCircularDefinition; } @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 $guilty = this.getGuilty(); result = result * PRIME + ($guilty == null ? 0 : $guilty.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.HistoricTypeCircularDefinition(super=" + super.toString() + ", guilty=" + this.getGuilty() + ")"; } } public static final class LentShuldBeMutable extends ErrorMessage { private final ExpCore.X var; @java.beans.ConstructorProperties({"var"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public LentShuldBeMutable(final ExpCore.X var) { this.var = var; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.X getVar() { return this.var; } @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 ErrorMessage.LentShuldBeMutable)) return false; final LentShuldBeMutable other = (LentShuldBeMutable)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$var = this.getVar(); final java.lang.Object other$var = other.getVar(); if (this$var == null ? other$var != null : !this$var.equals(other$var)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.LentShuldBeMutable; } @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 $var = this.getVar(); result = result * PRIME + ($var == null ? 0 : $var.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.LentShuldBeMutable(super=" + super.toString() + ", var=" + this.getVar() + ")"; } } public static final class VariableSealed extends ErrorMessage { private final ExpCore.X var; @java.beans.ConstructorProperties({"var"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public VariableSealed(final ExpCore.X var) { this.var = var; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.X getVar() { return this.var; } @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 ErrorMessage.VariableSealed)) return false; final VariableSealed other = (VariableSealed)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$var = this.getVar(); final java.lang.Object other$var = other.getVar(); if (this$var == null ? other$var != null : !this$var.equals(other$var)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.VariableSealed; } @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 $var = this.getVar(); result = result * PRIME + ($var == null ? 0 : $var.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.VariableSealed(super=" + super.toString() + ", var=" + this.getVar() + ")"; } } public static final class InvalidTypeForThrowe extends TypeError { private final ExpCore.Signal e; private final Ast.NormType computedType; private final Position pos; @java.beans.ConstructorProperties({"e", "computedType", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidTypeForThrowe(final ExpCore.Signal e, final Ast.NormType computedType, final Position pos) { this.e = e; this.computedType = computedType; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.Signal getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Ast.NormType getComputedType() { return this.computedType; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidTypeForThrowe withE(final ExpCore.Signal e) { return this.e == e ? this : new InvalidTypeForThrowe(e, this.computedType, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidTypeForThrowe withComputedType(final Ast.NormType computedType) { return this.computedType == computedType ? this : new InvalidTypeForThrowe(this.e, computedType, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidTypeForThrowe withPos(final Position pos) { return this.pos == pos ? this : new InvalidTypeForThrowe(this.e, this.computedType, pos); } @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 ErrorMessage.InvalidTypeForThrowe)) return false; final InvalidTypeForThrowe other = (InvalidTypeForThrowe)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$computedType = this.getComputedType(); final java.lang.Object other$computedType = other.getComputedType(); if (this$computedType == null ? other$computedType != null : !this$computedType.equals(other$computedType)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidTypeForThrowe; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $computedType = this.getComputedType(); result = result * PRIME + ($computedType == null ? 0 : $computedType.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidTypeForThrowe(super=" + super.toString() + ", e=" + this.getE() + ", computedType=" + this.getComputedType() + ", pos=" + this.getPos() + ")"; } } public static final class CapsuleUsedMoreThenOne extends TypeError { private final List<ExpCore> es; private final String varName; private final Position pos; @java.beans.ConstructorProperties({"es", "varName", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CapsuleUsedMoreThenOne(final List<ExpCore> es, final String varName, final Position pos) { this.es = es; this.varName = varName; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ExpCore> getEs() { return this.es; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getVarName() { return this.varName; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CapsuleUsedMoreThenOne withEs(final List<ExpCore> es) { return this.es == es ? this : new CapsuleUsedMoreThenOne(es, this.varName, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CapsuleUsedMoreThenOne withVarName(final String varName) { return this.varName == varName ? this : new CapsuleUsedMoreThenOne(this.es, varName, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public CapsuleUsedMoreThenOne withPos(final Position pos) { return this.pos == pos ? this : new CapsuleUsedMoreThenOne(this.es, this.varName, pos); } @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 ErrorMessage.CapsuleUsedMoreThenOne)) return false; final CapsuleUsedMoreThenOne other = (CapsuleUsedMoreThenOne)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$es = this.getEs(); final java.lang.Object other$es = other.getEs(); if (this$es == null ? other$es != null : !this$es.equals(other$es)) return false; final java.lang.Object this$varName = this.getVarName(); final java.lang.Object other$varName = other.getVarName(); if (this$varName == null ? other$varName != null : !this$varName.equals(other$varName)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.CapsuleUsedMoreThenOne; } @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 $es = this.getEs(); result = result * PRIME + ($es == null ? 0 : $es.hashCode()); final java.lang.Object $varName = this.getVarName(); result = result * PRIME + ($varName == null ? 0 : $varName.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.CapsuleUsedMoreThenOne(super=" + super.toString() + ", es=" + this.getEs() + ", varName=" + this.getVarName() + ", pos=" + this.getPos() + ")"; } } public static final class UnresolvedType extends TypeError { private final HistoricType t; private final ExpCore e; private final Position pos; @java.beans.ConstructorProperties({"t", "e", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnresolvedType(final HistoricType t, final ExpCore e, final Position pos) { this.t = t; this.e = e; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HistoricType getT() { return this.t; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnresolvedType withT(final HistoricType t) { return this.t == t ? this : new UnresolvedType(t, this.e, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnresolvedType withE(final ExpCore e) { return this.e == e ? this : new UnresolvedType(this.t, e, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnresolvedType withPos(final Position pos) { return this.pos == pos ? this : new UnresolvedType(this.t, this.e, pos); } @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 ErrorMessage.UnresolvedType)) return false; final UnresolvedType other = (UnresolvedType)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$t = this.getT(); final java.lang.Object other$t = other.getT(); if (this$t == null ? other$t != null : !this$t.equals(other$t)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UnresolvedType; } @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 $t = this.getT(); result = result * PRIME + ($t == null ? 0 : $t.hashCode()); final java.lang.Object $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UnresolvedType(super=" + super.toString() + ", t=" + this.getT() + ", e=" + this.getE() + ", pos=" + this.getPos() + ")"; } } public static final class IncompleteClassIsRequired extends TypeError { private final String reason; private final ExpCore e; private final Path path; private final List<ClassB> p; private final Position pos; @java.beans.ConstructorProperties({"reason", "e", "path", "p", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired(final String reason, final ExpCore e, final Path path, final List<ClassB> p, final Position pos) { this.reason = reason; this.e = e; this.path = path; this.p = p; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getReason() { return this.reason; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getPath() { return this.path; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired withReason(final String reason) { return this.reason == reason ? this : new IncompleteClassIsRequired(reason, this.e, this.path, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired withE(final ExpCore e) { return this.e == e ? this : new IncompleteClassIsRequired(this.reason, e, this.path, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired withPath(final Path path) { return this.path == path ? this : new IncompleteClassIsRequired(this.reason, this.e, path, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired withP(final List<ClassB> p) { return this.p == p ? this : new IncompleteClassIsRequired(this.reason, this.e, this.path, p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public IncompleteClassIsRequired withPos(final Position pos) { return this.pos == pos ? this : new IncompleteClassIsRequired(this.reason, this.e, this.path, this.p, pos); } @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 ErrorMessage.IncompleteClassIsRequired)) return false; final IncompleteClassIsRequired other = (IncompleteClassIsRequired)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$reason = this.getReason(); final java.lang.Object other$reason = other.getReason(); if (this$reason == null ? other$reason != null : !this$reason.equals(other$reason)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$path = this.getPath(); final java.lang.Object other$path = other.getPath(); if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.IncompleteClassIsRequired; } @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 $reason = this.getReason(); result = result * PRIME + ($reason == null ? 0 : $reason.hashCode()); final java.lang.Object $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $path = this.getPath(); result = result * PRIME + ($path == null ? 0 : $path.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.IncompleteClassIsRequired(super=" + super.toString() + ", reason=" + this.getReason() + ", e=" + this.getE() + ", path=" + this.getPath() + ", p=" + this.getP() + ", pos=" + this.getPos() + ")"; } } public static final class ExceptionThrownNotCaptured extends TypeError { private final ExpCore e; private final Path path1; private final HashSet<Path> exceptions2; private final Position pos; @java.beans.ConstructorProperties({"e", "path1", "exceptions2", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExceptionThrownNotCaptured(final ExpCore e, final Path path1, final HashSet<Path> exceptions2, final Position pos) { this.e = e; this.path1 = path1; this.exceptions2 = exceptions2; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getPath1() { return this.path1; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HashSet<Path> getExceptions2() { return this.exceptions2; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExceptionThrownNotCaptured withE(final ExpCore e) { return this.e == e ? this : new ExceptionThrownNotCaptured(e, this.path1, this.exceptions2, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExceptionThrownNotCaptured withPath1(final Path path1) { return this.path1 == path1 ? this : new ExceptionThrownNotCaptured(this.e, path1, this.exceptions2, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExceptionThrownNotCaptured withExceptions2(final HashSet<Path> exceptions2) { return this.exceptions2 == exceptions2 ? this : new ExceptionThrownNotCaptured(this.e, this.path1, exceptions2, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExceptionThrownNotCaptured withPos(final Position pos) { return this.pos == pos ? this : new ExceptionThrownNotCaptured(this.e, this.path1, this.exceptions2, pos); } @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 ErrorMessage.ExceptionThrownNotCaptured)) return false; final ExceptionThrownNotCaptured other = (ExceptionThrownNotCaptured)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$path1 = this.getPath1(); final java.lang.Object other$path1 = other.getPath1(); if (this$path1 == null ? other$path1 != null : !this$path1.equals(other$path1)) return false; final java.lang.Object this$exceptions2 = this.getExceptions2(); final java.lang.Object other$exceptions2 = other.getExceptions2(); if (this$exceptions2 == null ? other$exceptions2 != null : !this$exceptions2.equals(other$exceptions2)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ExceptionThrownNotCaptured; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $path1 = this.getPath1(); result = result * PRIME + ($path1 == null ? 0 : $path1.hashCode()); final java.lang.Object $exceptions2 = this.getExceptions2(); result = result * PRIME + ($exceptions2 == null ? 0 : $exceptions2.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ExceptionThrownNotCaptured(super=" + super.toString() + ", e=" + this.getE() + ", path1=" + this.getPath1() + ", exceptions2=" + this.getExceptions2() + ", pos=" + this.getPos() + ")"; } } public static final class ConfusedResultingTypeForMultiCatch extends TypeError { private final List<ExpCore.Block.On> k; private final HashSet<Type> options; private final Position pos; @java.beans.ConstructorProperties({"k", "options", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForMultiCatch(final List<ExpCore.Block.On> k, final HashSet<Type> options, final Position pos) { this.k = k; this.options = options; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ExpCore.Block.On> getK() { return this.k; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public HashSet<Type> getOptions() { return this.options; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForMultiCatch withK(final List<ExpCore.Block.On> k) { return this.k == k ? this : new ConfusedResultingTypeForMultiCatch(k, this.options, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForMultiCatch withOptions(final HashSet<Type> options) { return this.options == options ? this : new ConfusedResultingTypeForMultiCatch(this.k, options, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForMultiCatch withPos(final Position pos) { return this.pos == pos ? this : new ConfusedResultingTypeForMultiCatch(this.k, this.options, pos); } @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 ErrorMessage.ConfusedResultingTypeForMultiCatch)) return false; final ConfusedResultingTypeForMultiCatch other = (ConfusedResultingTypeForMultiCatch)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$k = this.getK(); final java.lang.Object other$k = other.getK(); if (this$k == null ? other$k != null : !this$k.equals(other$k)) return false; final java.lang.Object this$options = this.getOptions(); final java.lang.Object other$options = other.getOptions(); if (this$options == null ? other$options != null : !this$options.equals(other$options)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ConfusedResultingTypeForMultiCatch; } @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 $k = this.getK(); result = result * PRIME + ($k == null ? 0 : $k.hashCode()); final java.lang.Object $options = this.getOptions(); result = result * PRIME + ($options == null ? 0 : $options.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ConfusedResultingTypeForMultiCatch(super=" + super.toString() + ", k=" + this.getK() + ", options=" + this.getOptions() + ", pos=" + this.getPos() + ")"; } } public static final class ConfusedResultingTypeForCatchAndBlock extends TypeError { private final ExpCore.Block e; private final Type te; private final Type tk; private final Position pos; @java.beans.ConstructorProperties({"e", "te", "tk", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForCatchAndBlock(final ExpCore.Block e, final Type te, final Type tk, final Position pos) { this.e = e; this.te = te; this.tk = tk; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.Block getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTe() { return this.te; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTk() { return this.tk; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForCatchAndBlock withE(final ExpCore.Block e) { return this.e == e ? this : new ConfusedResultingTypeForCatchAndBlock(e, this.te, this.tk, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForCatchAndBlock withTe(final Type te) { return this.te == te ? this : new ConfusedResultingTypeForCatchAndBlock(this.e, te, this.tk, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForCatchAndBlock withTk(final Type tk) { return this.tk == tk ? this : new ConfusedResultingTypeForCatchAndBlock(this.e, this.te, tk, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ConfusedResultingTypeForCatchAndBlock withPos(final Position pos) { return this.pos == pos ? this : new ConfusedResultingTypeForCatchAndBlock(this.e, this.te, this.tk, pos); } @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 ErrorMessage.ConfusedResultingTypeForCatchAndBlock)) return false; final ConfusedResultingTypeForCatchAndBlock other = (ConfusedResultingTypeForCatchAndBlock)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$te = this.getTe(); final java.lang.Object other$te = other.getTe(); if (this$te == null ? other$te != null : !this$te.equals(other$te)) return false; final java.lang.Object this$tk = this.getTk(); final java.lang.Object other$tk = other.getTk(); if (this$tk == null ? other$tk != null : !this$tk.equals(other$tk)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.ConfusedResultingTypeForCatchAndBlock; } @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 $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $te = this.getTe(); result = result * PRIME + ($te == null ? 0 : $te.hashCode()); final java.lang.Object $tk = this.getTk(); result = result * PRIME + ($tk == null ? 0 : $tk.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.ConfusedResultingTypeForCatchAndBlock(super=" + super.toString() + ", e=" + this.getE() + ", te=" + this.getTe() + ", tk=" + this.getTk() + ", pos=" + this.getPos() + ")"; } } public static final class PathsNotSubtype extends TypeError { private final Type tActual; private final Type tExpected; private final ExpCore e; private final List<ClassB> p; private final Position pos; @java.beans.ConstructorProperties({"tActual", "tExpected", "e", "p", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype(final Type tActual, final Type tExpected, final ExpCore e, final List<ClassB> p, final Position pos) { this.tActual = tActual; this.tExpected = tExpected; this.e = e; this.p = p; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTActual() { return this.tActual; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTExpected() { return this.tExpected; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype withTActual(final Type tActual) { return this.tActual == tActual ? this : new PathsNotSubtype(tActual, this.tExpected, this.e, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype withTExpected(final Type tExpected) { return this.tExpected == tExpected ? this : new PathsNotSubtype(this.tActual, tExpected, this.e, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype withE(final ExpCore e) { return this.e == e ? this : new PathsNotSubtype(this.tActual, this.tExpected, e, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype withP(final List<ClassB> p) { return this.p == p ? this : new PathsNotSubtype(this.tActual, this.tExpected, this.e, p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PathsNotSubtype withPos(final Position pos) { return this.pos == pos ? this : new PathsNotSubtype(this.tActual, this.tExpected, this.e, this.p, pos); } @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 ErrorMessage.PathsNotSubtype)) return false; final PathsNotSubtype other = (PathsNotSubtype)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$tActual = this.getTActual(); final java.lang.Object other$tActual = other.getTActual(); if (this$tActual == null ? other$tActual != null : !this$tActual.equals(other$tActual)) return false; final java.lang.Object this$tExpected = this.getTExpected(); final java.lang.Object other$tExpected = other.getTExpected(); if (this$tExpected == null ? other$tExpected != null : !this$tExpected.equals(other$tExpected)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PathsNotSubtype; } @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 $tActual = this.getTActual(); result = result * PRIME + ($tActual == null ? 0 : $tActual.hashCode()); final java.lang.Object $tExpected = this.getTExpected(); result = result * PRIME + ($tExpected == null ? 0 : $tExpected.hashCode()); final java.lang.Object $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PathsNotSubtype(super=" + super.toString() + ", tActual=" + this.getTActual() + ", tExpected=" + this.getTExpected() + ", e=" + this.getE() + ", p=" + this.getP() + ", pos=" + this.getPos() + ")"; } } public static final class TypesNotSubtype extends TypeError { private final Type tActual; private final Type tExpected; private final ExpCore e; private final Throwable promotionAttemptedBut; private final Position pos; @java.beans.ConstructorProperties({"tActual", "tExpected", "e", "promotionAttemptedBut", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype(final Type tActual, final Type tExpected, final ExpCore e, final Throwable promotionAttemptedBut, final Position pos) { this.tActual = tActual; this.tExpected = tExpected; this.e = e; this.promotionAttemptedBut = promotionAttemptedBut; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTActual() { return this.tActual; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getTExpected() { return this.tExpected; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getE() { return this.e; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Throwable getPromotionAttemptedBut() { return this.promotionAttemptedBut; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype withTActual(final Type tActual) { return this.tActual == tActual ? this : new TypesNotSubtype(tActual, this.tExpected, this.e, this.promotionAttemptedBut, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype withTExpected(final Type tExpected) { return this.tExpected == tExpected ? this : new TypesNotSubtype(this.tActual, tExpected, this.e, this.promotionAttemptedBut, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype withE(final ExpCore e) { return this.e == e ? this : new TypesNotSubtype(this.tActual, this.tExpected, e, this.promotionAttemptedBut, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype withPromotionAttemptedBut(final Throwable promotionAttemptedBut) { return this.promotionAttemptedBut == promotionAttemptedBut ? this : new TypesNotSubtype(this.tActual, this.tExpected, this.e, promotionAttemptedBut, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public TypesNotSubtype withPos(final Position pos) { return this.pos == pos ? this : new TypesNotSubtype(this.tActual, this.tExpected, this.e, this.promotionAttemptedBut, pos); } @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 ErrorMessage.TypesNotSubtype)) return false; final TypesNotSubtype other = (TypesNotSubtype)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$tActual = this.getTActual(); final java.lang.Object other$tActual = other.getTActual(); if (this$tActual == null ? other$tActual != null : !this$tActual.equals(other$tActual)) return false; final java.lang.Object this$tExpected = this.getTExpected(); final java.lang.Object other$tExpected = other.getTExpected(); if (this$tExpected == null ? other$tExpected != null : !this$tExpected.equals(other$tExpected)) return false; final java.lang.Object this$e = this.getE(); final java.lang.Object other$e = other.getE(); if (this$e == null ? other$e != null : !this$e.equals(other$e)) return false; final java.lang.Object this$promotionAttemptedBut = this.getPromotionAttemptedBut(); final java.lang.Object other$promotionAttemptedBut = other.getPromotionAttemptedBut(); if (this$promotionAttemptedBut == null ? other$promotionAttemptedBut != null : !this$promotionAttemptedBut.equals(other$promotionAttemptedBut)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.TypesNotSubtype; } @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 $tActual = this.getTActual(); result = result * PRIME + ($tActual == null ? 0 : $tActual.hashCode()); final java.lang.Object $tExpected = this.getTExpected(); result = result * PRIME + ($tExpected == null ? 0 : $tExpected.hashCode()); final java.lang.Object $e = this.getE(); result = result * PRIME + ($e == null ? 0 : $e.hashCode()); final java.lang.Object $promotionAttemptedBut = this.getPromotionAttemptedBut(); result = result * PRIME + ($promotionAttemptedBut == null ? 0 : $promotionAttemptedBut.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.TypesNotSubtype(super=" + super.toString() + ", tActual=" + this.getTActual() + ", tExpected=" + this.getTExpected() + ", e=" + this.getE() + ", promotionAttemptedBut=" + this.getPromotionAttemptedBut() + ", pos=" + this.getPos() + ")"; } } public static final class MethodNotPresent extends TypeError implements PosImprove { private final Path path; private final MethodSelector ms; private final ExpCore.MCall call; private final List<ClassB> p; private final Position pos; @java.beans.ConstructorProperties({"path", "ms", "call", "p", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent(final Path path, final MethodSelector ms, final ExpCore.MCall call, final List<ClassB> p, final Position pos) { this.path = path; this.ms = ms; this.call = call; this.p = p; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Path getPath() { return this.path; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodSelector getMs() { return this.ms; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore.MCall getCall() { return this.call; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public List<ClassB> getP() { return this.p; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent withPath(final Path path) { return this.path == path ? this : new MethodNotPresent(path, this.ms, this.call, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent withMs(final MethodSelector ms) { return this.ms == ms ? this : new MethodNotPresent(this.path, ms, this.call, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent withCall(final ExpCore.MCall call) { return this.call == call ? this : new MethodNotPresent(this.path, this.ms, call, this.p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent withP(final List<ClassB> p) { return this.p == p ? this : new MethodNotPresent(this.path, this.ms, this.call, p, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public MethodNotPresent withPos(final Position pos) { return this.pos == pos ? this : new MethodNotPresent(this.path, this.ms, this.call, this.p, pos); } @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 ErrorMessage.MethodNotPresent)) return false; final MethodNotPresent other = (MethodNotPresent)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$path = this.getPath(); final java.lang.Object other$path = other.getPath(); if (this$path == null ? other$path != null : !this$path.equals(other$path)) return false; final java.lang.Object this$ms = this.getMs(); final java.lang.Object other$ms = other.getMs(); if (this$ms == null ? other$ms != null : !this$ms.equals(other$ms)) return false; final java.lang.Object this$call = this.getCall(); final java.lang.Object other$call = other.getCall(); if (this$call == null ? other$call != null : !this$call.equals(other$call)) return false; final java.lang.Object this$p = this.getP(); final java.lang.Object other$p = other.getP(); if (this$p == null ? other$p != null : !this$p.equals(other$p)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.MethodNotPresent; } @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 $path = this.getPath(); result = result * PRIME + ($path == null ? 0 : $path.hashCode()); final java.lang.Object $ms = this.getMs(); result = result * PRIME + ($ms == null ? 0 : $ms.hashCode()); final java.lang.Object $call = this.getCall(); result = result * PRIME + ($call == null ? 0 : $call.hashCode()); final java.lang.Object $p = this.getP(); result = result * PRIME + ($p == null ? 0 : $p.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.MethodNotPresent(super=" + super.toString() + ", path=" + this.getPath() + ", ms=" + this.getMs() + ", call=" + this.getCall() + ", p=" + this.getP() + ", pos=" + this.getPos() + ")"; } } //not used right now, may be is not useful public static final class UnlockImpossible extends TypeError { private final Throwable unlockAttemptedBut; private final Position pos; @java.beans.ConstructorProperties({"unlockAttemptedBut", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnlockImpossible(final Throwable unlockAttemptedBut, final Position pos) { this.unlockAttemptedBut = unlockAttemptedBut; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Throwable getUnlockAttemptedBut() { return this.unlockAttemptedBut; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnlockImpossible withUnlockAttemptedBut(final Throwable unlockAttemptedBut) { return this.unlockAttemptedBut == unlockAttemptedBut ? this : new UnlockImpossible(unlockAttemptedBut, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public UnlockImpossible withPos(final Position pos) { return this.pos == pos ? this : new UnlockImpossible(this.unlockAttemptedBut, pos); } @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 ErrorMessage.UnlockImpossible)) return false; final UnlockImpossible other = (UnlockImpossible)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$unlockAttemptedBut = this.getUnlockAttemptedBut(); final java.lang.Object other$unlockAttemptedBut = other.getUnlockAttemptedBut(); if (this$unlockAttemptedBut == null ? other$unlockAttemptedBut != null : !this$unlockAttemptedBut.equals(other$unlockAttemptedBut)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.UnlockImpossible; } @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 $unlockAttemptedBut = this.getUnlockAttemptedBut(); result = result * PRIME + ($unlockAttemptedBut == null ? 0 : $unlockAttemptedBut.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.UnlockImpossible(super=" + super.toString() + ", unlockAttemptedBut=" + this.getUnlockAttemptedBut() + ", pos=" + this.getPos() + ")"; } } public static final class InvalidURL extends TypeError { private final String url; private final Position pos; @java.beans.ConstructorProperties({"url", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidURL(final String url, final Position pos) { this.url = url; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public String getUrl() { return this.url; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidURL withUrl(final String url) { return this.url == url ? this : new InvalidURL(url, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public InvalidURL withPos(final Position pos) { return this.pos == pos ? this : new InvalidURL(this.url, pos); } @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 ErrorMessage.InvalidURL)) return false; final InvalidURL other = (InvalidURL)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$url = this.getUrl(); final java.lang.Object other$url = other.getUrl(); if (this$url == null ? other$url != null : !this$url.equals(other$url)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.InvalidURL; } @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 $url = this.getUrl(); result = result * PRIME + ($url == null ? 0 : $url.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.InvalidURL(super=" + super.toString() + ", url=" + this.getUrl() + ", pos=" + this.getPos() + ")"; } } public static final class PromotionImpossible extends TypeError { private final Type pFrom; private final Type pTo; private final Throwable sealCause; private final ExpCore inner; private final Position pos; @java.beans.ConstructorProperties({"pFrom", "pTo", "sealCause", "inner", "pos"}) @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible(final Type pFrom, final Type pTo, final Throwable sealCause, final ExpCore inner, final Position pos) { this.pFrom = pFrom; this.pTo = pTo; this.sealCause = sealCause; this.inner = inner; this.pos = pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getPFrom() { return this.pFrom; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Type getPTo() { return this.pTo; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Throwable getSealCause() { return this.sealCause; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public ExpCore getInner() { return this.inner; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public Position getPos() { return this.pos; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible withPFrom(final Type pFrom) { return this.pFrom == pFrom ? this : new PromotionImpossible(pFrom, this.pTo, this.sealCause, this.inner, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible withPTo(final Type pTo) { return this.pTo == pTo ? this : new PromotionImpossible(this.pFrom, pTo, this.sealCause, this.inner, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible withSealCause(final Throwable sealCause) { return this.sealCause == sealCause ? this : new PromotionImpossible(this.pFrom, this.pTo, sealCause, this.inner, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible withInner(final ExpCore inner) { return this.inner == inner ? this : new PromotionImpossible(this.pFrom, this.pTo, this.sealCause, inner, this.pos); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public PromotionImpossible withPos(final Position pos) { return this.pos == pos ? this : new PromotionImpossible(this.pFrom, this.pTo, this.sealCause, this.inner, pos); } @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 ErrorMessage.PromotionImpossible)) return false; final PromotionImpossible other = (PromotionImpossible)o; if (!other.canEqual((java.lang.Object)this)) return false; final java.lang.Object this$pFrom = this.getPFrom(); final java.lang.Object other$pFrom = other.getPFrom(); if (this$pFrom == null ? other$pFrom != null : !this$pFrom.equals(other$pFrom)) return false; final java.lang.Object this$pTo = this.getPTo(); final java.lang.Object other$pTo = other.getPTo(); if (this$pTo == null ? other$pTo != null : !this$pTo.equals(other$pTo)) return false; final java.lang.Object this$sealCause = this.getSealCause(); final java.lang.Object other$sealCause = other.getSealCause(); if (this$sealCause == null ? other$sealCause != null : !this$sealCause.equals(other$sealCause)) return false; final java.lang.Object this$inner = this.getInner(); final java.lang.Object other$inner = other.getInner(); if (this$inner == null ? other$inner != null : !this$inner.equals(other$inner)) return false; final java.lang.Object this$pos = this.getPos(); final java.lang.Object other$pos = other.getPos(); if (this$pos == null ? other$pos != null : !this$pos.equals(other$pos)) return false; return true; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") protected boolean canEqual(final java.lang.Object other) { return other instanceof ErrorMessage.PromotionImpossible; } @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 $pFrom = this.getPFrom(); result = result * PRIME + ($pFrom == null ? 0 : $pFrom.hashCode()); final java.lang.Object $pTo = this.getPTo(); result = result * PRIME + ($pTo == null ? 0 : $pTo.hashCode()); final java.lang.Object $sealCause = this.getSealCause(); result = result * PRIME + ($sealCause == null ? 0 : $sealCause.hashCode()); final java.lang.Object $inner = this.getInner(); result = result * PRIME + ($inner == null ? 0 : $inner.hashCode()); final java.lang.Object $pos = this.getPos(); result = result * PRIME + ($pos == null ? 0 : $pos.hashCode()); return result; } @java.lang.Override @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public java.lang.String toString() { return "ErrorMessage.PromotionImpossible(super=" + super.toString() + ", pFrom=" + this.getPFrom() + ", pTo=" + this.getPTo() + ", sealCause=" + this.getSealCause() + ", inner=" + this.getInner() + ", pos=" + this.getPos() + ")"; } } }