|
|
@ -70,6 +70,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
this.UseKeywordsForBuiltinTypes = true; |
|
|
|
this.UseKeywordsForBuiltinTypes = true; |
|
|
|
this.UseNullableSpecifierForValueTypes = true; |
|
|
|
this.UseNullableSpecifierForValueTypes = true; |
|
|
|
this.ShowAccessibility = true; |
|
|
|
this.ShowAccessibility = true; |
|
|
|
|
|
|
|
this.UsePrivateProtectedAccessibility = true; |
|
|
|
this.ShowModifiers = true; |
|
|
|
this.ShowModifiers = true; |
|
|
|
this.ShowBaseTypes = true; |
|
|
|
this.ShowBaseTypes = true; |
|
|
|
this.ShowTypeParameters = true; |
|
|
|
this.ShowTypeParameters = true; |
|
|
@ -93,13 +94,19 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
public bool AddResolveResultAnnotations { get; set; } |
|
|
|
public bool AddResolveResultAnnotations { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// Controls the accessibility modifiers are shown.
|
|
|
|
/// Controls whether accessibility modifiers are shown.
|
|
|
|
/// The default value is <see langword="true" />.
|
|
|
|
/// The default value is <see langword="true" />.
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
public bool ShowAccessibility { get; set; } |
|
|
|
public bool ShowAccessibility { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// Controls the non-accessibility modifiers are shown.
|
|
|
|
/// Controls whether "private protected" accessibility modifiers are shown.
|
|
|
|
|
|
|
|
/// The default value is <see langword="true" />.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
public bool UsePrivateProtectedAccessibility { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Controls whether non-accessibility modifiers are shown.
|
|
|
|
/// The default value is <see langword="true" />.
|
|
|
|
/// The default value is <see langword="true" />.
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
public bool ShowModifiers { get; set; } |
|
|
|
public bool ShowModifiers { get; set; } |
|
|
@ -1805,7 +1812,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
Modifiers modifiers = Modifiers.None; |
|
|
|
Modifiers modifiers = Modifiers.None; |
|
|
|
if (this.ShowAccessibility) |
|
|
|
if (this.ShowAccessibility) |
|
|
|
{ |
|
|
|
{ |
|
|
|
modifiers |= ModifierFromAccessibility(typeDefinition.Accessibility); |
|
|
|
modifiers |= ModifierFromAccessibility(typeDefinition.Accessibility, UsePrivateProtectedAccessibility); |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.ShowModifiers) |
|
|
|
if (this.ShowModifiers) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -2073,7 +2080,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.ShowAccessibility && accessor.Accessibility != ownerAccessibility) |
|
|
|
if (this.ShowAccessibility && accessor.Accessibility != ownerAccessibility) |
|
|
|
decl.Modifiers = ModifierFromAccessibility(accessor.Accessibility); |
|
|
|
decl.Modifiers = ModifierFromAccessibility(accessor.Accessibility, UsePrivateProtectedAccessibility); |
|
|
|
if (this.ShowModifiers && accessor.HasReadonlyModifier()) |
|
|
|
if (this.ShowModifiers && accessor.HasReadonlyModifier()) |
|
|
|
decl.Modifiers |= Modifiers.Readonly; |
|
|
|
decl.Modifiers |= Modifiers.Readonly; |
|
|
|
TokenRole keywordRole = kind switch { |
|
|
|
TokenRole keywordRole = kind switch { |
|
|
@ -2342,7 +2349,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region Convert Modifiers
|
|
|
|
#region Convert Modifiers
|
|
|
|
public static Modifiers ModifierFromAccessibility(Accessibility accessibility) |
|
|
|
public static Modifiers ModifierFromAccessibility(Accessibility accessibility, bool usePrivateProtected) |
|
|
|
{ |
|
|
|
{ |
|
|
|
switch (accessibility) |
|
|
|
switch (accessibility) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -2357,7 +2364,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
case Accessibility.ProtectedOrInternal: |
|
|
|
case Accessibility.ProtectedOrInternal: |
|
|
|
return Modifiers.Protected | Modifiers.Internal; |
|
|
|
return Modifiers.Protected | Modifiers.Internal; |
|
|
|
case Accessibility.ProtectedAndInternal: |
|
|
|
case Accessibility.ProtectedAndInternal: |
|
|
|
return Modifiers.Private | Modifiers.Protected; |
|
|
|
return usePrivateProtected ? Modifiers.Private | Modifiers.Protected : Modifiers.Protected; |
|
|
|
default: |
|
|
|
default: |
|
|
|
return Modifiers.None; |
|
|
|
return Modifiers.None; |
|
|
|
} |
|
|
|
} |
|
|
@ -2388,7 +2395,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax |
|
|
|
Modifiers m = Modifiers.None; |
|
|
|
Modifiers m = Modifiers.None; |
|
|
|
if (this.ShowAccessibility && NeedsAccessibility(member)) |
|
|
|
if (this.ShowAccessibility && NeedsAccessibility(member)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
m |= ModifierFromAccessibility(member.Accessibility); |
|
|
|
m |= ModifierFromAccessibility(member.Accessibility, UsePrivateProtectedAccessibility); |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.ShowModifiers) |
|
|
|
if (this.ShowModifiers) |
|
|
|
{ |
|
|
|
{ |
|
|
|