Klasse ParameterizedGenericMethodBinding

Alle implementierten Schnittstellen:
Substitution
Bekannte direkte Unterklassen:
PolyParameterizedGenericMethodBinding

public class ParameterizedGenericMethodBinding extends ParameterizedMethodBinding implements Substitution
Binding denoting a generic method after type parameter substitutions got performed. On parameterized type bindings, all methods got substituted, regardless whether their signature did involve generics or not, so as to get the proper declaringClass for these methods.
  • Felddetails

    • typeArguments

      public TypeBinding[] typeArguments
    • environment

      protected LookupEnvironment environment
    • inferredReturnType

      public boolean inferredReturnType
    • wasInferred

      public boolean wasInferred
    • isRaw

      public boolean isRaw
    • inferredWithUncheckedConversion

      public boolean inferredWithUncheckedConversion
    • targetType

      public TypeBinding targetType
  • Konstruktordetails

    • ParameterizedGenericMethodBinding

      public ParameterizedGenericMethodBinding(MethodBinding originalMethod, RawTypeBinding rawType, LookupEnvironment environment)
      Create raw generic method for raw type (double substitution from type vars with raw type arguments, and erasure of method variables) Only invoked for non-static generic methods of raw type
    • ParameterizedGenericMethodBinding

      public ParameterizedGenericMethodBinding(MethodBinding originalMethod, TypeBinding[] typeArguments, LookupEnvironment environment, boolean inferredWithUncheckConversion, boolean hasReturnProblem, TypeBinding targetType)
      Create method of parameterized type, substituting original parameters with type arguments.
  • Methodendetails

    • computeCompatibleMethod

      public static MethodBinding computeCompatibleMethod(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite)
      Perform inference of generic method type parameters and/or expected type

      In 1.8+ if the expected type is not yet available due to this call being an argument to an outer call which is not overload-resolved yet, the returned method binding will be a PolyParameterizedGenericMethodBinding.

    • computeCompatibleMethod18

      public static MethodBinding computeCompatibleMethod18(MethodBinding originalMethod, TypeBinding[] arguments, Scope scope, InvocationSite invocationSite)
    • computeUniqueKey

      public char[] computeUniqueKey(boolean isLeaf)
      Setzt außer Kraft:
      computeUniqueKey in Klasse MethodBinding
    • environment

      public LookupEnvironment environment()
      Beschreibung aus Schnittstelle kopiert: Substitution
      Returns the lookup environment
      Angegeben von:
      environment in Schnittstelle Substitution
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.Substitution#environment()
    • hasSubstitutedParameters

      public boolean hasSubstitutedParameters()
      Returns true if some parameters got substituted. NOTE: generic method invocation delegates to its declaring method (could be a parameterized one)
      Setzt außer Kraft:
      hasSubstitutedParameters in Klasse ParameterizedMethodBinding
    • hasSubstitutedReturnType

      public boolean hasSubstitutedReturnType()
      Returns true if the return type got substituted. NOTE: generic method invocation delegates to its declaring method (could be a parameterized one)
      Setzt außer Kraft:
      hasSubstitutedReturnType in Klasse ParameterizedMethodBinding
    • isParameterizedGeneric

      public boolean isParameterizedGeneric()
      Setzt außer Kraft:
      isParameterizedGeneric in Klasse MethodBinding
    • isRawSubstitution

      public boolean isRawSubstitution()
      Beschreibung aus Schnittstelle kopiert: Substitution
      Returns true for raw substitution
      Angegeben von:
      isRawSubstitution in Schnittstelle Substitution
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.Substitution#isRawSubstitution()
    • substitute

      public TypeBinding substitute(TypeVariableBinding originalVariable)
      Beschreibung aus Schnittstelle kopiert: Substitution
      Returns the type substitute for a given type variable, or itself if no substitution got performed.
      Angegeben von:
      substitute in Schnittstelle Substitution
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.Substitution#substitute(org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding)
    • tiebreakMethod

      public MethodBinding tiebreakMethod()
      Beschreibung aus Klasse kopiert: MethodBinding
      Returns the method to use during tiebreak (usually the method itself). For generic method invocations, tiebreak needs to use generic method with erasure substitutes.
      Setzt außer Kraft:
      tiebreakMethod in Klasse MethodBinding
      Siehe auch:
      • Ungültige Referenz
        org.eclipse.jdt.internal.compiler.lookup.MethodBinding#tiebreakMethod()
    • genericMethod

      public MethodBinding genericMethod()
      Setzt außer Kraft:
      genericMethod in Klasse MethodBinding
    • alwaysNeedsAccessMethod

      public boolean alwaysNeedsAccessMethod()
      Beschreibung aus Klasse kopiert: MethodBinding
      Subtypes can override this to return true if an access method should be used when referring to this method binding. Currently used for AspectJ's inter-type method declarations.
      Setzt außer Kraft:
      alwaysNeedsAccessMethod in Klasse ParameterizedMethodBinding
    • getAccessMethod

      public MethodBinding getAccessMethod(boolean staticReference)
      Beschreibung aus Klasse kopiert: MethodBinding
      This will only be called if alwaysNeedsAccessMethod() returns true. In that case it should return the access method to be used.
      Setzt außer Kraft:
      getAccessMethod in Klasse ParameterizedMethodBinding