package project; import java.util.*; import org.overture.codegen.runtime.*; import org.overture.codegen.vdm2jml.runtime.*; @SuppressWarnings("all") //@ nullable_by_default final public class Entry { /*@ public ghost static boolean invChecksOn = true; @*/ private Entry() {} public static Object Run() { IO.println("Before valid use"); { Number e = 2L; //@ assert ((e == null) || Utils.is_nat(e) && inv_Entry_Even(e)); e = null; //@ assert ((e == null) || Utils.is_nat(e) && inv_Entry_Even(e)); } IO.println("After valid use"); IO.println("Before invalid use"); { Number e = 2L; //@ assert (Utils.is_nat(e) && inv_Entry_Even(e)); e = Nil(); //@ assert (Utils.is_nat(e) && inv_Entry_Even(e)); } IO.println("After invalid use"); return 0L; } /*@ pure @*/ public static Number Nil() { Number ret_1 = null; //@ assert ((ret_1 == null) || Utils.is_nat(ret_1) && inv_Entry_Even(ret_1)); return ret_1; } public String toString() { return "Entry{}"; } /*@ pure @*/ /*@ helper @*/ public static Boolean inv_Entry_Even(final Object check_e) { Number e = ((Number) check_e); return Utils.equals(Utils.mod(e.longValue(), 2L), 0L); } }