diff options
author | Mikhail Melnikov <mikhail_melnikov@epam.com> | 2017-12-03 21:23:57 +0300 |
---|---|---|
committer | Joel Martinez <joelmartinez@gmail.com> | 2017-12-04 16:28:39 +0300 |
commit | b100012a00751fcc71d1cc5ba14ab594bb6f7ffa (patch) | |
tree | f705f527bf816f00ead545d9013b73286d6073c0 /mdoc | |
parent | fbcacc7602d4a4055566fbca935293cb9b5e1936 (diff) |
mdoc: fixed breaks in frameworks mode #175
On the first phase of attached event check, we had to check name, not type
Added integration test on this case
Closes #174
Diffstat (limited to 'mdoc')
5 files changed, 151 insertions, 1 deletions
diff --git a/mdoc/Mono.Documentation/Util/AttachedEntitiesHelper.cs b/mdoc/Mono.Documentation/Util/AttachedEntitiesHelper.cs index f15a0ccf..1a2def39 100644 --- a/mdoc/Mono.Documentation/Util/AttachedEntitiesHelper.cs +++ b/mdoc/Mono.Documentation/Util/AttachedEntitiesHelper.cs @@ -55,7 +55,7 @@ namespace Mono.Documentation.Util private static bool IsAttachedEvent(FieldDefinition field, Dictionary<string, IEnumerable<MethodDefinition>> methods) { // https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/attached-events-overview - if (!field.FieldType.Name.EndsWith(EventConst)) + if (!field.Name.EndsWith(EventConst)) return false; var addMethodName = $"Add{GetEventName(field.Name)}Handler"; var removeMethodName = $"Remove{GetEventName(field.Name)}Handler"; diff --git a/mdoc/Test/AttachedEventsAndProperties/AttachedEventExample.cs b/mdoc/Test/AttachedEventsAndProperties/AttachedEventExample.cs index b2260c54..a2d0b3f9 100644 --- a/mdoc/Test/AttachedEventsAndProperties/AttachedEventExample.cs +++ b/mdoc/Test/AttachedEventsAndProperties/AttachedEventExample.cs @@ -77,5 +77,15 @@ namespace AttachedEventsAndProperties { } #endregion + + #region Negative example (the event type ends with "Event", but the name doesn't) + public static readonly RoutedEvent E; + public static void AddNeedsCleaning7Handler(DependencyObject d, RoutedEventHandler handler) + { + } + public static void RemoveNeedsCleaning7Handler(DependencyObject d, RoutedEventHandler handler) + { + } + #endregion } } diff --git a/mdoc/Test/AttachedEventsAndProperties/AttachedPropertyExample.cs b/mdoc/Test/AttachedEventsAndProperties/AttachedPropertyExample.cs index 9575cf17..cad4dca1 100644 --- a/mdoc/Test/AttachedEventsAndProperties/AttachedPropertyExample.cs +++ b/mdoc/Test/AttachedEventsAndProperties/AttachedPropertyExample.cs @@ -39,6 +39,27 @@ namespace AttachedEventsAndProperties element.SetValue(IsBubbleSourceProperty, value); } #endregion + + #region Negative example (the property type ends with "Event", but the name doesn't) + + public static readonly DependencyProperty P = DependencyProperty.RegisterAttached( + "IsBubbleSource3", + typeof(Boolean), + typeof(AquariumObject), + null +); + + public static void SetIsBubbleSource3(UIElement element, Boolean value) + { + element.SetValue(IsBubbleSourceProperty, value); + } + + public static Boolean GetIsBubbleSource3(UIElement element) + { + return (Boolean)element.GetValue(IsBubbleSourceProperty); + } + + #endregion } }
\ No newline at end of file diff --git a/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedEventExample.xml b/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedEventExample.xml index 5bedcad1..a9f1c612 100644 --- a/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedEventExample.xml +++ b/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedEventExample.xml @@ -139,6 +139,28 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="AddNeedsCleaning7Handler"> + <MemberSignature Language="C#" Value="public static void AddNeedsCleaning7Handler (System.Windows.DependencyObject d, System.Windows.RoutedEventHandler handler);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddNeedsCleaning7Handler(class System.Windows.DependencyObject d, class System.Windows.RoutedEventHandler handler) cil managed" /> + <MemberSignature Language="DocId" Value="M:AttachedEventsAndProperties.AttachedEventExample.AddNeedsCleaning7Handler(System.Windows.DependencyObject,System.Windows.RoutedEventHandler)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="d" Type="System.Windows.DependencyObject" /> + <Parameter Name="handler" Type="System.Windows.RoutedEventHandler" /> + </Parameters> + <Docs> + <param name="d">To be added.</param> + <param name="handler">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="AddNeedsCleaningHandler"> <MemberSignature Language="C#" Value="public static void AddNeedsCleaningHandler (System.Windows.DependencyObject d, System.Windows.RoutedEventHandler handler);" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddNeedsCleaningHandler(class System.Windows.DependencyObject d, class System.Windows.RoutedEventHandler handler) cil managed" /> @@ -190,6 +212,22 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="E"> + <MemberSignature Language="C#" Value="public static readonly System.Windows.RoutedEvent E;" /> + <MemberSignature Language="ILAsm" Value=".field public static initonly class System.Windows.RoutedEvent E" /> + <MemberSignature Language="DocId" Value="F:AttachedEventsAndProperties.AttachedEventExample.E" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Windows.RoutedEvent</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="NeedsCleaning"> <MemberSignature Language="C#" Value="see AddNeedsCleaningHandler, and RemoveNeedsCleaningHandler" /> <MemberSignature Language="ILAsm" Value="see AddNeedsCleaningHandler, and RemoveNeedsCleaningHandler" /> @@ -409,6 +447,28 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="RemoveNeedsCleaning7Handler"> + <MemberSignature Language="C#" Value="public static void RemoveNeedsCleaning7Handler (System.Windows.DependencyObject d, System.Windows.RoutedEventHandler handler);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void RemoveNeedsCleaning7Handler(class System.Windows.DependencyObject d, class System.Windows.RoutedEventHandler handler) cil managed" /> + <MemberSignature Language="DocId" Value="M:AttachedEventsAndProperties.AttachedEventExample.RemoveNeedsCleaning7Handler(System.Windows.DependencyObject,System.Windows.RoutedEventHandler)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="d" Type="System.Windows.DependencyObject" /> + <Parameter Name="handler" Type="System.Windows.RoutedEventHandler" /> + </Parameters> + <Docs> + <param name="d">To be added.</param> + <param name="handler">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="RemoveNeedsCleaningHandler"> <MemberSignature Language="C#" Value="public static void RemoveNeedsCleaningHandler (System.Windows.DependencyObject d, System.Windows.RoutedEventHandler handler);" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig void RemoveNeedsCleaningHandler(class System.Windows.DependencyObject d, class System.Windows.RoutedEventHandler handler) cil managed" /> diff --git a/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedPropertyExample.xml b/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedPropertyExample.xml index 122ba9b0..c6cb6bd9 100644 --- a/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedPropertyExample.xml +++ b/mdoc/Test/en.expected-attached-entities/AttachedEventsAndProperties/AttachedPropertyExample.xml @@ -36,6 +36,27 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="GetIsBubbleSource3"> + <MemberSignature Language="C#" Value="public static bool GetIsBubbleSource3 (System.Windows.UIElement element);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool GetIsBubbleSource3(class System.Windows.UIElement element) cil managed" /> + <MemberSignature Language="DocId" Value="M:AttachedEventsAndProperties.AttachedPropertyExample.GetIsBubbleSource3(System.Windows.UIElement)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="element" Type="System.Windows.UIElement" /> + </Parameters> + <Docs> + <param name="element">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="IsBubbleSource"> <MemberSignature Language="C#" Value="see GetIsBubbleSource, and SetIsBubbleSource" /> <MemberSignature Language="ILAsm" Value="see GetIsBubbleSource, and SetIsBubbleSource" /> @@ -81,6 +102,22 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="P"> + <MemberSignature Language="C#" Value="public static readonly System.Windows.DependencyProperty P;" /> + <MemberSignature Language="ILAsm" Value=".field public static initonly class System.Windows.DependencyProperty P" /> + <MemberSignature Language="DocId" Value="F:AttachedEventsAndProperties.AttachedPropertyExample.P" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Windows.DependencyProperty</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="SetIsBubbleSource"> <MemberSignature Language="C#" Value="public static void SetIsBubbleSource (System.Windows.UIElement element, bool value);" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIsBubbleSource(class System.Windows.UIElement element, bool value) cil managed" /> @@ -125,5 +162,27 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="SetIsBubbleSource3"> + <MemberSignature Language="C#" Value="public static void SetIsBubbleSource3 (System.Windows.UIElement element, bool value);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetIsBubbleSource3(class System.Windows.UIElement element, bool value) cil managed" /> + <MemberSignature Language="DocId" Value="M:AttachedEventsAndProperties.AttachedPropertyExample.SetIsBubbleSource3(System.Windows.UIElement,System.Boolean)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="element" Type="System.Windows.UIElement" /> + <Parameter Name="value" Type="System.Boolean" /> + </Parameters> + <Docs> + <param name="element">To be added.</param> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> </Members> </Type> |