spring-framework / org.springframework.core / BridgeMethodResolver

BridgeMethodResolver

abstract class BridgeMethodResolver

Helper for resolving synthetic bridge Methods to the Method being bridged.

Given a synthetic bridge Method returns the Method being bridged. A bridge method may be created by the compiler when extending a parameterized type whose methods have parameterized arguments. During runtime invocation the bridge Method may be invoked and/or used via reflection. When attempting to locate annotations on Method, it is wise to check for bridge Method as appropriate and find the bridged Method.

See The Java Language Specification for more details on the use of bridge methods.

Author
Rob Harrop

Author
Juergen Hoeller

Author
Phillip Webb

Since
2.0

Constructors

<init>

BridgeMethodResolver()

Helper for resolving synthetic bridge Methods to the Method being bridged.

Given a synthetic bridge Method returns the Method being bridged. A bridge method may be created by the compiler when extending a parameterized type whose methods have parameterized arguments. During runtime invocation the bridge Method may be invoked and/or used via reflection. When attempting to locate annotations on Method, it is wise to check for bridge Method as appropriate and find the bridged Method.

See The Java Language Specification for more details on the use of bridge methods.

Functions

findBridgedMethod

open static fun findBridgedMethod(bridgeMethod: Method): Method

Find the original method for the supplied Method.

It is safe to call this method passing in a non-bridge Method instance. In such a case, the supplied Method instance is returned directly to the caller. Callers are not required to check for bridging before calling this method.

isVisibilityBridgeMethodPair

open static fun isVisibilityBridgeMethodPair(bridgeMethod: Method, bridgedMethod: Method): Boolean

Compare the signatures of the bridge method and the method which it bridges. If the parameter and return types are the same, it is a 'visibility' bridge method introduced in Java 6 to fix http://bugs.sun.com/view_bug.do?bug_id=6342411. See also http://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html