@@ -838,7 +838,7 @@ deriveBodyHashable_enum_hashValue(AbstractFunctionDecl *hashValueDecl) {
838
838
for (auto elt : enumDecl->getAllElements ()) {
839
839
// case .<elt>(let a0, let a1, ...):
840
840
SmallVector<VarDecl*, 3 > payloadVars;
841
- SmallVector<ASTNode, 3 > mixExpressions ;
841
+ SmallVector<ASTNode, 3 > combineExprs ;
842
842
843
843
auto payloadPattern = enumElementPayloadSubpattern (elt, ' a' , hashValueDecl,
844
844
payloadVars);
@@ -863,7 +863,7 @@ deriveBodyHashable_enum_hashValue(AbstractFunctionDecl *hashValueDecl) {
863
863
/* implicit*/ true );
864
864
auto assignExpr = new (C) AssignExpr (resultRef, SourceLoc (),
865
865
ordinalExpr, /* implicit*/ true );
866
- mixExpressions .emplace_back (ASTNode (assignExpr));
866
+ combineExprs .emplace_back (ASTNode (assignExpr));
867
867
}
868
868
869
869
if (!hasNoAssociatedValues) {
@@ -873,18 +873,14 @@ deriveBodyHashable_enum_hashValue(AbstractFunctionDecl *hashValueDecl) {
873
873
auto payloadVarRef = new (C) DeclRefExpr (payloadVar, DeclNameLoc (),
874
874
/* implicit*/ true );
875
875
// result = _combineHashValues(result, <payloadVar>.hashValue)
876
- auto mixExpr = combineHashValuesAssignmentExpr (C, resultVar,
877
- payloadVarRef);
878
- mixExpressions .emplace_back (ASTNode (mixExpr ));
876
+ auto combineExpr = combineHashValuesAssignmentExpr (C, resultVar,
877
+ payloadVarRef);
878
+ combineExprs .emplace_back (ASTNode (combineExpr ));
879
879
}
880
-
881
- // result = _mixInt(result)
882
- auto assignExpr = mixIntAssignmentExpr (C, resultVar);
883
- mixExpressions.emplace_back (ASTNode (assignExpr));
884
880
}
885
881
886
882
auto hasBoundDecls = !payloadVars.empty ();
887
- auto body = BraceStmt::create (C, SourceLoc (), mixExpressions , SourceLoc ());
883
+ auto body = BraceStmt::create (C, SourceLoc (), combineExprs , SourceLoc ());
888
884
cases.push_back (CaseStmt::create (C, SourceLoc (), labelItem, hasBoundDecls,
889
885
SourceLoc (), body));
890
886
}
@@ -963,16 +959,12 @@ deriveBodyHashable_struct_hashValue(AbstractFunctionDecl *hashValueDecl) {
963
959
auto selfPropertyExpr = new (C) DotSyntaxCallExpr (propertyRef, SourceLoc (),
964
960
selfRef);
965
961
// result = _combineHashValues(result, <property>.hashValue)
966
- auto mixExpr = combineHashValuesAssignmentExpr (C, resultVar,
967
- selfPropertyExpr);
968
- statements.emplace_back (ASTNode (mixExpr ));
962
+ auto combineExpr = combineHashValuesAssignmentExpr (C, resultVar,
963
+ selfPropertyExpr);
964
+ statements.emplace_back (ASTNode (combineExpr ));
969
965
}
970
966
971
967
{
972
- // result = _mixInt(result)
973
- auto assignExpr = mixIntAssignmentExpr (C, resultVar);
974
- statements.push_back (assignExpr);
975
-
976
968
// return result
977
969
auto resultRef = new (C) DeclRefExpr (resultVar, DeclNameLoc (),
978
970
/* implicit*/ true ,
@@ -1021,7 +1013,6 @@ deriveHashable_hashValue(TypeChecker &tc, Decl *parentDecl,
1021
1013
// result = _combineHashValues(result, a0.hashValue)
1022
1014
// result = _combineHashValues(result, a1.hashValue)
1023
1015
// }
1024
- // result = _mixInt(result)
1025
1016
// return result
1026
1017
// }
1027
1018
// }
@@ -1030,10 +1021,9 @@ deriveHashable_hashValue(TypeChecker &tc, Decl *parentDecl,
1030
1021
// var x: Int
1031
1022
// var y: String
1032
1023
// @derived var hashValue: Int {
1033
- // var result: Int = 0
1024
+ // var result = 0
1034
1025
// result = _combineHashValues(result, x.hashValue)
1035
1026
// result = _combineHashValues(result, y.hashValue)
1036
- // result = _mixInt(result)
1037
1027
// return result
1038
1028
// }
1039
1029
// }
0 commit comments