public Task <List <ReferenceSegment> > DecompileAsync(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { var assemblyLoader = (AssemblyLoader)navigator.DataItem; return(MethodDefinitionNodeBuilder.DecompileAsync(data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), b => b.DecompileModuleAndAssemblyAttributes(), flags: flags)); }
Task<List<ReferenceSegment>> IAssemblyBrowserNodeBuilder.DisassembleAsync (TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity (navigator, data)) return EmptyReferenceSegmentTask; var evt = (IEvent)navigator.DataItem; return MethodDefinitionNodeBuilder.DisassembleAsync (data, rd => rd.DisassembleEvent (evt.ParentModule.PEFile, (System.Reflection.Metadata.EventDefinitionHandle)evt.MetadataToken)); }
public static IconId GetStockIcon(PropertyDefinition property) { var accessor = property.GetMethod ?? property.SetMethod; var isStatic = (accessor.Attributes & MethodAttributes.Static) != 0; var global = isStatic ? "static-" : ""; return("md-" + MethodDefinitionNodeBuilder.GetAccess(accessor.Attributes) + global + "property"); }
Task<List<ReferenceSegment>> IAssemblyBrowserNodeBuilder.DecompileAsync (TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity (navigator, data)) return EmptyReferenceSegmentTask; var evt = navigator.DataItem as IEvent; if (evt == null) return EmptyReferenceSegmentTask; return MethodDefinitionNodeBuilder.DecompileAsync (data, MethodDefinitionNodeBuilder.GetAssemblyLoader (navigator), b => b.Decompile (evt.MetadataToken), flags: flags); }
Task <List <ReferenceSegment> > IAssemblyBrowserNodeBuilder.DisassembleAsync(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(EmptyReferenceSegmentTask); } var property = (IProperty)navigator.DataItem; return(MethodDefinitionNodeBuilder.DisassembleAsync(data, rd => rd.DisassembleProperty(property.ParentModule.PEFile, (System.Reflection.Metadata.PropertyDefinitionHandle)property.MetadataToken))); }
List <ReferenceSegment> IAssemblyBrowserNodeBuilder.Disassemble(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(null); } var property = (PropertyDefinition)navigator.DataItem; return(MethodDefinitionNodeBuilder.Disassemble(data, rd => rd.DisassembleProperty(property))); }
public List<ReferenceSegment> Disassemble(TextEditor data, ITreeNavigator navigator) { var assemblyLoader = (AssemblyLoader)navigator.DataItem; var compilationUnit = assemblyLoader.Assembly; if (compilationUnit == null) { LoggingService.LogError ("Can't get cecil object for assembly:" + assemblyLoader.Assembly.FullName); return new List<ReferenceSegment> (); } return MethodDefinitionNodeBuilder.Disassemble (data, rd => rd.WriteAssemblyHeader (compilationUnit)); }
public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var evt = (IEvent)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText (evt.GetDisplayString ()); var accessor = evt.AddAccessor ?? evt.RemoveAccessor; if (!accessor.IsPublic ()) nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate (nodeInfo.Label); nodeInfo.Icon = Context.GetIcon (GetStockIcon (evt)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var type = (ITypeDefinition)dataObject; nodeInfo.Label = Ide.TypeSystem.Ambience.EscapeText(treeBuilder.NodeName); if (!type.IsPublic()) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(type)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var type = (TypeDefinition)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(CSharpLanguage.Instance.FormatTypeName(type)); if (!type.IsPublic) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(type)); }
Task <List <ReferenceSegment> > IAssemblyBrowserNodeBuilder.DecompileAsync(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(EmptyReferenceSegmentTask); } if (!(navigator.DataItem is IProperty property)) { return(EmptyReferenceSegmentTask); } return(MethodDefinitionNodeBuilder.DecompileAsync(data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), b => b.Decompile(property.MetadataToken), flags: flags)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var field = (FieldDefinition)dataObject; nodeInfo.Label = field.Name + " : " + CSharpLanguage.Instance.TypeToString(field.FieldType, false, field); if (((FieldAttributes.Private | FieldAttributes.Assembly) & field.Attributes) != 0) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(field)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var field = (FieldDefinition)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(field.Name + " : " + CSharpLanguage.Instance.TypeToString(field.FieldType, false, field)); if (!field.IsPublic) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(field)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var field = (IField)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(field.GetDisplayString()); if (!field.IsPublic()) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(field)); }
List <ReferenceSegment> IAssemblyBrowserNodeBuilder.Decompile(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(null); } var field = (IField)navigator.DataItem; if (field == null) { return(null); } return(MethodDefinitionNodeBuilder.Decompile(data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), b => b.Decompile(field.MetadataToken), flags: flags)); }
Task <List <ReferenceSegment> > IAssemblyBrowserNodeBuilder.DisassembleAsync(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(EmptyReferenceSegmentTask); } var field = (IField)navigator.DataItem; if (field == null) { return(EmptyReferenceSegmentTask); } return(MethodDefinitionNodeBuilder.DisassembleAsync(data, rd => rd.DisassembleField(field.ParentModule.PEFile, (System.Reflection.Metadata.FieldDefinitionHandle)field.MetadataToken))); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var evt = (EventDefinition)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(evt.Name + " : " + CSharpLanguage.Instance.TypeToString(evt.EventType, false, evt)); var accessor = evt.AddMethod ?? evt.RemoveMethod; if (!accessor.IsPublic) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(evt)); }
public List <ReferenceSegment> Decompile(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (HandleSourceCodeEntity(navigator, data)) { return(null); } var cecilMethod = (MethodDefinition)navigator.DataItem; if (cecilMethod == null) { return(null); } return(MethodDefinitionNodeBuilder.Decompile(data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), b => b.Decompile(cecilMethod), flags: flags)); }
List <ReferenceSegment> IAssemblyBrowserNodeBuilder.Disassemble(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(null); } var field = (FieldDefinition)navigator.DataItem; if (field == null) { return(null); } return(MethodDefinitionNodeBuilder.Disassemble(data, rd => rd.DisassembleField(field))); }
List <ReferenceSegment> IAssemblyBrowserNodeBuilder.Decompile(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(null); } var property = navigator.DataItem as PropertyDefinition; if (property == null) { return(null); } return(MethodDefinitionNodeBuilder.Decompile(data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), b => b.Decompile(property), flags: flags)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var evt = (EventDefinition)dataObject; nodeInfo.Label = evt.Name + " : " + CSharpLanguage.Instance.TypeToString(evt.EventType, false, evt); var accessor = evt.AddMethod ?? evt.RemoveMethod; if (((MethodAttributes.Private | MethodAttributes.Assembly) & accessor.Attributes) != 0) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(evt)); }
public List <ReferenceSegment> Disassemble(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(null); } var type = (TypeDefinition)navigator.DataItem; if (type == null) { return(null); } return(MethodDefinitionNodeBuilder.Disassemble(data, rd => rd.DisassembleType(type))); }
public Task <List <ReferenceSegment> > DisassembleAsync(TextEditor data, ITreeNavigator navigator) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(EmptyReferenceSegmentTask); } var type = (ITypeDefinition)navigator.DataItem; if (type == null) { return(EmptyReferenceSegmentTask); } return(MethodDefinitionNodeBuilder.DisassembleAsync(data, rd => rd.DisassembleType(type.ParentModule.PEFile, (System.Reflection.Metadata.TypeDefinitionHandle)type.MetadataToken))); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var property = (PropertyDefinition)dataObject; nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(GetText(property, property.IsIndexer())); var accessor = property.GetMethod ?? property.SetMethod; if (!accessor.IsPublic) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(property)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var method = (IMethod)dataObject; var ambience = new CSharpAmbience(); nodeInfo.Label = Ide.TypeSystem.Ambience.EscapeText(method.GetDisplayString()); if (method.IsPrivate()) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(method)); }
public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, NodeInfo nodeInfo) { var method = (MethodDefinition)dataObject; var ambience = new CSharpAmbience(); try { nodeInfo.Label = MonoDevelop.Ide.TypeSystem.Ambience.EscapeText(GetText(method)); } catch (Exception) { nodeInfo.Label = method.Name; } if (method.IsPrivate || method.IsAssembly) { nodeInfo.Label = MethodDefinitionNodeBuilder.FormatPrivate(nodeInfo.Label); } nodeInfo.Icon = Context.GetIcon(GetStockIcon(method)); }
public Task <List <ReferenceSegment> > DecompileAsync(TextEditor data, ITreeNavigator navigator, DecompileFlags flags) { if (MethodDefinitionNodeBuilder.HandleSourceCodeEntity(navigator, data)) { return(EmptyReferenceSegmentTask); } var type = (ITypeDefinition)navigator.DataItem; if (type == null) { return(EmptyReferenceSegmentTask); } var settings = MethodDefinitionNodeBuilder.GetDecompilerSettings(data, flags.PublicOnly); // CSharpLanguage.Instance.DecompileType (type, output, settings); return(MethodDefinitionNodeBuilder.DecompileAsync( data, MethodDefinitionNodeBuilder.GetAssemblyLoader(navigator), builder => builder.Decompile(type.MetadataToken), flags: flags)); }
public static IconId GetStockIcon(PropertyDefinition property) { var accessor = property.GetMethod ?? property.SetMethod; return(MethodDefinitionNodeBuilder.GetStockIcon(accessor)); }
public static IconId GetStockIcon(EventDefinition evt) { var accessor = evt.AddMethod ?? evt.RemoveMethod; return(MethodDefinitionNodeBuilder.GetStockIcon(accessor)); }
public static IconId GetStockIcon (IEvent evt) { var accessor = evt.AddAccessor ?? evt.RemoveAccessor; return MethodDefinitionNodeBuilder.GetStockIcon (accessor); }