public override void BuildChildNodes(ITreeBuilder ctx, object dataObject)
        {
            DomCecilProperty property = (DomCecilProperty)dataObject;

            if (property.HasGet && property.GetMethod != null)
            {
                ctx.AddChild(property.GetMethod);
            }
            if (property.HasSet && property.SetMethod != null)
            {
                ctx.AddChild(property.SetMethod);
            }
        }
Пример #2
0
        string IAssemblyBrowserNodeBuilder.GetDecompiledCode(ITreeNavigator navigator)
        {
            IProperty     property = (IProperty)navigator.DataItem;
            StringBuilder result   = new StringBuilder();

            result.Append(DomMethodNodeBuilder.GetAttributes(Ambience, property.Attributes));
            result.Append(Ambience.GetString(property, DomTypeNodeBuilder.settings));
            result.Append(" {"); result.AppendLine();
            DomCecilProperty cecilProperty = property as DomCecilProperty;

            if (property.HasGet)
            {
                result.Append("\t");
                if (property.GetterModifier != property.Modifiers)
                {
                    result.Append("<span style=\"keyword.modifier\">");
                    result.Append(Ambience.GetString(property.GetterModifier));
                    result.Append("</span> ");
                }
                result.Append("<b>get</b> {"); result.AppendLine();
                string text = DomMethodNodeBuilder.Decompile(cecilProperty.GetMethod as DomCecilMethod, true).Replace("\t", "\t\t");

                result.Append(GetBody(text));
                result.Append("\t}"); result.AppendLine();
            }
            if (property.HasSet)
            {
                result.Append("\t");
                if (property.SetterModifier != property.Modifiers)
                {
                    result.Append("<span style=\"keyword.modifier\">");
                    result.Append(Ambience.GetString(property.SetterModifier));
                    result.Append("</span> ");
                }
                result.Append("<b>set</b> {"); result.AppendLine();
                string text = DomMethodNodeBuilder.Decompile(cecilProperty.SetMethod as DomCecilMethod, true).Replace("\t", "\t\t");
                result.Append(GetBody(text));
                result.Append("\t}"); result.AppendLine();
            }
            result.Append("}");
            return(result.ToString());
        }
Пример #3
0
        string IAssemblyBrowserNodeBuilder.GetDisassembly(ITreeNavigator navigator)
        {
            NetAmbience   netAmbience = new NetAmbience();
            IProperty     property    = (IProperty)navigator.DataItem;
            StringBuilder result      = new StringBuilder();

            result.Append(netAmbience.GetString(property, DomTypeNodeBuilder.settings));
            result.AppendLine();
            result.AppendLine();
            DomCecilProperty cecilProperty = property as DomCecilProperty;

            if (property.HasGet)
            {
                result.Append("Getter:"); result.AppendLine();
                result.Append(DomMethodNodeBuilder.Disassemble(cecilProperty.GetMethod as DomCecilMethod, true).Replace("\t", "\t\t"));
            }
            if (property.HasSet)
            {
                result.Append("Setter:"); result.AppendLine();
                result.Append(DomMethodNodeBuilder.Disassemble(cecilProperty.SetMethod as DomCecilMethod, true).Replace("\t", "\t\t"));
            }

            return(result.ToString());
        }