cn.wensiqun.asmsupport.utils.chooser
接口 DetermineMethodSignature

所有已知实现类:
AbstractMethodChooser, ArrayClassMethodChooser, MethodChooser, ProductClassMethodChooser, SemiClassMethodChooser

public interface DetermineMethodSignature


方法摘要
 MethodEntity choosingTheMostSpecificMethod(List<MethodEntity> entities)
           Choosing the Most Specific Method
reference to : The Java™ Language Specification 15.12.2.5
 MethodEntity firstPhase()
           Phase 1 Identify Matching Arity Methods Applicable by Subtyping
reference to : The Java™ Language Specification 15.12.2.2
 Map<AClass,List<MethodEntity>> identifyPotentiallyApplicableMethods()
          jsl3 := The Java™ Language Specification Third Edition
A member method is potentially applicable to a method invocation if and only if all of the following are true: The name of the member is identical to the name of the method in the method invocation.
 MethodEntity secondPhase()
           Phase 2: Identify Matching Arity Methods Applicable by Method Invocation Conversion reference to : The Java™ Language Specification 15.12.2.3
 MethodEntity thirdPhase()
           Phase 3: Identify Applicable Variable Arity Methods reference to : The Java™ Language Specification 15.12.2.4
 

方法详细信息

identifyPotentiallyApplicableMethods

Map<AClass,List<MethodEntity>> identifyPotentiallyApplicableMethods()

jsl3 := The Java™ Language Specification Third Edition
A member method is potentially applicable to a method invocation if and only if all of the following are true:

  1. The name of the member is identical to the name of the method in the method invocation.
  2. The member is accessible (jsl3 6.6) to the class or interface in which the method invocation appears.
  3. The arity of the member is lesser or equal to the arity of the method invocation.
  4. If the member is a variable arity method with arity n, the arity of the method invocation is greater or equal to n-1.
  5. If the member is a fixed arity method with arity n, the arity of the method invocation is equal to n.
  6. If the method invocation includes explicit type parameters, and the member is a generic method, then the number of actual type parameters is equal to the number of formal type parameters.

返回:

firstPhase

MethodEntity firstPhase()

Phase 1 Identify Matching Arity Methods Applicable by Subtyping

reference to : The Java™ Language Specification 15.12.2.2

返回:

secondPhase

MethodEntity secondPhase()

Phase 2: Identify Matching Arity Methods Applicable by Method Invocation Conversion

reference to : The Java™ Language Specification 15.12.2.3

返回:

thirdPhase

MethodEntity thirdPhase()

Phase 3: Identify Applicable Variable Arity Methods

reference to : The Java™ Language Specification 15.12.2.4

返回:

choosingTheMostSpecificMethod

MethodEntity choosingTheMostSpecificMethod(List<MethodEntity> entities)

Choosing the Most Specific Method

reference to : The Java™ Language Specification 15.12.2.5

返回:


Copyright © 2013. All Rights Reserved.