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 legal use"); { final VDMMap ignorePattern_1 = consInjMap(); //@ assert (V2J.isInjMap(ignorePattern_1) && (\forall int i; 0 <= i && i < V2J.size(ignorePattern_1); Utils.is_nat(V2J.getDom(ignorePattern_1,i)) && Utils.is_(V2J.getRng(ignorePattern_1,i),project.Entrytypes.V2.class))); /* skip */ } IO.println("After legal use"); IO.println("Before illegal use"); { final VDMMap ignorePattern_2 = consInjMapErr(); //@ assert (V2J.isInjMap(ignorePattern_2) && (\forall int i; 0 <= i && i < V2J.size(ignorePattern_2); Utils.is_nat(V2J.getDom(ignorePattern_2,i)) && Utils.is_(V2J.getRng(ignorePattern_2,i),project.Entrytypes.V2.class))); /* skip */ } IO.println("After illegal use"); return 0L; } /*@ pure @*/ public static VDMMap consInjMap() { VDMMap ret_1 = MapUtil.map( new Maplet(1L, new project.Entrytypes.V2(1L, 2L)), new Maplet(2L, new project.Entrytypes.V2(2L, 1L))); //@ assert (V2J.isInjMap(ret_1) && (\forall int i; 0 <= i && i < V2J.size(ret_1); Utils.is_nat(V2J.getDom(ret_1,i)) && Utils.is_(V2J.getRng(ret_1,i),project.Entrytypes.V2.class))); return Utils.copy(ret_1); } /*@ pure @*/ public static VDMMap consInjMapErr() { VDMMap ret_2 = MapUtil.map( new Maplet(1L, new project.Entrytypes.V2(1L, 2L)), new Maplet(2L, new project.Entrytypes.V2(2L, 1L)), new Maplet(3L, new project.Entrytypes.V2(1L, 2L))); //@ assert (V2J.isInjMap(ret_2) && (\forall int i; 0 <= i && i < V2J.size(ret_2); Utils.is_nat(V2J.getDom(ret_2,i)) && Utils.is_(V2J.getRng(ret_2,i),project.Entrytypes.V2.class))); return Utils.copy(ret_2); } public String toString() { return "Entry{}"; } }