@ -38,9 +38,9 @@ using ICSharpCode.NRefactory.CSharp.TypeSystem;
@@ -38,9 +38,9 @@ using ICSharpCode.NRefactory.CSharp.TypeSystem;
namespace ICSharpCode.NRefactory.CSharp.Refactoring
{
[ IssueDescription ( "Validate Xml documentation" ,
Description = "Validate Xml docs" ,
Category = IssueCategories . CompilerWarnings ,
Severity = Severity . Warning ) ]
Description = "Validate Xml docs" ,
Category = IssueCategories . CompilerWarnings ,
Severity = Severity . Warning ) ]
public class XmlDocIssue : GatherVisitorCodeIssueProvider
{
protected override IGatherVisitor CreateVisitor ( BaseRefactoringContext context )
@ -183,6 +183,12 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
@@ -183,6 +183,12 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
var m = member as IParameterizedMember ;
if ( m ! = null & & m . Parameters . Any ( p = > p . Name = = name . Value ) )
break ;
var dtype = member as ITypeDefinition ;
if ( ( dtype ! = null ) & & ( dtype . Kind = = TypeKind . Delegate ) ) {
var invokeMethod = dtype . Methods . FirstOrDefault ( method = > method . Name = = "Invoke" ) ;
if ( ( invokeMethod ! = null ) & & invokeMethod . Parameters . Any ( p = > p . Name = = name . Value ) )
break ;
}
if ( name . Value = = "value" & & member ! = null & & ( member . SymbolKind = = SymbolKind . Property | | member . SymbolKind = = SymbolKind . Indexer | | member . SymbolKind = = SymbolKind . Event ) & & el . Name = = "paramref" )
break ;
AddXmlIssue ( name . ValueSegment . Offset - firstline . Length + 1 , name . ValueSegment . Length - 2 , string . Format ( ctx . TranslateString ( "Parameter '{0}' not found" ) , name . Value ) ) ;
@ -213,7 +219,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
@@ -213,7 +219,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
}
break ;
}
}
}
foreach ( var child in cur . Children )
stack . Push ( child ) ;