2121using ICSharpCode . Decompiler . TypeSystem ;
2222using ICSharpCode . ILSpy . TreeNodes ;
2323
24+ #nullable enable
25+
2426namespace ICSharpCode . ILSpy . Analyzers . TreeNodes
2527{
2628 internal sealed class AnalyzedEventTreeNode : AnalyzerEntityTreeNode
2729 {
2830 readonly IEvent analyzedEvent ;
2931 readonly string prefix ;
3032
31- public AnalyzedEventTreeNode ( IEvent analyzedEvent , string prefix = "" )
33+ public AnalyzedEventTreeNode ( IEvent analyzedEvent , IEntity ? source , string prefix = "" )
3234 {
3335 this . analyzedEvent = analyzedEvent ?? throw new ArgumentNullException ( nameof ( analyzedEvent ) ) ;
3436 this . prefix = prefix ;
3537 this . LazyLoading = true ;
38+ this . SourceMember = source ;
3639 }
3740
3841 public override IEntity Member => analyzedEvent ;
@@ -45,11 +48,11 @@ public AnalyzedEventTreeNode(IEvent analyzedEvent, string prefix = "")
4548 protected override void LoadChildren ( )
4649 {
4750 if ( analyzedEvent . CanAdd )
48- this . Children . Add ( new AnalyzedAccessorTreeNode ( analyzedEvent . AddAccessor , "add" ) ) ;
51+ this . Children . Add ( new AnalyzedAccessorTreeNode ( analyzedEvent . AddAccessor , this . SourceMember , "add" ) ) ;
4952 if ( analyzedEvent . CanRemove )
50- this . Children . Add ( new AnalyzedAccessorTreeNode ( analyzedEvent . RemoveAccessor , "remove" ) ) ;
53+ this . Children . Add ( new AnalyzedAccessorTreeNode ( analyzedEvent . RemoveAccessor , this . SourceMember , "remove" ) ) ;
5154 if ( TryFindBackingField ( analyzedEvent , out var backingField ) )
52- this . Children . Add ( new AnalyzedFieldTreeNode ( backingField ) ) ;
55+ this . Children . Add ( new AnalyzedFieldTreeNode ( backingField , this . SourceMember ) ) ;
5356
5457 foreach ( var lazy in Analyzers )
5558 {
0 commit comments