Package org.eclipse.jdt.internal.compiler.lookup

Examples of org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator


    Object oldNode = this.newAstToOldAst.get(methodInvocation);
    if (oldNode instanceof MessageSend) {
      MessageSend messageSend = (MessageSend) oldNode;
      org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding = messageSend.binding;
      if (methodBinding instanceof ParameterizedGenericMethodBinding) {
        ParameterizedGenericMethodBinding genericMethodBinding = (ParameterizedGenericMethodBinding) methodBinding;
        return genericMethodBinding.inferredReturnType;
      }
    }
    return false;
  }
View Full Code Here


    Object oldNode = this.newAstToOldAst.get(superMethodInvocation);
    if (oldNode instanceof MessageSend) {
      MessageSend messageSend = (MessageSend) oldNode;
      org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding = messageSend.binding;
      if (methodBinding instanceof ParameterizedGenericMethodBinding) {
        ParameterizedGenericMethodBinding genericMethodBinding = (ParameterizedGenericMethodBinding) methodBinding;
        return genericMethodBinding.inferredReturnType;
      }
    }
    return false;
  }
View Full Code Here

        id = IProblem.AmbiguousConstructor;
      }
      break;
    case ProblemReasons.ParameterBoundMismatch :
      problemConstructor = (ProblemMethodBinding) targetConstructor;
      ParameterizedGenericMethodBinding substitutedConstructor = (ParameterizedGenericMethodBinding) problemConstructor.closestMatch;
      shownConstructor = substitutedConstructor.original();
      int augmentedLength = problemConstructor.parameters.length;
      TypeBinding inferredTypeArgument = problemConstructor.parameters[augmentedLength-2];
      TypeVariableBinding typeParameter = (TypeVariableBinding) problemConstructor.parameters[augmentedLength-1];
      TypeBinding[] invocationArguments = new TypeBinding[augmentedLength-2]; // remove extra info from the end
      System.arraycopy(problemConstructor.parameters, 0, invocationArguments, 0, augmentedLength-2);
View Full Code Here

        messageSend.receiver.sourceStart,
        messageSend.receiver.sourceEnd);
      return;
    case ProblemReasons.ParameterBoundMismatch :
      problemMethod = (ProblemMethodBinding) method;
      ParameterizedGenericMethodBinding substitutedMethod = (ParameterizedGenericMethodBinding) problemMethod.closestMatch;
      shownMethod = substitutedMethod.original();
      int augmentedLength = problemMethod.parameters.length;
      TypeBinding inferredTypeArgument = problemMethod.parameters[augmentedLength-2];
      TypeVariableBinding typeParameter = (TypeVariableBinding) problemMethod.parameters[augmentedLength-1];
      TypeBinding[] invocationArguments = new TypeBinding[augmentedLength-2]; // remove extra info from the end
      System.arraycopy(problemMethod.parameters, 0, invocationArguments, 0, augmentedLength-2);
View Full Code Here

      break;
    case ProblemReasons.ParameterBoundMismatch :
      int severity = computeSeverity(IProblem.JavadocGenericConstructorTypeArgumentMismatch);
      if (severity == ProblemSeverities.Ignore) return;
      problemConstructor = (ProblemMethodBinding) targetConstructor;
      ParameterizedGenericMethodBinding substitutedConstructor = (ParameterizedGenericMethodBinding) problemConstructor.closestMatch;
      shownConstructor = substitutedConstructor.original();

      int augmentedLength = problemConstructor.parameters.length;
      TypeBinding inferredTypeArgument = problemConstructor.parameters[augmentedLength-2];
      TypeVariableBinding typeParameter = (TypeVariableBinding) problemConstructor.parameters[augmentedLength-1];
      TypeBinding[] invocationArguments = new TypeBinding[augmentedLength-2]; // remove extra info from the end
View Full Code Here

      break;
    case ProblemReasons.ParameterBoundMismatch :
      int severity = computeSeverity(IProblem.JavadocGenericMethodTypeArgumentMismatch);
      if (severity == ProblemSeverities.Ignore) return;
      problemMethod = (ProblemMethodBinding) method;
      ParameterizedGenericMethodBinding substitutedMethod = (ParameterizedGenericMethodBinding) problemMethod.closestMatch;
      shownMethod = substitutedMethod.original();
      int augmentedLength = problemMethod.parameters.length;
      TypeBinding inferredTypeArgument = problemMethod.parameters[augmentedLength-2];
      TypeVariableBinding typeParameter = (TypeVariableBinding) problemMethod.parameters[augmentedLength-1];
      TypeBinding[] invocationArguments = new TypeBinding[augmentedLength-2]; // remove extra info from the end
      System.arraycopy(problemMethod.parameters, 0, invocationArguments, 0, augmentedLength-2);
View Full Code Here

  this.match = locator.newMethodReferenceMatch(element, elementBinding, accuracy, -1, -1, true, isSynthetic, reference);

  // Look to refine accuracy
  if (constructorBinding instanceof ParameterizedGenericMethodBinding) { // parameterized generic method
    // Update match regarding constructor type arguments
    ParameterizedGenericMethodBinding parameterizedMethodBinding = (ParameterizedGenericMethodBinding) constructorBinding;
    this.match.setRaw(parameterizedMethodBinding.isRaw);
    TypeBinding[] typeBindings = parameterizedMethodBinding.isRaw ? null : parameterizedMethodBinding.typeArguments;
    updateMatch(typeBindings, locator, this.pattern.constructorArguments, this.pattern.hasConstructorParameters());

    // Update match regarding declaring class type arguments
View Full Code Here

    Object oldNode = this.newAstToOldAst.get(methodInvocation);
    if (oldNode instanceof MessageSend) {
      MessageSend messageSend = (MessageSend) oldNode;
      org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding = messageSend.binding;
      if (methodBinding instanceof ParameterizedGenericMethodBinding) {
        ParameterizedGenericMethodBinding genericMethodBinding = (ParameterizedGenericMethodBinding) methodBinding;
        return genericMethodBinding.inferredReturnType;
      }
    }
    return false;
  }
View Full Code Here

    Object oldNode = this.newAstToOldAst.get(superMethodInvocation);
    if (oldNode instanceof MessageSend) {
      MessageSend messageSend = (MessageSend) oldNode;
      org.eclipse.jdt.internal.compiler.lookup.MethodBinding methodBinding = messageSend.binding;
      if (methodBinding instanceof ParameterizedGenericMethodBinding) {
        ParameterizedGenericMethodBinding genericMethodBinding = (ParameterizedGenericMethodBinding) methodBinding;
        return genericMethodBinding.inferredReturnType;
      }
    }
    return false;
  }
View Full Code Here

    if (this.typeArguments != null) {
      return this.typeArguments;
    }

    if (this.binding instanceof ParameterizedGenericMethodBinding) {
      ParameterizedGenericMethodBinding genericMethodBinding = (ParameterizedGenericMethodBinding) this.binding;
      org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] typeArgumentsBindings = genericMethodBinding.typeArguments;
      int typeArgumentsLength = typeArgumentsBindings == null ? 0 : typeArgumentsBindings.length;
      if (typeArgumentsLength != 0) {
        ITypeBinding[] tArguments = new ITypeBinding[typeArgumentsLength];
        for (int i = 0; i < typeArgumentsLength; i++) {
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.internal.compiler.lookup.ParameterizedGenericMethodBinding$LingeringTypeVariableEliminator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.