Making HashCodeCombiner usage non-fluent

React to https://github.com/aspnet/Common/issues/40
This commit is contained in:
Pranav K 2015-09-21 13:56:23 -07:00
parent 153ed57d66
commit 388362245f
22 changed files with 137 additions and 115 deletions

View File

@ -49,10 +49,10 @@ namespace Microsoft.AspNet.Razor.Test.Internal
public override int GetHashCode(TagHelperDescriptor descriptor) public override int GetHashCode(TagHelperDescriptor descriptor)
{ {
var hashCodeCombiner = HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(base.GetHashCode(descriptor)) hashCodeCombiner.Add(base.GetHashCode(descriptor));
.Add(descriptor.TagName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.TagName, StringComparer.Ordinal);
.Add(descriptor.Prefix, StringComparer.Ordinal); hashCodeCombiner.Add(descriptor.Prefix, StringComparer.Ordinal);
if (descriptor.DesignTimeDescriptor != null) if (descriptor.DesignTimeDescriptor != null)
{ {

View File

@ -38,15 +38,16 @@ namespace Microsoft.AspNet.Razor.Test.Internal
public int GetHashCode(TagHelperAttributeDescriptor descriptor) public int GetHashCode(TagHelperAttributeDescriptor descriptor)
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(descriptor.IsIndexer) hashCodeCombiner.Add(descriptor.IsIndexer);
.Add(descriptor.Name, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.Name, StringComparer.Ordinal);
.Add(descriptor.PropertyName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.PropertyName, StringComparer.Ordinal);
.Add(descriptor.TypeName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.TypeName, StringComparer.Ordinal);
.Add(descriptor.IsStringProperty) hashCodeCombiner.Add(descriptor.IsStringProperty);
.Add(TagHelperAttributeDesignTimeDescriptorComparer.Default.GetHashCode( hashCodeCombiner.Add(TagHelperAttributeDesignTimeDescriptorComparer.Default.GetHashCode(
descriptor.DesignTimeDescriptor)) descriptor.DesignTimeDescriptor));
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -35,11 +35,11 @@ namespace Microsoft.AspNet.Razor.Test.Internal
public int GetHashCode(TagHelperAttributeDesignTimeDescriptor descriptor) public int GetHashCode(TagHelperAttributeDesignTimeDescriptor descriptor)
{ {
return HashCodeCombiner var hashCodeCombiner = HashCodeCombiner.Start();
.Start() hashCodeCombiner.Add(descriptor.Summary, StringComparer.Ordinal);
.Add(descriptor.Summary, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.Remarks, StringComparer.Ordinal);
.Add(descriptor.Remarks, StringComparer.Ordinal)
.CombinedHash; return hashCodeCombiner;
} }
} }
} }

View File

@ -33,12 +33,13 @@ namespace Microsoft.AspNet.Razor.Test.Internal
public int GetHashCode(TagHelperDesignTimeDescriptor descriptor) public int GetHashCode(TagHelperDesignTimeDescriptor descriptor)
{ {
return HashCodeCombiner var hashCodeCombiner = HashCodeCombiner.Start();
.Start()
.Add(descriptor.Summary, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.Summary, StringComparer.Ordinal);
.Add(descriptor.Remarks, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.Remarks, StringComparer.Ordinal);
.Add(descriptor.OutputElementHint, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.OutputElementHint, StringComparer.Ordinal);
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -54,11 +54,12 @@ namespace Microsoft.AspNet.Razor.Chunks.Generators
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Name, StringComparer.Ordinal) hashCodeCombiner.Add(Name, StringComparer.Ordinal);
.Add(Prefix) hashCodeCombiner.Add(Prefix);
.Add(Suffix) hashCodeCombiner.Add(Suffix);
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -71,11 +71,13 @@ namespace Microsoft.AspNet.Razor.Chunks.Generators
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Prefix)
.Add(Value) hashCodeCombiner.Add(Prefix);
.Add(ValueGenerator) hashCodeCombiner.Add(Value);
.CombinedHash; hashCodeCombiner.Add(ValueGenerator);
return hashCodeCombiner;
} }
} }
} }

View File

