Package com.google.gwt.core.ext.typeinfo

Examples of com.google.gwt.core.ext.typeinfo.JTypeParameter


    if (type1 == type2) {
      return true;
    }

    if (constraints.containsKey(type1)) {
      JTypeParameter type1Parameter = (JTypeParameter) type1;
      JClassType type2Class = type2;
      JClassType type1Bound = constraints.get(type1Parameter);
      assert (!occurs(type1Parameter, type1Bound));
      if (!typesMatch(type1Bound, type2, constraints)) {
        return false;
      }

      if (type1Bound.isAssignableFrom(type2Class)) {
        constraints.put(type1Parameter, type2Class);
      }
    }

    if (type1 == typeOracle.getJavaLangObject()) {
      return true;
    }

    if (type2 == typeOracle.getJavaLangObject()) {
      return true;
    }

    JTypeParameter type1Param = type1.isTypeParameter();
    if (type1Param != null) {
      // It would be nice to check that type1Param's bound is a match
      // for type2, but that can introduce infinite recursions.
      return true;
    }

    JTypeParameter type2Param = type2.isTypeParameter();
    if (type2Param != null) {
      // It would be nice to check that type1Param's bound is a match
      // for type2, but that can introduce infinite recursions.
      return true;
    }
View Full Code Here


      final Map<JTypeParameter, JClassType> constraints) {

    JModTypeVisitor replacer = new JModTypeVisitor() {
      @Override
      public void endVisit(JWildcardType wildcardType) {
        JTypeParameter newParam = new JTypeParameter("TP$"
            + freshTypeVariableCounter++, -1);
        newParam.setBounds(makeArray(typeOracle.getJavaLangObject()));
        constraints.put(newParam, wildcardType.getUpperBound());
        replacement = newParam;
      }
    };
View Full Code Here

    TreeLogger logger = createLogger();
    TypeOracle to = TypeOracleTestingUtils.buildTypeOracle(logger, resources);

    JGenericType a = to.getType("A").isGenericType();
    JClassType rawA = a.getRawType();
    JTypeParameter ta = a.getTypeParameters()[0];

    SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
    sob.addRootType(logger, ta);
    SerializableTypeOracle so = sob.build(logger);
View Full Code Here

    JClassType expected = arrayType(SubclassUsedInArray.LeafType.class);

    TypeOracle oracle = getTestTypeOracle();
    JGenericType genericHasArray = oracle
        .getType(SubclassUsedInArray.GenericHasArray.class.getCanonicalName()).isGenericType();
    JTypeParameter typeParameter = genericHasArray.getTypeParameters()[0];

    checkSerializable(expected,
        oracle.getType(SubclassUsedInArray.Base.class.getCanonicalName()),
        oracle.getArrayType(typeParameter));
  }
View Full Code Here

    JGenericType a = to.getType("A").isGenericType();
    JRawType rawA = a.getRawType();
    JClassType b = to.getType("B");
    JGenericType c = to.getType("C").isGenericType();

    JTypeParameter typeParam = c.getTypeParameters()[0];

    JParameterizedType parameterizedType = to.getParameterizedType(a, new JClassType[]{typeParam});
    SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
    sob.addRootType(logger, parameterizedType);
    SerializableTypeOracle so = sob.build(logger);
View Full Code Here

    TypeOracle to = TypeOracleTestingUtils.buildTypeOracle(logger, resources);

    JGenericType a = to.getType("A").isGenericType();
    JClassType b = to.getType("B");
    JClassType c = to.getType("C");
    JTypeParameter u = a.getTypeParameters()[0];
    JTypeParameter v = a.getMethod("getFoo", makeArray()).getReturnType().isTypeParameter();

    SerializableTypeOracleBuilder sob = createSerializableTypeOracleBuilder(logger, to);
    sob.addRootType(logger, u);
    sob.addRootType(logger, v);
    SerializableTypeOracle so = sob.build(logger);
View Full Code Here

    return false;
  }

  static void recordTypeParametersIn(JType type, Set<JTypeParameter> params) {
    JTypeParameter isTypeParameter = type.isTypeParameter();
    if (isTypeParameter != null) {
      params.add(isTypeParameter);
    }

    JArrayType isArray = type.isArray();
View Full Code Here

    JClassType classType = (JClassType) type;

    TreeLogger localLogger = logger.branch(TreeLogger.DEBUG,
        classType.getParameterizedQualifiedSourceName(), null);

    JTypeParameter isTypeParameter = classType.isTypeParameter();
    if (isTypeParameter != null) {
      if (typeParametersInRootTypes.contains(isTypeParameter)) {
        return checkTypeInstantiable(localLogger,
            isTypeParameter.getFirstBound(), isSpeculative,
            TypePaths.createTypeParameterInRootPath(path, isTypeParameter),
            instSubtypes);
      }

      /*
 
View Full Code Here

          leafWild.getUpperBound());
      return checkArrayInstantiable(logger, arrayType, isSpeculative, path);
    }

    JClassType leafClass = leafType.isClassOrInterface();
    JTypeParameter isLeafTypeParameter = leafType.isTypeParameter();
    if (isLeafTypeParameter != null
        && !typeParametersInRootTypes.contains(isLeafTypeParameter)) {
      // Don't deal with non root type parameters
      return true;
    }
View Full Code Here

          isWildcard.getUpperBound(), isSpeculative, parent);
    }

    JArrayType typeArgAsArray = typeArg.isArray();
    if (typeArgAsArray != null) {
      JTypeParameter parameterOfTypeArgArray = typeArgAsArray.getLeafType().isTypeParameter();
      if (parameterOfTypeArgArray != null) {
        JGenericType declaringClass = parameterOfTypeArgArray.getDeclaringClass();
        if (declaringClass != null) {
          TypeParameterFlowInfo flowInfoForArrayParam = getFlowInfo(
              declaringClass, parameterOfTypeArgArray.getOrdinal());
          TypeParameterFlowInfo otherFlowInfo = getFlowInfo(baseType,
              paramIndex);
          if (otherFlowInfo.getExposure() >= 0
              && otherFlowInfo.isTransitivelyAffectedBy(flowInfoForArrayParam)) {
            logger.branch(
View Full Code Here

TOP

Related Classes of com.google.gwt.core.ext.typeinfo.JTypeParameter

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.