protected virtual void CollapseChildChange(ChangeType change)
        {
            if (!ChangeTypeUtil.IsAddRemove(_changeThisInstance))
            {
                if (((change & ChangeType.Added) != 0) || ((change & ChangeType.RemovedNonBreaking) != 0) || ((change & ChangeType.DeclarationChangedNonBreaking) != 0) || ((change & ChangeType.ValueChangedNonBreaking) != 0))
                {
                    _changeThisInstance |= ChangeType.DeclarationChangedNonBreaking;
                }

                if (((change & ChangeType.RemovedBreaking) != 0) || ((change & ChangeType.DeclarationChangedBreaking) != 0) || ((change & ChangeType.ValueChangedBreaking) != 0))
                {
                    _changeThisInstance |= ChangeType.DeclarationChangedBreaking;
                }

                if ((change & ChangeType.VisibilityChangedBreaking) != 0)
                {
                    _changeThisInstance |= ChangeType.VisibilityChangedBreaking;
                }

                if ((change & ChangeType.VisibilityChangedNonBreaking) != 0)
                {
                    if ((_changeThisInstance & ChangeType.VisibilityChangedBreaking) == 0)
                    {
                        _changeThisInstance |= ChangeType.VisibilityChangedNonBreaking;
                    }
                }

                if ((change & ChangeType.ImplementationChanged) != 0)
                {
                    _changeThisInstance |= ChangeType.ImplementationChanged;
                }
            }
        }
Example #2
0
        protected virtual void CalcInheritedChanges()
        {
            _changeAllChildren = ChangeType.None;

            if (ChangeTypeUtil.IsAddRemove(_changeThisInstance))
            {
                _changeAllChildren = _changeThisInstance;
                return;
            }

            foreach (var child in _children.Cast <RootDetail>())
            {
                child.CalcInheritedChanges();
                if (child.Change != ChangeType.None)
                {
                    ProcessChildChange(child, child.Change);
                }
            }
        }
        protected virtual void CalcInheritedChanges()
        {
            _changeAllChildren = ChangeType.None;

            if (ChangeTypeUtil.IsAddRemove(_changeThisInstance))
            {
                _changeAllChildren = _changeThisInstance;
                return;
            }

            foreach (RootDetail child in _children)
            {
                child.CalcInheritedChanges();
            }

            for (int i = 0; i < _children.Count; i++)
            {
                ProcessChildChange(_children[i].GetType(), ((ICanCompare)_children[i]).Change);
            }
        }
        public virtual void WriteHtmlDescription(TextWriter tw, bool appendAllDeclarations, bool appendChildren)
        {
            if (!this.ExcludeFromReport)
            {
                FilterStatus filterThisInstance;

                if (appendAllDeclarations)
                {
                    filterThisInstance = GetStrongestFilterStatus();

                    if (this.CollapseChildren && filterThisInstance == FilterStatus.ExcludedButIncludeForChildren)
                    {
                        filterThisInstance = FilterStatus.Include;
                    }
                }
                else
                {
                    filterThisInstance = FilterStatus.Include;
                }

                if ((!appendChildren) || (filterThisInstance >= FilterStatus.DontCare))
                {
                    tw.Write("<p class='hdr'>");

                    RootDetail namedItem;
                    if (appendAllDeclarations)
                    {
                        namedItem = FindItemWithStatusPresent();
                    }
                    else
                    {
                        namedItem = this;
                    }

                    if ((namedItem == null) || (namedItem.Status == Status.Missing))
                    {
                        tw.Write(this.Name);
                    }
                    else
                    {
                        tw.Write(HtmlUtility.HtmlEncode(namedItem.GetTextTitle()));
                    }

                    tw.Write("</p>");

                    RootDetail eachItem = this;
                    while (eachItem != null)
                    {
                        eachItem.WriteHtmlDeclaration(tw);
                        eachItem.WriteHtmlSummaryForChange(tw);

                        eachItem = appendAllDeclarations ? (RootDetail)eachItem.NavigateForward : null;
                    }
                }
            }

            if (appendChildren && !this.CollapseChildren && !ChangeTypeUtil.IsAddRemove(CombineAllChangesThisInstanceGoingForward()))
            {
                foreach (RootDetail child in FilterChildrenInAll <RootDetail>())
                {
//					if ((child.FullNameRoot) || (child.GetStrongestFilterStatus() != FilterStatus.ExcludedButIncludeForChildren)) // Dont include public stuff inside internal classes for -publiconly
                    {
                        child.WriteHtmlDescription(tw, appendAllDeclarations, appendChildren);
                    }
                }
            }
        }