package project.Entrytypes; import java.util.*; import org.overture.codegen.runtime.*; import org.overture.codegen.vdm2jml.runtime.*; @SuppressWarnings("all") //@ nullable_by_default final public class R3 implements Record { public project.Entrytypes.R4 r4; //@ public instance invariant project.Entry.invChecksOn ==> inv_R3(r4); public R3(final project.Entrytypes.R4 _r4) { //@ assert Utils.is_(_r4,project.Entrytypes.R4.class); r4 = _r4 != null ? Utils.copy(_r4) : null; //@ assert Utils.is_(r4,project.Entrytypes.R4.class); } /*@ pure @*/ public boolean equals(final Object obj) { if (!(obj instanceof project.Entrytypes.R3)) { return false; } project.Entrytypes.R3 other = ((project.Entrytypes.R3) obj); return Utils.equals(r4, other.r4); } /*@ pure @*/ public int hashCode() { return Utils.hashCode(r4); } /*@ pure @*/ public project.Entrytypes.R3 copy() { return new project.Entrytypes.R3(r4); } /*@ pure @*/ public String toString() { return "mk_Entry`R3" + Utils.formatFields(r4); } /*@ pure @*/ public project.Entrytypes.R4 get_r4() { project.Entrytypes.R4 ret_5 = r4; //@ assert project.Entry.invChecksOn ==> (Utils.is_(ret_5,project.Entrytypes.R4.class)); return ret_5; } public void set_r4(final project.Entrytypes.R4 _r4) { //@ assert project.Entry.invChecksOn ==> (Utils.is_(_r4,project.Entrytypes.R4.class)); r4 = _r4; //@ assert project.Entry.invChecksOn ==> (Utils.is_(r4,project.Entrytypes.R4.class)); } /*@ pure @*/ public Boolean valid() { return true; } /*@ pure @*/ /*@ helper @*/ public static Boolean inv_R3(final project.Entrytypes.R4 _r4) { return !(Utils.equals(_r4.x, 3L)); } /*@ pure @*/ /*@ helper @*/ public static Boolean inv_Entry_T3(final Object check_t3) { Object t3 = ((Object) check_t3); Boolean andResult_1 = false; Boolean orResult_1 = false; if (!(Utils.is_(t3, project.Entrytypes.R3.class))) { orResult_1 = true; } else { project.Entrytypes.R4 apply_9 = null; if (t3 instanceof project.Entrytypes.R3) { apply_9 = ((project.Entrytypes.R3) t3).get_r4(); } else { throw new RuntimeException("Missing member: r4"); } orResult_1 = !(Utils.equals(apply_9.get_x(), 10L)); } if (orResult_1) { Boolean orResult_2 = false; if (!(Utils.is_(t3, project.Entrytypes.X.class))) { orResult_2 = true; } else { Boolean apply_10 = null; if (t3 instanceof project.Entrytypes.X) { apply_10 = ((project.Entrytypes.X) t3).get_b(); } else { throw new RuntimeException("Missing member: b"); } orResult_2 = apply_10; } if (orResult_2) { andResult_1 = true; } } return andResult_1; } }