Beispiel #1
0
        private Block CreateInitialBlock(Implementation impl, List <Cmd> preconditions)
        {
            var initCmds = new List <Cmd>(preconditions);

            initCmds.AddRange(globalSnapshotInstrumentation.CreateInitCmds());
            initCmds.AddRange(refinementInstrumentation.CreateInitCmds());
            initCmds.AddRange(noninterferenceInstrumentation.CreateInitCmds(impl));
            return(BlockHelper.Block(civlTypeChecker.AddNamePrefix("init"), initCmds, new List <Block> {
                impl.Blocks[0]
            }));
        }
Beispiel #2
0
        private Block CreateInitialBlock(Implementation impl, List <Cmd> preconditions)
        {
            var initCmds = new List <Cmd>(preconditions);

            initCmds.AddRange(globalSnapshotInstrumentation.CreateInitCmds());
            initCmds.AddRange(refinementInstrumentation.CreateInitCmds());
            initCmds.AddRange(noninterferenceInstrumentation.CreateInitCmds(impl));
            var gotoCmd = new GotoCmd(Token.NoToken, new List <String> {
                impl.Blocks[0].Label
            },
                                      new List <Block> {
                impl.Blocks[0]
            });

            return(new Block(Token.NoToken, civlTypeChecker.AddNamePrefix("init"), initCmds, gotoCmd));
        }
Beispiel #3
0
        private Block AddInitialBlock(Implementation impl)
        {
            var initCmds = new List <Cmd>();

            initCmds.AddRange(globalSnapshotInstrumentation.CreateInitCmds());
            initCmds.AddRange(refinementInstrumentation.CreateInitCmds());
            initCmds.AddRange(noninterferenceInstrumentation.CreateInitCmds(impl));
            var gotoCmd = new GotoCmd(Token.NoToken, new List <String> {
                impl.Blocks[0].Label
            },
                                      new List <Block> {
                impl.Blocks[0]
            });

            return(new Block(Token.NoToken, "og_init", initCmds, gotoCmd));
        }