/// <summary> /// Removes unnecessary parts of asserts (e.g. combined by && where one part is not needed) /// </summary> /// <returns></returns> public List <Tuple <Statement, Statement> > GetSimplifiedAsserts() { var simplifier = new Simplifier(Program); var wrappedAsserts = simplifier.GetSimplifiedItems(AllRemovableTypes.Asserts); var asserts = new List <Tuple <Statement, Statement> >(); foreach (var assert in wrappedAsserts) { AllRemovableTypes.AddAssert(assert.Item2, AllRemovableTypes.FindMemberFromAssertWrap(assert.Item1)); AllRemovableTypes.RemoveAssert(assert.Item1); asserts.Add(new Tuple <Statement, Statement>(assert.Item1.Removable, assert.Item2.Removable)); } return(asserts); }
public List <Tuple <MaybeFreeExpression, MaybeFreeExpression> > GetSimplifiedInvariants() { var simplifier = new Simplifier(Program); var wrappedInvariants = simplifier.GetSimplifiedItems(AllRemovableTypes.Invariants); var invariants = new List <Tuple <MaybeFreeExpression, MaybeFreeExpression> >(); foreach (var wrappedInvariant in wrappedInvariants) { AllRemovableTypes.AddInvariant(wrappedInvariant.Item2, AllRemovableTypes.FindMemberFromInvariantWrap(wrappedInvariant.Item1)); AllRemovableTypes.RemoveInvariant(wrappedInvariant.Item1); invariants.Add(new Tuple <MaybeFreeExpression, MaybeFreeExpression>(wrappedInvariant.Item1.Removable, wrappedInvariant.Item2.Removable)); } return(invariants); }
/// <summary> /// Removes unnecessary parts of asserts (e.g. combined by && where one part is not needed) /// </summary> /// <returns></returns> public List<Tuple<Statement, Statement>> GetSimplifiedAsserts() { var simplifier = new Simplifier(Program); var wrappedAsserts = simplifier.GetSimplifiedItems(AllRemovableTypes.Asserts); var asserts = new List<Tuple<Statement, Statement>>(); foreach (var assert in wrappedAsserts) { AllRemovableTypes.AddAssert(assert.Item2, AllRemovableTypes.FindMemberFromAssertWrap(assert.Item1)); AllRemovableTypes.RemoveAssert(assert.Item1); asserts.Add(new Tuple<Statement, Statement>(assert.Item1.Removable, assert.Item2.Removable)); } return asserts; }
public List<Tuple<MaybeFreeExpression, MaybeFreeExpression>> GetSimplifiedInvariants() { var simplifier = new Simplifier(Program); var wrappedInvariants = simplifier.GetSimplifiedItems(AllRemovableTypes.Invariants); var invariants = new List<Tuple<MaybeFreeExpression, MaybeFreeExpression>>(); foreach (var wrappedInvariant in wrappedInvariants) { AllRemovableTypes.AddInvariant(wrappedInvariant.Item2, AllRemovableTypes.FindMemberFromInvariantWrap(wrappedInvariant.Item1)); AllRemovableTypes.RemoveInvariant(wrappedInvariant.Item1); invariants.Add(new Tuple<MaybeFreeExpression, MaybeFreeExpression>(wrappedInvariant.Item1.Removable, wrappedInvariant.Item2.Removable)); } return invariants; }