@ -177,13 +177,15 @@ namespace Microsoft.AspNet.Razor.CodeGenerators
public override int GetHashCode() public override int GetHashCode()
{ {
// Hash code should include only immutable properties. // Hash code should include only immutable properties.
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(WriteMethodName, StringComparer.Ordinal)
.Add(WriteLiteralMethodName, StringComparer.Ordinal) hashCodeCombiner.Add(WriteMethodName, StringComparer.Ordinal);
.Add(WriteToMethodName, StringComparer.Ordinal) hashCodeCombiner.Add(WriteLiteralMethodName, StringComparer.Ordinal);
.Add(WriteLiteralToMethodName, StringComparer.Ordinal) hashCodeCombiner.Add(WriteToMethodName, StringComparer.Ordinal);
.Add(ExecuteMethodName, StringComparer.Ordinal) hashCodeCombiner.Add(WriteLiteralToMethodName, StringComparer.Ordinal);
.CombinedHash; hashCodeCombiner.Add(ExecuteMethodName, StringComparer.Ordinal);
return hashCodeCombiner;
} }
public static bool operator ==(GeneratedClassContext left, GeneratedClassContext right) public static bool operator ==(GeneratedClassContext left, GeneratedClassContext right)

View File

@ -32,10 +32,11 @@ namespace Microsoft.AspNet.Razor.CodeGenerators
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(DocumentLocation) hashCodeCombiner.Add(DocumentLocation);
.Add(GeneratedLocation) hashCodeCombiner.Add(GeneratedLocation);
.CombinedHash;
return hashCodeCombiner;
} }
public static bool operator ==(LineMapping left, LineMapping right) public static bool operator ==(LineMapping left, LineMapping right)

View File

@ -44,12 +44,13 @@ namespace Microsoft.AspNet.Razor.CodeGenerators
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(AbsoluteIndex) hashCodeCombiner.Add(AbsoluteIndex);
.Add(ContentLength) hashCodeCombiner.Add(ContentLength);
.Add(LineIndex) hashCodeCombiner.Add(LineIndex);
.Add(CharacterIndex) hashCodeCombiner.Add(CharacterIndex);
.CombinedHash;
return hashCodeCombiner;
} }
public override string ToString() public override string ToString()

View File

@ -65,10 +65,11 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override int GetHashCode() public override int GetHashCode()
{ {
// Hash code should include only immutable properties but Equals also checks the type. // Hash code should include only immutable properties but Equals also checks the type.
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(TypeHashCode) hashCodeCombiner.Add(TypeHashCode);
.Add(AutoCompleteAtEndOfSpan) hashCodeCombiner.Add(AutoCompleteAtEndOfSpan);
.CombinedHash;
return hashCodeCombiner.CombinedHash;
} }
} }
} }

View File

@ -60,10 +60,11 @@ namespace Microsoft.AspNet.Razor.Editor
public override int GetHashCode() public override int GetHashCode()
{ {
// Hash code should include only immutable properties and base has none. // Hash code should include only immutable properties and base has none.
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Keywords) hashCodeCombiner.Add(Keywords);
.Add(AcceptTrailingDot) hashCodeCombiner.Add(AcceptTrailingDot);
.CombinedHash;
return hashCodeCombiner;
} }
protected override PartialParseResult CanAcceptChange(Span target, TextChange normalizedChange) protected override PartialParseResult CanAcceptChange(Span target, TextChange normalizedChange)

View File

@ -129,11 +129,12 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Type) hashCodeCombiner.Add(Type);
.Add(ChunkGenerator) hashCodeCombiner.Add(ChunkGenerator);
.Add(Children) hashCodeCombiner.Add(Children);
.CombinedHash;
return hashCodeCombiner;
} }
public IEnumerable<Span> Flatten() public IEnumerable<Span> Flatten()
@ -222,13 +223,14 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override int GetEquivalenceHash() public override int GetEquivalenceHash()
{ {
var combiner = HashCodeCombiner.Start().Add(Type); var hashCodeCombiner = HashCodeCombiner.Start();
hashCodeCombiner.Add(Type);
foreach (var child in Children) foreach (var child in Children)
{ {
combiner.Add(child.GetEquivalenceHash()); hashCodeCombiner.Add(child.GetEquivalenceHash());
} }
return combiner.CombinedHash; return hashCodeCombiner.CombinedHash;
} }
} }
} }

View File

@ -127,11 +127,12 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers
/// <inheritdoc /> /// <inheritdoc />
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(base.GetHashCode()) hashCodeCombiner.Add(base.GetHashCode());
.Add(TagName, StringComparer.OrdinalIgnoreCase) hashCodeCombiner.Add(TagName, StringComparer.OrdinalIgnoreCase);
.Add(Attributes) hashCodeCombiner.Add(Attributes);
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -62,10 +62,11 @@ namespace Microsoft.AspNet.Razor
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Message, StringComparer.Ordinal) hashCodeCombiner.Add(Message, StringComparer.Ordinal);
.Add(Location) hashCodeCombiner.Add(Location);
.CombinedHash;
return hashCodeCombiner;
} }
public bool Equals(RazorError other) public bool Equals(RazorError other)

