Example #1
0
        static Bpl.Trigger BplTriggerHeap(Translator translator, Bpl.IToken tok, Bpl.Expr e, Bpl.Expr /*?*/ optionalHeap, Bpl.Expr /*?*/ ePrime = null)
        {
            Contract.Requires(translator != null);
            Contract.Requires(tok != null);
            Contract.Requires(e != null);

            var exprs = new List <Bpl.Expr> {
                e
            };

            if (ePrime != null)
            {
                exprs.Add(ePrime);
            }
            if (optionalHeap != null)
            {
                exprs.Add(translator.FunctionCall(tok, BuiltinFunction.IsGoodHeap, null, optionalHeap));
            }
            return(new Bpl.Trigger(tok, true, exprs));
        }