예제 #1
0
        public bool TraceAggregateSequentally(Label current)
        {
            bool isCurrentBranches;
            bool isCurrentHasSuccessor;

            do
            {
                ICodeProvider <Label> codeProvider = this.parent.CodeProvider;
                isCurrentBranches     = codeProvider.Decode <BlockStartGatherer <Label>, Dummy, bool> (current, this, Dummy.Value);
                isCurrentHasSuccessor = codeProvider.Next(current, out current);
                if (isCurrentBranches && isCurrentHasSuccessor)
                {
                    AddBlockStart(current);
                }
            } while (isCurrentHasSuccessor);

            return(isCurrentBranches);
        }