View File

@ -96,10 +96,11 @@ namespace Microsoft.AspNet.Razor
/// <inheritdoc /> /// <inheritdoc />
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(FilePath, StringComparer.Ordinal) hashCodeCombiner.Add(FilePath, StringComparer.Ordinal);
.Add(AbsoluteIndex) hashCodeCombiner.Add(AbsoluteIndex);
.CombinedHash;
return hashCodeCombiner;
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@ -68,11 +68,11 @@ namespace Microsoft.AspNet.Razor.TagHelpers
throw new ArgumentNullException(nameof(descriptor)); throw new ArgumentNullException(nameof(descriptor));
} }
var hashCodeCombiner = HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(descriptor.TypeName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.TypeName, StringComparer.Ordinal);
.Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase) hashCodeCombiner.Add(descriptor.TagName, StringComparer.OrdinalIgnoreCase);
.Add(descriptor.AssemblyName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.AssemblyName, StringComparer.Ordinal);
.Add(descriptor.TagStructure); hashCodeCombiner.Add(descriptor.TagStructure);
var attributes = descriptor.RequiredAttributes.OrderBy( var attributes = descriptor.RequiredAttributes.OrderBy(
attribute => attribute, attribute => attribute,

View File

@ -54,10 +54,11 @@ namespace Microsoft.AspNet.Razor.TagHelpers
throw new ArgumentNullException(nameof(descriptor)); throw new ArgumentNullException(nameof(descriptor));
} }
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(descriptor.AssemblyName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.AssemblyName, StringComparer.Ordinal);
.Add(descriptor.TypeName, StringComparer.Ordinal) hashCodeCombiner.Add(descriptor.TypeName, StringComparer.Ordinal);
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -55,10 +55,11 @@ namespace Microsoft.AspNet.Razor.Text
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Location) hashCodeCombiner.Add(Location);
.Add(Value) hashCodeCombiner.Add(Value);
.CombinedHash;
return hashCodeCombiner.CombinedHash;
} }
public override string ToString() public override string ToString()

View File

@ -146,14 +146,15 @@ namespace Microsoft.AspNet.Razor.Text
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(OldPosition) hashCodeCombiner.Add(OldPosition);
.Add(NewPosition) hashCodeCombiner.Add(NewPosition);
.Add(OldLength) hashCodeCombiner.Add(OldLength);
.Add(NewLength) hashCodeCombiner.Add(NewLength);
.Add(OldBuffer) hashCodeCombiner.Add(OldBuffer);
.Add(NewBuffer) hashCodeCombiner.Add(NewBuffer);
.CombinedHash;
return hashCodeCombiner;
} }
public string ApplyChange(string content, int changeOffset) public string ApplyChange(string content, int changeOffset)

View File

@ -50,10 +50,11 @@ namespace Microsoft.AspNet.Razor.Tokenizer.Symbols
public override int GetHashCode() public override int GetHashCode()
{ {
// Hash code should include only immutable properties. // Hash code should include only immutable properties.
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Content, StringComparer.Ordinal) hashCodeCombiner.Add(Content, StringComparer.Ordinal);
.Add(Type) hashCodeCombiner.Add(Type);
.CombinedHash;
return hashCodeCombiner;
} }
public override string ToString() public override string ToString()

View File

@ -50,11 +50,12 @@ namespace Microsoft.AspNet.Razor.Test.Generator
public override int GetHashCode() public override int GetHashCode()
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(Kind) hashCodeCombiner.Add(Kind);
.Add(Start) hashCodeCombiner.Add(Start);
.Add(End) hashCodeCombiner.Add(End);
.CombinedHash;
return hashCodeCombiner;
} }
} }
} }

View File

@ -291,11 +291,12 @@ namespace Microsoft.AspNet.Razor.TagHelpers
public int GetHashCode(TagHelperDirectiveDescriptor directiveDescriptor) public int GetHashCode(TagHelperDirectiveDescriptor directiveDescriptor)
{ {
return HashCodeCombiner.Start() var hashCodeCombiner = HashCodeCombiner.Start();
.Add(base.GetHashCode()) hashCodeCombiner.Add(base.GetHashCode());
.Add(directiveDescriptor.DirectiveText) hashCodeCombiner.Add(directiveDescriptor.DirectiveText);
.Add(directiveDescriptor.DirectiveType) hashCodeCombiner.Add(directiveDescriptor.DirectiveType);
.CombinedHash;
return hashCodeCombiner;
} }
} }