From f4676bb41c396126c1ca077a6ef06bce017f0799 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 21 Nov 2019 18:25:37 +0100 Subject: [PATCH] Restore short-circuiting in equals implementation Closes gh-24048 --- .../support/AbstractBeanDefinition.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java index 4fa941961a5e..4143b40dd18a 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanDefinition.java @@ -1128,28 +1128,28 @@ public boolean equals(Object other) { } AbstractBeanDefinition that = (AbstractBeanDefinition) other; boolean rtn = ObjectUtils.nullSafeEquals(getBeanClassName(), that.getBeanClassName()); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.scope, that.scope); - rtn = rtn &= this.abstractFlag == that.abstractFlag; - rtn = rtn &= this.lazyInit == that.lazyInit; - rtn = rtn &= this.autowireMode == that.autowireMode; - rtn = rtn &= this.dependencyCheck == that.dependencyCheck; - rtn = rtn &= Arrays.equals(this.dependsOn, that.dependsOn); - rtn = rtn &= this.autowireCandidate == that.autowireCandidate; - rtn = rtn &= ObjectUtils.nullSafeEquals(this.qualifiers, that.qualifiers); - rtn = rtn &= this.primary == that.primary; - rtn = rtn &= this.nonPublicAccessAllowed == that.nonPublicAccessAllowed; - rtn = rtn &= this.lenientConstructorResolution == that.lenientConstructorResolution; - rtn = rtn &= ObjectUtils.nullSafeEquals(this.constructorArgumentValues, that.constructorArgumentValues); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.propertyValues, that.propertyValues); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.methodOverrides, that.methodOverrides); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.factoryBeanName, that.factoryBeanName); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.factoryMethodName, that.factoryMethodName); - rtn = rtn &= ObjectUtils.nullSafeEquals(this.initMethodName, that.initMethodName); - rtn = rtn &= this.enforceInitMethod == that.enforceInitMethod; - rtn = rtn &= ObjectUtils.nullSafeEquals(this.destroyMethodName, that.destroyMethodName); - rtn = rtn &= this.enforceDestroyMethod == that.enforceDestroyMethod; - rtn = rtn &= this.synthetic == that.synthetic; - rtn = rtn &= this.role == that.role; + rtn = rtn && ObjectUtils.nullSafeEquals(this.scope, that.scope); + rtn = rtn && this.abstractFlag == that.abstractFlag; + rtn = rtn && this.lazyInit == that.lazyInit; + rtn = rtn && this.autowireMode == that.autowireMode; + rtn = rtn && this.dependencyCheck == that.dependencyCheck; + rtn = rtn && Arrays.equals(this.dependsOn, that.dependsOn); + rtn = rtn && this.autowireCandidate == that.autowireCandidate; + rtn = rtn && ObjectUtils.nullSafeEquals(this.qualifiers, that.qualifiers); + rtn = rtn && this.primary == that.primary; + rtn = rtn && this.nonPublicAccessAllowed == that.nonPublicAccessAllowed; + rtn = rtn && this.lenientConstructorResolution == that.lenientConstructorResolution; + rtn = rtn && ObjectUtils.nullSafeEquals(this.constructorArgumentValues, that.constructorArgumentValues); + rtn = rtn && ObjectUtils.nullSafeEquals(this.propertyValues, that.propertyValues); + rtn = rtn && ObjectUtils.nullSafeEquals(this.methodOverrides, that.methodOverrides); + rtn = rtn && ObjectUtils.nullSafeEquals(this.factoryBeanName, that.factoryBeanName); + rtn = rtn && ObjectUtils.nullSafeEquals(this.factoryMethodName, that.factoryMethodName); + rtn = rtn && ObjectUtils.nullSafeEquals(this.initMethodName, that.initMethodName); + rtn = rtn && this.enforceInitMethod == that.enforceInitMethod; + rtn = rtn && ObjectUtils.nullSafeEquals(this.destroyMethodName, that.destroyMethodName); + rtn = rtn && this.enforceDestroyMethod == that.enforceDestroyMethod; + rtn = rtn && this.synthetic == that.synthetic; + rtn = rtn && this.role == that.role; return rtn && super.equals(other); }