Package org.eclipse.jdt.core.dom

Examples of org.eclipse.jdt.core.dom.ParameterizedType


     * @param type fully qualified type name
     * @param param type parameter
     * @return type
     */
    public Type createParameterizedType(String type, Type param) {
        ParameterizedType ptype = getAST().newParameterizedType(createType(type));
        ptype.typeArguments().add(param);
        return ptype;
    }
View Full Code Here


            tdef = getAST().newPrimitiveType(code);
        }
       
        // add type parameter information
        if (typeparms != null) {
            ParameterizedType ptype = getAST().newParameterizedType(tdef);
            while ((split = typeparms.indexOf(',')) > 0) {
                ptype.typeArguments().add(createType(typeparms.substring(0, split)));
                typeparms = typeparms.substring(split+1);
            }
            ptype.typeArguments().add(createType(typeparms));
            tdef = ptype;
        }
       
        // add any layers of arrays
        if (arraydepth > 0) {
View Full Code Here

     * @param type fully qualified type name
     * @param param fully qualified parameter type name
     * @return type
     */
    public Type createParameterizedType(String type, String param) {
        ParameterizedType ptype = getAST().newParameterizedType(createType(type));
        ptype.typeArguments().add(createType(param));
        return ptype;
    }
View Full Code Here

  {
    ITypeBinding declaringType = null;

    if( ctype instanceof ParameterizedType )
    {
      ParameterizedType paramType = (ParameterizedType) ctype;
      List<Type> typeArgs = paramType.typeArguments();

      if( !typeArgs.isEmpty() )
      {
        Type arg1 = typeArgs.get(0);
        declaringType = arg1.resolveBinding();
View Full Code Here

        if (leftCode.toString().equals(rightCode.toString()))
          return true;
      }
    } else if (left.isParameterizedType()) {
      if (right.isParameterizedType()) {
        ParameterizedType leftType = (ParameterizedType) left;
        ParameterizedType rightType = (ParameterizedType) right;
        Type leftBaseType = leftType.getType();
        Type rightBaseType = rightType.getType();
        boolean baseAssignable = isAssignable(leftBaseType,
            rightBaseType);
        if (baseAssignable) {
          List leftArgs = leftType.typeArguments();
          List rightArgs = rightType.typeArguments();
          if (leftArgs.size() != rightArgs.size())
            return false;
          for (int i = 0; i < leftArgs.size(); i++) {
            Type leftArgType = (Type) leftArgs.get(i);
            Type rightArgType = (Type) rightArgs.get(i);
            if (!isAssignable(leftArgType, rightArgType)) {
              return false;
            }
          }
          return true;
        }
      }
    } else if (left.isQualifiedType()) {
      if(right.isQualifiedType()){
        QualifiedType leftType = (QualifiedType) left;
        QualifiedType rightType = (QualifiedType) right;
        Type leftQualifier = leftType.getQualifier();
        Type rightQualifier = rightType.getQualifier();
        SimpleName leftName = leftType.getName();
        SimpleName rightName = rightType.getName();
        boolean assignable = isAssignable(leftQualifier, rightQualifier);
        return assignable && leftName.getIdentifier().equals(rightName.getIdentifier());
      }
    } else if(left.isSimpleType()){
      if(right.isSimpleType()){
        SimpleType leftType = (SimpleType) left;
        SimpleType rightType = (SimpleType) right;
        if(leftType.getName().equals(rightType.getName()))
          return true;
      }
    }
    return false;
  }
View Full Code Here

          buffer.append('[');
          buffer.append(']');
        }
        break;
      case ASTNode.PARAMETERIZED_TYPE:
        ParameterizedType parameterizedType = (ParameterizedType) type;
        getFullyQualifiedName(parameterizedType.getType(), buffer);
        buffer.append('<');
        Iterator iterator = parameterizedType.typeArguments().iterator();
        boolean isFirst = true;
        while (iterator.hasNext()) {
          if (!isFirst)
            buffer.append(',');
          else
View Full Code Here

    private ClassInstanceCreation createPrivilegedActionCreation(ASTRewrite rewrite, ClassInstanceCreation classLoaderCreation) {
        AST ast = rewrite.getAST();

        ClassInstanceCreation privilegedActionCreation = ast.newClassInstanceCreation();
        ParameterizedType privilegedActionType = createPrivilegedActionType(rewrite, classLoaderCreation);
        AnonymousClassDeclaration anonymousClassDeclaration = createAnonymousClassDeclaration(rewrite, classLoaderCreation);

        privilegedActionCreation.setType(privilegedActionType);
        privilegedActionCreation.setAnonymousClassDeclaration(anonymousClassDeclaration);
View Full Code Here

            privilegedActionName = ast.newSimpleName(PrivilegedAction.class.getSimpleName());
        } else {
            privilegedActionName = ast.newName(PrivilegedAction.class.getName());
        }
        SimpleType rawPrivilegedActionType = ast.newSimpleType(privilegedActionName);
        ParameterizedType privilegedActionType = ast.newParameterizedType(rawPrivilegedActionType);
        Type typeArgument = (Type) rewrite.createCopyTarget(classLoaderCreation.getType());
        List<Type> typeArguments = checkedList(privilegedActionType.typeArguments());

        typeArguments.add(typeArgument);

        return privilegedActionType;
    }
View Full Code Here

    }
  }

  private ParameterizedType createAsyncCallbackType(AST ast, Type returnType) {

    ParameterizedType parameterizedType = ast.newParameterizedType(ast.newSimpleType(ast.newName("AsyncCallback"))); //$NON-NLS-1$
    Type type;

    if (!returnType.isPrimitiveType()) {
      type = returnType;
    } else {
      PrimitiveType primitiveType = (PrimitiveType) returnType;
      if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.BOOLEAN)) {
        type = ast.newSimpleType(ast.newName("Boolean"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.INT)) {
        type = ast.newSimpleType(ast.newName("Integer"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.BYTE)) {
        type = ast.newSimpleType(ast.newName("Byte"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.LONG)) {
        type = ast.newSimpleType(ast.newName("Long"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.FLOAT)) {
        type = ast.newSimpleType(ast.newName("Float"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.DOUBLE)) {
        type = ast.newSimpleType(ast.newName("Double"));
      } else if (primitiveType.getPrimitiveTypeCode().equals(PrimitiveType.CHAR)) {
        type = ast.newSimpleType(ast.newName("Character"));
      } else {
        type = ast.newWildcardType(); // for void
      }
    }

    parameterizedType.typeArguments().add(type);

    return parameterizedType;
  }
View Full Code Here

                lClassID = convertSimpleName(((SimpleType) typeToResolve).getName());
            }
           
            // handling type parameters - adding a wild card for each unresolved type parameter
            if (dataType.isParameterizedType()) {
                ParameterizedType paramType = (ParameterizedType) dataType;
                StringBuffer typeParameterStr = new StringBuffer();
//                for (Object param : paramType.typeArguments()) {
                for (int i = 0; i < paramType.typeArguments().size(); i++) {
                    if (typeParameterStr.length() > 0) {
                        typeParameterStr.append(AbstractFamixEntity.CLASS_PARAMETER_SEPARATOR);
                    }
                    typeParameterStr.append("?");
                }
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.core.dom.ParameterizedType

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.