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 Tuple ignorePattern_1 = ((Tuple) Tup4()); //@ assert (V2J.isTup(ignorePattern_1,4) && Utils.is_nat(V2J.field(ignorePattern_1,0)) && Utils.is_nat(V2J.field(ignorePattern_1,1)) && Utils.is_char(V2J.field(ignorePattern_1,2)) && Utils.is_bool(V2J.field(ignorePattern_1,3))); /* skip */ } IO.println("After legal use"); IO.println("Before illegal use"); { final Tuple ignorePattern_2 = ((Tuple) Tup3()); //@ assert (V2J.isTup(ignorePattern_2,4) && Utils.is_nat(V2J.field(ignorePattern_2,0)) && Utils.is_nat(V2J.field(ignorePattern_2,1)) && Utils.is_char(V2J.field(ignorePattern_2,2)) && Utils.is_bool(V2J.field(ignorePattern_2,3))); /* skip */ } IO.println("After illegal use"); return 0L; } /*@ pure @*/ public static Object Tup3() { Object ret_1 = Tuple.mk_(1L, 'a', true); //@ assert ((V2J.isTup(ret_1,3) && Utils.is_nat(V2J.field(ret_1,0)) && Utils.is_char(V2J.field(ret_1,1)) && Utils.is_bool(V2J.field(ret_1,2))) || (V2J.isTup(ret_1,4) && Utils.is_nat(V2J.field(ret_1,0)) && Utils.is_nat(V2J.field(ret_1,1)) && Utils.is_char(V2J.field(ret_1,2)) && Utils.is_bool(V2J.field(ret_1,3)))); return Utils.copy(ret_1); } /*@ pure @*/ public static Object Tup4() { Object ret_2 = Tuple.mk_(1L, 2L, 'b', false); //@ assert ((V2J.isTup(ret_2,3) && Utils.is_nat(V2J.field(ret_2,0)) && Utils.is_char(V2J.field(ret_2,1)) && Utils.is_bool(V2J.field(ret_2,2))) || (V2J.isTup(ret_2,4) && Utils.is_nat(V2J.field(ret_2,0)) && Utils.is_nat(V2J.field(ret_2,1)) && Utils.is_char(V2J.field(ret_2,2)) && Utils.is_bool(V2J.field(ret_2,3)))); return Utils.copy(ret_2); } public String toString() { return "Entry{}"; } }