Esempio n. 1
0
 public bool HasStateVarInContract(ContractDefinition contract, VariableDeclaration varDecl)
 {
     if (!ContractToStateVarsMap.ContainsKey(contract))
     {
         return(false);
     }
     return(ContractToStateVarsMap[contract].Contains(varDecl));
 }
Esempio n. 2
0
        public void AddStateVarToContract(ContractDefinition contract, VariableDeclaration varDecl)
        {
            Debug.Assert(varDecl.StateVariable, $"{varDecl.Name} is not a state variable");
            if (!ContractToStateVarsMap.ContainsKey(contract))
            {
                ContractToStateVarsMap[contract] = new HashSet <VariableDeclaration>();
            }

            Debug.Assert(!ContractToStateVarsMap[contract].Contains(varDecl), $"Duplicated state variable: {varDecl.Name}");
            ContractToStateVarsMap[contract].Add(varDecl);

            Debug.Assert(!StateVarToContractMap.ContainsKey(varDecl), $"Duplicated state variable: {varDecl.Name}");
            StateVarToContractMap[varDecl] = contract;
        }
Esempio n. 3
0
 public HashSet <VariableDeclaration> GetStateVarsByContract(ContractDefinition contract)
 {
     return(ContractToStateVarsMap.ContainsKey(contract) ? ContractToStateVarsMap[contract] : new HashSet <VariableDeclaration>());
 }