mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Revert "Cache MethodParameter annotation lookup results"
This reverts commit c10d63dc01.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2011 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.
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
package org.springframework.core;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -30,7 +25,6 @@ import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* @author Arjen Poutsma
|
||||
* @author Nikita Tovstoles
|
||||
*/
|
||||
public class MethodParameterTests {
|
||||
|
||||
@@ -49,6 +43,7 @@ public class MethodParameterTests {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testEquals() throws NoSuchMethodException {
|
||||
assertEquals(stringParameter, stringParameter);
|
||||
@@ -82,30 +77,9 @@ public class MethodParameterTests {
|
||||
assertTrue(longParameter.hashCode() != methodParameter.hashCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMethodParamaterAnnotations() {
|
||||
Method method = stringParameter.getMethod();
|
||||
Annotation[][] expectedAnnotations = method.getParameterAnnotations();
|
||||
assertEquals(2, expectedAnnotations.length);
|
||||
assertEquals(DummyAnnotation.class, expectedAnnotations[0][0].annotationType());
|
||||
|
||||
//start with empty cache
|
||||
MethodParameter.methodParamAnnotationsCache.clear();
|
||||
|
||||
//check correctness
|
||||
assertArrayEquals(expectedAnnotations, MethodParameter.getMethodParameterAnnotations(method));
|
||||
//check that return value's been cached
|
||||
assertArrayEquals(expectedAnnotations, MethodParameter.methodParamAnnotationsCache.get(method));
|
||||
}
|
||||
|
||||
|
||||
public int method(@DummyAnnotation String p1, long p2) {
|
||||
public int method(String p1, long p2) {
|
||||
return 42;
|
||||
}
|
||||
|
||||
@Target(ElementType.PARAMETER)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface DummyAnnotation {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user