Skip to content

Commit 553a27c

Browse files
committed
Improve formatting of equals()
1 parent 076d3f6 commit 553a27c

File tree

3 files changed

+6
-12
lines changed

3 files changed

+6
-12
lines changed

demo/auto/AutoValue_Address.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,13 @@ public function equals($foo): bool
3939
if (\is_array($value1)) {
4040
$equal = \is_array($value2) && \count($value1) === \count($value2) && !\array_udiff_assoc($value1, $value2, $compareValues);
4141
} else {
42-
$equal = $value1 === $value2
43-
|| (\method_exists($value1, 'equals') ? $value1->equals($value2) : \is_object($value1) && $value1 == $value2);
42+
$equal = $value1 === $value2 || (\method_exists($value1, 'equals') ? $value1->equals($value2) : \is_object($value1) && $value1 == $value2);
4443
}
4544
return $equal ? 0 : 1;
4645
};
4746
return $compareValues($this->metadata, $foo->metadata) === 0
4847
&& $compareValues($this->foo, $foo->foo) === 0
49-
&& \count($this->lines) === \count($foo->lines)
50-
&& !\array_udiff_assoc($this->lines, $foo->lines, $compareValues);
48+
&& \count($this->lines) === \count($foo->lines) && !\array_udiff_assoc($this->lines, $foo->lines, $compareValues);
5149
}
5250

5351
public function toBuilder(): \AutoValue\Demo\AddressBuilder

demo/auto/AutoValue_Command.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ public function equals($subject): bool
3232
if (\is_array($value1)) {
3333
$equal = \is_array($value2) && \count($value1) === \count($value2) && !\array_udiff_assoc($value1, $value2, $compareValues);
3434
} else {
35-
$equal = $value1 === $value2
36-
|| (\method_exists($value1, 'equals') ? $value1->equals($value2) : \is_object($value1) && $value1 == $value2);
35+
$equal = $value1 === $value2 || (\method_exists($value1, 'equals') ? $value1->equals($value2) : \is_object($value1) && $value1 == $value2);
3736
}
3837
return $equal ? 0 : 1;
3938
};

src/ValueEquals/EqualsMethodProcessor.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,13 @@ private function generateMethodBody(
101101
$arrayProperties
102102
->filter(function (Property $property) { return $property->isRequired(); })
103103
->mapPropertyNames(function (string $propertyName) use ($valueParam) {
104-
return "\count(\$this->{$propertyName}) === \count(\${$valueParam}->$propertyName)
105-
&& !\array_udiff_assoc(\$this->{$propertyName}, \${$valueParam}->$propertyName, \$compareValues)";
104+
return "\count(\$this->{$propertyName}) === \count(\${$valueParam}->$propertyName) && !\array_udiff_assoc(\$this->{$propertyName}, \${$valueParam}->$propertyName, \$compareValues)";
106105
}),
107106

108107
$arrayProperties
109108
->filter(function (Property $property) { return !$property->isRequired(); })
110109
->mapPropertyNames(function (string $propertyName) use ($valueParam) {
111-
return "\$this->{$propertyName} === null ? \${$valueParam}->$propertyName === null
112-
: (\count(\$this->{$propertyName}) === \count(\${$valueParam}->$propertyName) && !\array_udiff_assoc(\$this->{$propertyName}, \${$valueParam}->$propertyName, \$compareValues))";
110+
return "\$this->{$propertyName} === null ? \${$valueParam}->$propertyName === null : (\count(\$this->{$propertyName}) === \count(\${$valueParam}->$propertyName) && !\array_udiff_assoc(\$this->{$propertyName}, \${$valueParam}->$propertyName, \$compareValues))";
113111
})
114112
);
115113

@@ -123,8 +121,7 @@ private function generateMethodBody(
123121
if (\is_array(\$value1)) {
124122
\$equal = \is_array(\$value2) && \count(\$value1) === \count(\$value2) && !\array_udiff_assoc(\$value1, \$value2, \$compareValues);
125123
} else {
126-
\$equal = \$value1 === \$value2
127-
|| (\method_exists(\$value1, 'equals') ? \$value1->equals(\$value2) : \is_object(\$value1) && \$value1 == \$value2);
124+
\$equal = \$value1 === \$value2 || (\method_exists(\$value1, 'equals') ? \$value1->equals(\$value2) : \is_object(\$value1) && \$value1 == \$value2);
128125
}
129126
return \$equal ? 0 : 1;
130127
};

0 commit comments

Comments
 (0)