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() { { final Number ignorePattern_1 = f(); //@ assert Utils.is_nat(ignorePattern_1); /* skip */ } IO.println("Done! Expected no violations"); return 0L; } /*@ pure @*/ public static Number f() { final Tuple tuplePattern_1 = Tuple.mk_(1L, 2L); //@ assert (V2J.isTup(tuplePattern_1,2) && Utils.is_nat1(V2J.field(tuplePattern_1,0)) && Utils.is_nat1(V2J.field(tuplePattern_1,1))); Boolean success_1 = tuplePattern_1.compatible(Number.class, Number.class); //@ assert Utils.is_bool(success_1); Number a = null; Number b = null; if (success_1) { a = ((Number) tuplePattern_1.get(0)); //@ assert Utils.is_nat1(a); b = ((Number) tuplePattern_1.get(1)); //@ assert Utils.is_nat1(b); } if (!(success_1)) { throw new RuntimeException("Tuple pattern match failed"); } Number ret_1 = a.longValue() + b.longValue(); //@ assert Utils.is_nat(ret_1); return ret_1; } public String toString() { return "Entry{}"; } }