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

Examples of org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding


      onMissingTypeRef((MissingTypeBinding) binding, cud, expression);
    } else if (binding instanceof BinaryTypeBinding) {
      onBinaryTypeRef((BinaryTypeBinding) binding, cud, expression);
    } else if (binding instanceof ParameterizedTypeBinding) {
      // Make sure that we depend on the generic version of the class.
      ParameterizedTypeBinding ptBinding = (ParameterizedTypeBinding) binding;
      maybeDispatch(expression, ptBinding.genericType());
    } else if (binding instanceof RawTypeBinding) {
      // Make sure that we depend on the generic version of the class.
      RawTypeBinding rawTypeBinding = (RawTypeBinding) binding;
      maybeDispatch(expression, rawTypeBinding.genericType());
    } else {
View Full Code Here


  private JNode get(Binding binding, boolean failOnNull) {
    if (binding instanceof TypeVariableBinding) {
      TypeVariableBinding tvb = (TypeVariableBinding) binding;
      return get(tvb.erasure(), failOnNull);
    } else if (binding instanceof ParameterizedTypeBinding) {
      ParameterizedTypeBinding ptb = (ParameterizedTypeBinding) binding;
      return get(ptb.erasure(), failOnNull);
    } else if (binding instanceof ParameterizedMethodBinding) {
      ParameterizedMethodBinding pmb = (ParameterizedMethodBinding) binding;
      return get(pmb.original(), failOnNull);
    } else if (binding instanceof ParameterizedFieldBinding) {
      ParameterizedFieldBinding pfb = (ParameterizedFieldBinding) binding;
View Full Code Here

      return;
    }
    classFile.visitedTypes.add(typeBinding);
    if (typeBinding.isParameterizedType()
        && ((typeBinding.tagBits & TagBits.ContainsNestedTypeReferences) != 0)) {
      ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) typeBinding;
      ReferenceBinding genericType = parameterizedTypeBinding.genericType();
      if ((genericType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
        recordNestedType(classFile, genericType);
      }
      TypeBinding[] arguments = parameterizedTypeBinding.arguments;
      if (arguments != null) {
View Full Code Here

      case Binding.PARAMETERIZED_TYPE :
        if (!typeBinding2.isParameterizedType()) {
          return false;
        }
        ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) typeBinding;
        ParameterizedTypeBinding parameterizedTypeBinding2 = (ParameterizedTypeBinding) typeBinding2;
        return CharOperation.equals(parameterizedTypeBinding.compoundName, parameterizedTypeBinding2.compoundName)
          && (parameterizedTypeBinding.modifiers & (ExtraCompilerModifiers.AccJustFlag | ClassFileConstants.AccInterface | ClassFileConstants.AccEnum | ClassFileConstants.AccAnnotation))
              == (parameterizedTypeBinding2.modifiers & (ExtraCompilerModifiers.AccJustFlag | ClassFileConstants.AccInterface | ClassFileConstants.AccEnum | ClassFileConstants.AccAnnotation))
          && isEqual(parameterizedTypeBinding.arguments, parameterizedTypeBinding2.arguments, visitedTypes)
          && isEqual(parameterizedTypeBinding.enclosingType(), parameterizedTypeBinding2.enclosingType(), visitedTypes);

      case Binding.WILDCARD_TYPE :
        if (typeBinding2.kind() != Binding.WILDCARD_TYPE) {
          return false;
        }
View Full Code Here

                this.bits |= ASTNode.UnsafeCast;
                return true;
              }
              // [JLS 5.5] S has no subtype X != T, such that |X| == |T|
              // if I2<T,U> extends I1<T>, then cast from I1<T> to I2<T,U> is unchecked
              ParameterizedTypeBinding paramCastType = (ParameterizedTypeBinding) castType;
              ParameterizedTypeBinding paramMatch = (ParameterizedTypeBinding) match;
              // easy case if less parameters on match
              TypeBinding[] castArguments = paramCastType.arguments;
              int length = castArguments.length;
              if (paramMatch.arguments == null || length > paramMatch.arguments.length) {
                this.bits |= ASTNode.UnsafeCast;
              } else if ((paramCastType.tagBits & (TagBits.HasDirectWildcard|TagBits.HasTypeVariable)) != 0) {
                // verify alternate cast type, substituting different type arguments
                nextAlternateArgument: for (int i = 0; i < length; i++) {
                  switch (castArguments[i].kind()) {
                    case Binding.WILDCARD_TYPE :
                    case Binding.TYPE_PARAMETER :
                      break; // check substituting with other
                    default:
                      continue nextAlternateArgument; // no alternative possible
                  }
                  TypeBinding[] alternateArguments;
                  // need to clone for each iteration to avoid env paramtype cache interference
                  System.arraycopy(paramCastType.arguments, 0, alternateArguments = new TypeBinding[length], 0, length);
                  alternateArguments[i] = scope.getJavaLangObject();
                  LookupEnvironment environment = scope.environment();
                  ParameterizedTypeBinding alternateCastType = environment.createParameterizedType((ReferenceBinding)castType.erasure(), alternateArguments, castType.enclosingType());
                  if (alternateCastType.findSuperTypeOriginatingFrom(expressionType) == match) {
                    this.bits |= ASTNode.UnsafeCast;
                    break;
                  }
                }
              }
View Full Code Here

      return;
    }
    classFile.visitedTypes.add(typeBinding);
    if (typeBinding.isParameterizedType()
        && ((typeBinding.tagBits & TagBits.ContainsNestedTypeReferences) != 0)) {
      ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) typeBinding;
      ReferenceBinding genericType = parameterizedTypeBinding.genericType();
      if ((genericType.tagBits & TagBits.ContainsNestedTypeReferences) != 0) {
        recordNestedType(classFile, genericType);
      }
      TypeBinding[] arguments = parameterizedTypeBinding.arguments;
      if (arguments != null) {
View Full Code Here

   */
  @Override
  public List<? extends TypeMirror> getTypeArguments() {
    ReferenceBinding binding = (ReferenceBinding)_binding;
    if (binding.isParameterizedType()) {
      ParameterizedTypeBinding ptb = (ParameterizedTypeBinding)_binding;
      TypeBinding[] arguments = ptb.arguments;
      int length = arguments == null ? 0 : arguments.length;
      if (length == 0) return Collections.emptyList();
      List<TypeMirror> args = new ArrayList<TypeMirror>(length);
      for (TypeBinding arg : arguments) {
View Full Code Here

      case Binding.PARAMETERIZED_TYPE :
        if (!typeBinding2.isParameterizedType()) {
          return false;
        }
        ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) typeBinding;
        ParameterizedTypeBinding parameterizedTypeBinding2 = (ParameterizedTypeBinding) typeBinding2;
        return CharOperation.equals(parameterizedTypeBinding.compoundName, parameterizedTypeBinding2.compoundName)
          && (parameterizedTypeBinding.modifiers & (ExtraCompilerModifiers.AccJustFlag | ClassFileConstants.AccInterface | ClassFileConstants.AccEnum | ClassFileConstants.AccAnnotation))
              == (parameterizedTypeBinding2.modifiers & (ExtraCompilerModifiers.AccJustFlag | ClassFileConstants.AccInterface | ClassFileConstants.AccEnum | ClassFileConstants.AccAnnotation))
          && isEqual(parameterizedTypeBinding.arguments, parameterizedTypeBinding2.arguments, visitedTypes)
          && isEqual(parameterizedTypeBinding.enclosingType(), parameterizedTypeBinding2.enclosingType(), visitedTypes);

      case Binding.WILDCARD_TYPE :
        if (typeBinding2.kind() != Binding.WILDCARD_TYPE) {
          return false;
        }
View Full Code Here

        }
        TypeVariableBinding typeVariableBinding = (TypeVariableBinding) this.binding;
        return new String(typeVariableBinding.sourceName);

      case Binding.PARAMETERIZED_TYPE :
        ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) this.binding;
        buffer = new StringBuffer();
        buffer.append(parameterizedTypeBinding.sourceName());
        ITypeBinding[] tArguments = getTypeArguments();
        final int typeArgumentsLength = tArguments.length;
        if (typeArgumentsLength != 0) {
          buffer.append('<');
          for (int i = 0; i < typeArgumentsLength; i++) {
View Full Code Here

        buffer = new StringBuffer();
        if (isMember()) {
          buffer
            .append(getDeclaringClass().getQualifiedName())
            .append('.');
          ParameterizedTypeBinding parameterizedTypeBinding = (ParameterizedTypeBinding) this.binding;
          buffer.append(parameterizedTypeBinding.sourceName());
          ITypeBinding[] tArguments = getTypeArguments();
          final int typeArgumentsLength = tArguments.length;
          if (typeArgumentsLength != 0) {
            buffer.append('<');
            for (int i = 0; i < typeArgumentsLength; i++) {
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding

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.