@@ -540,34 +540,78 @@ private Models.ApiComparison CreateApiComparisonFromResult(Models.ComparisonResu
540540 . Select ( d => new Models . ApiChange
541541 {
542542 Type = Models . ChangeType . Added ,
543- TargetMember = new Models . ApiMember { Name = d . ElementName } ,
543+ Description = d . Description ,
544+ TargetMember = new Models . ApiMember
545+ {
546+ Name = ExtractMemberName ( d . ElementName ) ,
547+ FullName = d . ElementName ,
548+ Signature = d . NewSignature ?? "Unknown"
549+ } ,
544550 IsBreakingChange = d . IsBreakingChange
545551 } ) . ToList ( ) ,
546552 Removals = comparisonResult . Differences
547553 . Where ( d => d . ChangeType == Models . ChangeType . Removed )
548554 . Select ( d => new Models . ApiChange
549555 {
550556 Type = Models . ChangeType . Removed ,
551- SourceMember = new Models . ApiMember { Name = d . ElementName } ,
557+ Description = d . Description ,
558+ SourceMember = new Models . ApiMember
559+ {
560+ Name = ExtractMemberName ( d . ElementName ) ,
561+ FullName = d . ElementName ,
562+ Signature = d . OldSignature ?? "Unknown"
563+ } ,
552564 IsBreakingChange = d . IsBreakingChange
553565 } ) . ToList ( ) ,
554566 Modifications = comparisonResult . Differences
555567 . Where ( d => d . ChangeType == Models . ChangeType . Modified )
556568 . Select ( d => new Models . ApiChange
557569 {
558570 Type = Models . ChangeType . Modified ,
559- SourceMember = new Models . ApiMember { Name = d . ElementName } ,
560- TargetMember = new Models . ApiMember { Name = d . ElementName } ,
571+ Description = d . Description ,
572+ SourceMember = new Models . ApiMember
573+ {
574+ Name = ExtractMemberName ( d . ElementName ) ,
575+ FullName = d . ElementName ,
576+ Signature = d . OldSignature ?? "Unknown"
577+ } ,
578+ TargetMember = new Models . ApiMember
579+ {
580+ Name = ExtractMemberName ( d . ElementName ) ,
581+ FullName = d . ElementName ,
582+ Signature = d . NewSignature ?? "Unknown"
583+ } ,
561584 IsBreakingChange = d . IsBreakingChange
562585 } ) . ToList ( ) ,
563586 Excluded = comparisonResult . Differences
564587 . Where ( d => d . ChangeType == Models . ChangeType . Excluded )
565588 . Select ( d => new Models . ApiChange
566589 {
567590 Type = Models . ChangeType . Excluded ,
568- SourceMember = new Models . ApiMember { Name = d . ElementName } ,
591+ Description = d . Description ,
592+ SourceMember = new Models . ApiMember
593+ {
594+ Name = ExtractMemberName ( d . ElementName ) ,
595+ FullName = d . ElementName ,
596+ Signature = "Unknown"
597+ } ,
569598 IsBreakingChange = false
570599 } ) . ToList ( )
571600 } ;
572601 }
602+
603+ /// <summary>
604+ /// Extracts the member name from a full element name
605+ /// </summary>
606+ /// <param name="elementName">The full element name</param>
607+ /// <returns>The member name</returns>
608+ private static string ExtractMemberName ( string elementName )
609+ {
610+ if ( string . IsNullOrEmpty ( elementName ) )
611+ return "Unknown" ;
612+
613+ // For full names like "Namespace.Class.Method", extract just "Method"
614+ var lastDotIndex = elementName . LastIndexOf ( '.' ) ;
615+ return lastDotIndex >= 0 ? elementName . Substring ( lastDotIndex + 1 ) : elementName ;
616+ }
573617}
0 commit comments