AreEqual() public static méthode

public static AreEqual ( DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b ) : bool
a DefiniteAssignmentBitSet
b DefiniteAssignmentBitSet
Résultat bool
Exemple #1
0
        public bool AddReachedLabel(Statement label)
        {
            List <DefiniteAssignmentBitSet> das;

            if (LabelStack == null)
            {
                LabelStack = new Dictionary <Statement, List <DefiniteAssignmentBitSet> > ();
                das        = null;
            }
            else
            {
                LabelStack.TryGetValue(label, out das);
            }

            if (das == null)
            {
                das = new List <DefiniteAssignmentBitSet> ();
                das.Add(new DefiniteAssignmentBitSet(DefiniteAssignment));
                LabelStack.Add(label, das);
                return(false);
            }

            foreach (var existing in das)
            {
                if (DefiniteAssignmentBitSet.AreEqual(existing, DefiniteAssignment))
                {
                    return(true);
                }
            }

            if (DefiniteAssignment == DefiniteAssignmentBitSet.Empty)
            {
                das.Add(DefiniteAssignment);
            }
            else
            {
                das.Add(new DefiniteAssignmentBitSet(DefiniteAssignment));
            }

            return(false);
        }