Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/api-doc-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apidoctools.sln14
-rw-r--r--mdoc/Makefile2
-rw-r--r--mdoc/Mono.Documentation/MDocUpdater.cs18
-rw-r--r--mdoc/Mono.Documentation/Updater/Formatters/CSharpFullMemberFormatter.cs18
-rw-r--r--mdoc/mdoc.Test/FormatterTests.cs11
5 files changed, 28 insertions, 35 deletions
diff --git a/apidoctools.sln b/apidoctools.sln
index 28aa52c9..98cf6bb9 100644
--- a/apidoctools.sln
+++ b/apidoctools.sln
@@ -15,8 +15,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc.Test", "mdoc\mdoc.Test
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "mdoc.Test.FSharp", "mdoc\mdoc.Test\mdoc.Test.FSharp\mdoc.Test.FSharp.fsproj", "{979F9F80-12FE-4236-9E93-6D554AB13701}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mdoc.Test.Cplusplus", "mdoc.Test.Cplusplus\mdoc.Test.Cplusplus.vcxproj", "{9398D4E3-1779-44FD-AF8C-BB46562DCD88}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -125,18 +123,6 @@ Global
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x64.Build.0 = Release|Any CPU
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x86.ActiveCfg = Release|Any CPU
{979F9F80-12FE-4236-9E93-6D554AB13701}.Release|x86.Build.0 = Release|Any CPU
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|ARM.ActiveCfg = Debug|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|x64.ActiveCfg = Debug|x64
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|x64.Build.0 = Debug|x64
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|x86.ActiveCfg = Debug|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Debug|x86.Build.0 = Debug|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|Any CPU.ActiveCfg = Release|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|ARM.ActiveCfg = Release|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|x64.ActiveCfg = Release|x64
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|x64.Build.0 = Release|x64
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|x86.ActiveCfg = Release|Win32
- {9398D4E3-1779-44FD-AF8C-BB46562DCD88}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/mdoc/Makefile b/mdoc/Makefile
index 75b37b9a..b98c321b 100644
--- a/mdoc/Makefile
+++ b/mdoc/Makefile
@@ -48,7 +48,7 @@ MULTI-UNIFIED = Test/DocTest-DropNS-unified.dll Test/DocTest-DropNS-unified-mult
DIFF = diff -rup
DIFF_QUIET = diff --brief
-ifeq ($(OS), Windows_NT)
+ifeq ($(PLATFORM), win32)
DIFF = diff -rupZ
DIFF_QUIET = diff --brief -Z
endif
diff --git a/mdoc/Mono.Documentation/MDocUpdater.cs b/mdoc/Mono.Documentation/MDocUpdater.cs
index 5db01ae6..d3808bc4 100644
--- a/mdoc/Mono.Documentation/MDocUpdater.cs
+++ b/mdoc/Mono.Documentation/MDocUpdater.cs
@@ -3830,17 +3830,15 @@ namespace Mono.Documentation
{
XmlElement e = WriteElement (root, "ReturnValue");
var valueToUse = GetDocTypeFullName (type);
- if (type.IsRequiredModifier)
- {
- if (((RequiredModifierType)type).ElementType.IsByReference)
- e.SetAttribute("RefType", "Ref");
+ if ((type.IsRequiredModifier && ((RequiredModifierType)type).ElementType.IsByReference)
+ || type.IsByReference)
+ e.SetAttribute("RefType", "Ref");
- if (IsReadonlyAttribute(attributes))
- {
- e.SetAttribute("RefType", "Readonly");
- if (valueToUse[valueToUse.Length - 1] == '&')
- valueToUse = valueToUse.Remove(valueToUse.Length - 1);
- }
+ if (type.IsRequiredModifier && IsReadonlyAttribute(attributes))
+ {
+ e.SetAttribute("RefType", "Readonly");
+ if (valueToUse[valueToUse.Length - 1] == '&')
+ valueToUse = valueToUse.Remove(valueToUse.Length - 1);
}
AddXmlNode (e.SelectNodes ("ReturnType").Cast<XmlElement> ().ToArray (),
diff --git a/mdoc/Mono.Documentation/Updater/Formatters/CSharpFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/CSharpFullMemberFormatter.cs
index a7e0344e..938884f5 100644
--- a/mdoc/Mono.Documentation/Updater/Formatters/CSharpFullMemberFormatter.cs
+++ b/mdoc/Mono.Documentation/Updater/Formatters/CSharpFullMemberFormatter.cs
@@ -411,17 +411,17 @@ namespace Mono.Documentation.Updater
if (method.IsFinal) modifiers += " sealed";
if (modifiers == " virtual sealed") modifiers = "";
- if (method.ReturnType.IsRequiredModifier)
+ if ((method.ReturnType.IsRequiredModifier
+ && ((RequiredModifierType)method.ReturnType).ElementType.IsByReference)
+ || method.ReturnType.IsByReference)
{
- if (((RequiredModifierType)method.ReturnType).ElementType.IsByReference)
- {
- modifiers += " ref";
- }
+ modifiers += " ref";
+ }
- if (method.MethodReturnType.CustomAttributes.Any(attr => attr.AttributeType.FullName == "System.Runtime.CompilerServices.IsReadOnlyAttribute"))
- {
- modifiers += " readonly";
- }
+ if (method.ReturnType.IsRequiredModifier
+ && method.MethodReturnType.CustomAttributes.Any(attr => attr.AttributeType.FullName == "System.Runtime.CompilerServices.IsReadOnlyAttribute"))
+ {
+ modifiers += " readonly";
}
switch (method.Name)
diff --git a/mdoc/mdoc.Test/FormatterTests.cs b/mdoc/mdoc.Test/FormatterTests.cs
index 9ad9df2e..51e6f0d2 100644
--- a/mdoc/mdoc.Test/FormatterTests.cs
+++ b/mdoc/mdoc.Test/FormatterTests.cs
@@ -208,7 +208,7 @@ namespace mdoc.Test
"Finalize");
[Test]
- public void CSharpReadonlyRef()
+ public void CSharpReadonlyRefReturn()
{
var member = GetMethod(typeof(ReadonlyRefClass), m => m.Name == "ReadonlyRef");
var formatter = new CSharpFullMemberFormatter();
@@ -216,6 +216,15 @@ namespace mdoc.Test
Assert.AreEqual("public ref readonly int ReadonlyRef ();", sig);
}
+ [Test]
+ public void CSharpRefReturn()
+ {
+ var member = GetMethod(typeof(ReadonlyRefClass), m => m.Name == "Ref");
+ var formatter = new CSharpFullMemberFormatter();
+ var sig = formatter.GetDeclaration(member);
+ Assert.AreEqual("public ref int Ref ();", sig);
+ }
+
#region Helper Methods
string RealTypeName(string name){
switch (name) {