Skip to content

Commit

Permalink
Fix josefpihrt#7: Make structs read-only.
Browse files Browse the repository at this point in the history
  • Loading branch information
josefpihrt committed Jul 19, 2018
1 parent 3becb3a commit d8f0edb
Show file tree
Hide file tree
Showing 11 changed files with 19 additions and 24 deletions.
1 change: 1 addition & 0 deletions src/DotMarkdown/DotMarkdown.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>DotMarkdown.snk</AssemblyOriginatorKeyFile>
<LangVersion>7.2</LangVersion>
</PropertyGroup>

<PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/Error.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static void ThrowOnInvalidFencedCodeBlockInfo(string info)
}
}

public static void ThrowOnInvalidHorizontalRuleFormat(HorizontalRuleFormat format)
public static void ThrowOnInvalidHorizontalRuleFormat(in HorizontalRuleFormat format)
{
ThrowOnInvalidHorizontalRuleCount(format.Count);
ThrowOnInvalidHorizontalRuleSeparator(format.Separator);
Expand Down
6 changes: 3 additions & 3 deletions src/DotMarkdown/HorizontalRuleFormat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
namespace DotMarkdown
{
[DebuggerDisplay("{HorizontalRuleStyle} {Count}{SeparatorDebuggerDisplay,nq}")]
public struct HorizontalRuleFormat : IEquatable<HorizontalRuleFormat>
public readonly struct HorizontalRuleFormat : IEquatable<HorizontalRuleFormat>
{
internal const HorizontalRuleStyle DefaultStyle = HorizontalRuleStyle.Hyphen;
internal const int DefaultCount = 3;
Expand Down Expand Up @@ -81,12 +81,12 @@ public override int GetHashCode()
return Hash.Combine((int)Style, Hash.Combine(Count, Hash.Create(Separator)));
}

public static bool operator ==(HorizontalRuleFormat format1, HorizontalRuleFormat format2)
public static bool operator ==(in HorizontalRuleFormat format1, in HorizontalRuleFormat format2)
{
return format1.Equals(format2);
}

public static bool operator !=(HorizontalRuleFormat format1, HorizontalRuleFormat format2)
public static bool operator !=(in HorizontalRuleFormat format1, in HorizontalRuleFormat format2)
{
return !(format1 == format2);
}
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/Linq/MFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ public static MHorizontalRule HorizontalRule()
return HorizontalRule(HorizontalRuleFormat.Default);
}

public static MHorizontalRule HorizontalRule(HorizontalRuleFormat format)
public static MHorizontalRule HorizontalRule(in HorizontalRuleFormat format)
{
return new MHorizontalRule(format);
}
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/Linq/MHorizontalRule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public MHorizontalRule(HorizontalRuleStyle style, int count, string separator)
Separator = separator;
}

public MHorizontalRule(HorizontalRuleFormat format)
public MHorizontalRule(in HorizontalRuleFormat format)
: this(format.Style, format.Count, format.Separator)
{
}
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/MarkdownBaseWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1339,7 +1339,7 @@ protected enum State
}

[DebuggerDisplay("{DebuggerDisplay,nq}")]
private struct ElementInfo
private readonly struct ElementInfo
{
public ElementInfo(State state, int number)
{
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/MarkdownFormat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ public MarkdownFormat WithOrderedListStyle(OrderedListStyle orderedListStyle)
HorizontalRuleFormat);
}

public MarkdownFormat WithHorizontalRuleFormat(HorizontalRuleFormat horizontalRuleFormat)
public MarkdownFormat WithHorizontalRuleFormat(in HorizontalRuleFormat horizontalRuleFormat)
{
return new MarkdownFormat(
BoldStyle,
Expand Down
2 changes: 1 addition & 1 deletion src/DotMarkdown/MarkdownWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ public void WriteHorizontalRule()
WriteHorizontalRule(Format.HorizontalRuleFormat);
}

public void WriteHorizontalRule(HorizontalRuleFormat format)
public void WriteHorizontalRule(in HorizontalRuleFormat format)
{
WriteHorizontalRule(format.Style, format.Count, format.Separator);
}
Expand Down
6 changes: 3 additions & 3 deletions src/DotMarkdown/TableColumnInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
namespace DotMarkdown
{
[DebuggerDisplay("{Alignment} {Width} IsWhiteSpace = {IsWhiteSpace}")]
public struct TableColumnInfo : IEquatable<TableColumnInfo>
public readonly struct TableColumnInfo : IEquatable<TableColumnInfo>
{
public TableColumnInfo(HorizontalAlignment alignment, int width, bool isWhiteSpace)
{
Expand Down Expand Up @@ -87,12 +87,12 @@ public override int GetHashCode()
return Hash.Combine((int)Alignment, Hash.Combine(IsWhiteSpace, Hash.Create(Width)));
}

public static bool operator ==(TableColumnInfo info1, TableColumnInfo info2)
public static bool operator ==(in TableColumnInfo info1, in TableColumnInfo info2)
{
return info1.Equals(info2);
}

public static bool operator !=(TableColumnInfo info1, TableColumnInfo info2)
public static bool operator !=(in TableColumnInfo info1, in TableColumnInfo info2)
{
return !(info1 == info2);
}
Expand Down
10 changes: 3 additions & 7 deletions src/TestConsole/DotMarkdown.TestConsole.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,12 @@

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
<OutputType>Exe</OutputType>
<AssemblyName>DotMarkdown.TestConsole</AssemblyName>
<RootNamespace>DotMarkdown.TestConsole</RootNamespace>
</PropertyGroup>

<PropertyGroup>
<CodeAnalysisRuleSet>..\..\global.ruleset</CodeAnalysisRuleSet>
<ApplicationIcon />
<OutputType>Exe</OutputType>
<StartupObject />
<LangVersion>7.2</LangVersion>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
Expand Down
8 changes: 3 additions & 5 deletions src/Tests/DotMarkdown.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<IsPackable>false</IsPackable>
<AssemblyName>DotMarkdown.Tests</AssemblyName>
<RootNamespace>DotMarkdown.Tests</RootNamespace>
<CodeAnalysisRuleSet>..\..\global.ruleset</CodeAnalysisRuleSet>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>DotMarkdown.Tests.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>

<PropertyGroup>
<CodeAnalysisRuleSet>..\..\global.ruleset</CodeAnalysisRuleSet>
<LangVersion>7.2</LangVersion>
<IsPackable>false</IsPackable>
</PropertyGroup>

<ItemGroup>
Expand Down

0 comments on commit d8f0edb

Please sign in to comment.