//Function to generate constructor call and add IdentifierExpressions from contract users.
        private List <BoogieCmd> GenerateConstructorCall(ContractDefinition contract)
        {
            List <BoogieCmd> localStmtList = new List <BoogieCmd>();
            string           callee        = Conversion_Utility_Tool.GetCanonicalConstructorName(contract);

            //Identify third part users of the conttract.
            //sender refers external party call.
            List <BoogieExpr> constructorCallInputs = new List <BoogieExpr>();

            constructorCallInputs.Add(new BoogieIdentifierExpr("this"));
            constructorCallInputs.Add(new BoogieIdentifierExpr("msgsender_MSG"));
            constructorCallInputs.Add(new BoogieIdentifierExpr("msgvalue_MSG"));


            if (classTranslatorContext.checkConstructorExists(contract) == true)
            {
                FunctionDefinition constructor = classTranslatorContext.retrieveConstructor(contract);
                foreach (VariableDeclaration param in constructor.Parameters.Parameters)
                {
                    string name = Conversion_Utility_Tool.GetCanonicalLocalVariableName(param, classTranslatorContext);
                    constructorCallInputs.Add(new BoogieIdentifierExpr(name));

                    if (param.TypeName is ArrayTypeName)
                    {
                        localStmtList.Add(new BoogieCallCmd(
                                              "FreshRefGenerator",
                                              new List <BoogieExpr>(), new List <BoogieIdentifierExpr>()
                        {
                            new BoogieIdentifierExpr(name)
                        }));
                    }
                }
            }

            if (Flags_HelperClass.InstrumentGas)
            {
                Conversion_Utility_Tool.havocGas(localStmtList);
            }

            localStmtList.Add(new BoogieCallCmd(callee, constructorCallInputs, null));
            return(localStmtList);
        }