diff --git a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java index adeeb69f31a..72bf5e4c99b 100644 --- a/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java +++ b/spring-aop/src/main/java/org/springframework/aop/support/MethodMatchers.java @@ -157,10 +157,7 @@ public abstract class MethodMatchers { @Override public int hashCode() { - int hashCode = 17; - hashCode = 37 * hashCode + this.mm1.hashCode(); - hashCode = 37 * hashCode + this.mm2.hashCode(); - return hashCode; + return 37 * this.mm1.hashCode() + this.mm2.hashCode(); } } @@ -209,6 +206,12 @@ public abstract class MethodMatchers { } return (this.cf1.equals(otherCf1) && this.cf2.equals(otherCf2)); } + + @Override + public int hashCode() { + // Allow for matching with regular UnionMethodMatcher by providing same hash... + return super.hashCode(); + } } @@ -271,10 +274,7 @@ public abstract class MethodMatchers { @Override public int hashCode() { - int hashCode = 17; - hashCode = 37 * hashCode + this.mm1.hashCode(); - hashCode = 37 * hashCode + this.mm2.hashCode(); - return hashCode; + return 37 * this.mm1.hashCode() + this.mm2.hashCode(); } } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/config/DependencyDescriptor.java b/spring-beans/src/main/java/org/springframework/beans/factory/config/DependencyDescriptor.java index 995c0906c98..d764dc687a6 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/config/DependencyDescriptor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/config/DependencyDescriptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -352,7 +352,6 @@ public class DependencyDescriptor extends InjectionPoint implements Serializable Type[] args = ((ParameterizedType) type).getActualTypeArguments(); type = args[args.length - 1]; } - // TODO: Object.class if unresolvable } if (type instanceof Class) { return (Class) type; diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java index 3a54aeaf9ca..bd4294d453a 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java @@ -87,7 +87,7 @@ public class ResourceUrlProvider implements ApplicationListener resolvers = handler.getResourceResolvers(); @@ -176,7 +176,6 @@ public class ResourceUrlProvider implements ApplicationListener