private static ContractConsistencyInfo ComputeExposureForMethod(Method m) { ContractConsistencyInfo ei = null; if (!cache.ContainsKey(m)) { ei = new ContractConsistencyInfo(); MethodContract contract = m.Contract; if (!m.ApplyDefaultContract && !m.IsPropertyGetter) { ei.Init(m, ei.requiresExposable, false); ei.Init(m, ei.ensuresExposable, false); ContractVisitor requiresVisitor = new ContractVisitor(ei.requiresExposable, m); // requiresVisitor.VisitMethodContract(contract); requiresVisitor.VisitRequiresList(contract.Requires); ContractVisitor ensuresVisitor = new ContractVisitor(ei.ensuresExposable, m); ensuresVisitor.VisitEnsuresList(contract.Ensures); } else { ei.Init(m, ei.requiresExposable, true); ei.Init(m, ei.ensuresExposable, true); } } else { ei = cache[m]; } return(ei); }
private static ContractConsistencyInfo ComputeExposureForMethod(Method m) { ContractConsistencyInfo ei = null; if (!cache.ContainsKey(m)) { ei = new ContractConsistencyInfo(); MethodContract contract = m.Contract; if (!m.ApplyDefaultContract && !m.IsPropertyGetter) { ei.Init(m, ei.requiresExposable, false); ei.Init(m, ei.ensuresExposable, false); ContractVisitor requiresVisitor = new ContractVisitor(ei.requiresExposable, m); // requiresVisitor.VisitMethodContract(contract); requiresVisitor.VisitRequiresList(contract.Requires); ContractVisitor ensuresVisitor = new ContractVisitor(ei.ensuresExposable, m); ensuresVisitor.VisitEnsuresList(contract.Ensures); } else { ei.Init(m, ei.requiresExposable, true); ei.Init(m, ei.ensuresExposable, true); } } else { ei = cache[m]; } return ei; }