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

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


    if (isWildcard != null) {
      return checkTypeArgument(logger, baseType, paramIndex,
          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());
View Full Code Here


   * dimension up to <code>maxRank</code>.
   */
  private void markArrayTypesInstantiable(JType leafType, int maxRank,
      TypePath path) {
    for (int rank = 1; rank <= maxRank; ++rank) {
      JArrayType covariantArray = getArrayType(typeOracle, rank, leafType);

      TypeInfoComputed covariantArrayTic = getTypeInfoComputed(covariantArray,
          path);
      covariantArrayTic.setInstantiable(true);
    }
View Full Code Here

            "@DefaultStringValue can only be used with a method returning String");
      }
    }
    if (stringArrayValue != null) {
      constantsCount++;
      JArrayType arrayType = returnType.isArray();
      if (arrayType == null
          || !arrayType.getComponentType().getQualifiedSourceName().equals(
              "java.lang.String")) {
        throw new AnnotationsError(
            "@DefaultStringArrayValue can only be used with a method returning String[]");
      }
    }
View Full Code Here

    return result;
  }

  @Override
  public GeneratorTypeInfo getFieldType(String name, boolean allowProtected) {
    JArrayType arrayType = type.isArray();
    if(arrayType != null && "length".equals(name))
      return PrimitiveTypeInfo.INT;
    return null;
  }
View Full Code Here

    String retType = method.getReturnType().getParameterizedQualifiedSourceName();

    sw.print("public final " + retType + " " + method.getName());
    JParameter[] params = method.getParameters();
    if (params.length == 0) {
      JArrayType arr = method.getReturnType().isArray();
      sw.println("() {");
      sw.indent();
      if (retType.matches("(java.lang.Boolean|boolean)")) {
        sw.println("return getBooleanBase(\"" + name + "\");");
      } else if (method.getReturnType().isPrimitive() != null) {
        sw.println("return (" + retType + ")getFloatBase(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), stringType)) {
        sw.println("return getStrBase(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), xmlBuilderType)) {
        String q = method.getReturnType().getQualifiedSourceName();
        sw.println("Element e = getElementBase(\"" + name + "\");");
        sw.println("return e == null ? null : (" + q + ")((" + q + ")GWT.create(" + q + ".class)).load(e);");
      } else if (retType.equals(Properties.class.getName())){
        sw.println("return getPropertiesBase(\"" + name + "\");");
      } else if (arr != null) {
        String q = arr.getComponentType().getQualifiedSourceName();
        sw.println("ArrayList<" + q + "> l = new ArrayList<" + q+ ">();");
        sw.println("for (Element e: getElementsBase(\"" + name + "\")) {");
        sw.println("  " + q + " c = GWT.create(" + q + ".class);");
        sw.println("  c.load(e);");
        sw.println("  l.add(c);");
        sw.println("}");
        sw.println("return l.toArray(new " + q + "[0]);");
      } else {
        sw.println("return null; // Unsupported return type: " + retType);
      }
      sw.outdent();
      sw.println("}");
    } else if (params.length == 1) {
      JType type = params[0].getType();
      JArrayType arr = type.isArray();
      String qname = type.getParameterizedQualifiedSourceName();
      sw.print("(" + qname + " a)");
      sw.println("{");
      sw.indent();
      if (arr != null) {
View Full Code Here

    String retType = method.getReturnType().getParameterizedQualifiedSourceName();
    sw.print("public final " + retType + " " + method.getName());
    JParameter[] params = method.getParameters();
    if (params.length == 0) {
      JArrayType arr = method.getReturnType().isArray();
      JParameterizedType list = method.getReturnType().isParameterized();

      sw.println("() {");
      sw.indent();
      if (retType.matches("(java.lang.Boolean|boolean)")) {
        sw.println("return p.getBoolean(\"" + name + "\");");
      } else if (retType.matches("java.util.Date")) {
        sw.println("return new Date(java.lang.Long.parseLong(p.getStr(\"" + name + "\")));");
      } else if (method.getReturnType().isPrimitive() != null) {
        sw.println("return (" + retType + ")p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Character")) {
        sw.println("return (char) p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Byte")) {
        sw.println("return (byte) p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Integer")) {
        sw.println("return (int) p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Float")) {
        sw.println("return p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Double")) {
        sw.println("return (double) p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Long")) {
        sw.println("return (long) p.getFloat(\"" + name + "\");");
      } else if (retType.equals("java.lang.Byte")) {
        sw.println("return (byte) p.getFloat(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), stringType)) {
        sw.println("return p.getStr(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), jsonBuilderType)) {
        String q = method.getReturnType().getQualifiedSourceName();
        sw.println("return " + "((" + q + ")GWT.create(" + q + ".class))"
            + ".load(p.getJavaScriptObject(\"" + name + "\"));");
      } else if (isTypeAssignableTo(method.getReturnType(), settingsType)) {
        String q = method.getReturnType().getQualifiedSourceName();
        sw.println("return " + "((" + q + ")p.getJavaScriptObject(\"" + name + "\"));");
      } else if (retType.equals(Properties.class.getName())) {
        sw.println("return getPropertiesBase(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), jsType)) {
        sw.println("return p.getJavaScriptObject(\"" + name + "\");");
      } else if (isTypeAssignableTo(method.getReturnType(), functionType)) {
        sw.println("return p.getFunction(\"" + name + "\");");
      } else if (arr != null || list != null) {
        JType type = arr != null ? arr.getComponentType()
            : list.getTypeArgs()[0];
        boolean buildType = isTypeAssignableTo(type, jsonBuilderType);
        String t = type.getQualifiedSourceName();
        sw.println("JsArrayMixed a = p.getArray(\"" + name + "\");");
        sw.println("int l = a == null ? 0 : a.length();");
        String ret;
        if (buildType) {
          sw.println(t + "[] r = new " + t + "[l];");
          sw.println("JsObjectArray<?> a1 = p.getArray(\"" + name
              + "\").cast();");
          sw.println("int l1 = r.length;");
          sw.println("for (int i = 0 ; i < l1 ; i++) {");
          sw.println("  Object w = a1.get(i);");
          sw.println("  " + t + " instance = GWT.create(" + t + ".class);");
          sw.println("  r[i] = instance.load(w);");
          sw.println("}");
          ret = "r";
        } else {
          ret = "getArrayBase(\"" + name + "\", new " + t + "[l], " + t + ".class)";
        }
        if (arr != null) {
          sw.println("return " + ret + ";");
        } else {
          sw.println("return Arrays.asList(" + ret + ");");
        }
      } else if (method.getReturnType().isEnum() != null){
        sw.println("return "+ method.getReturnType().getQualifiedSourceName() + ".valueOf(p.getStr(\"" + name + "\"));");
      } else {
        sw.println("System.err.println(\"JsonBuilderGenerator WARN: unknown return type "
            + retType + " " + ifaceName + "." + name + "()\"); ");
        // We return the object because probably the user knows how to handle it
        sw.println("return p.get(\"" + name + "\");");
      }
      sw.outdent();
      sw.println("}");
    } else if (params.length == 1) {
      JType type = params[0].getType();
      JArrayType arr = type.isArray();
      JParameterizedType list = type.isParameterized();

      sw.print("(" + type.getParameterizedQualifiedSourceName() + " a)");
      sw.println("{");
      sw.indent();
View Full Code Here

    return newUncachedInstance(oracle, type);
  }

  @Override
  public MetaClass getComponentType() {
    JArrayType type = getEnclosedMetaObject().isArray();
    if (type == null) {
      return null;
    }
    return newUncachedInstance(oracle, type.getComponentType());
  }
View Full Code Here

   * Call {@link #accept(JType)} on all children types of <code>type</code>.
   * The children type of a type are its structural components. For example, an
   * array type has one child, which is the component type of the array.
   */
  protected void acceptChildren(JType type) {
    JArrayType typeArray = type.isArray();
    if (typeArray != null) {
      accept(typeArray.getComponentType());
      endVisit(typeArray);
    }

    JParameterizedType typeParameterized = type.isParameterized();
    if (typeParameterized != null) {
View Full Code Here

    if (typeAnnotation != null) {
      endVisit(typeAnnotation);
      return;
    }

    JArrayType typeArray = type.isArray();
    if (typeArray != null) {
      endVisit(typeArray);
      return;
    }
View Full Code Here

    JTypeParameter isTypeParameter = type.isTypeParameter();
    if (isTypeParameter != null) {
      params.add(isTypeParameter);
    }

    JArrayType isArray = type.isArray();
    if (isArray != null) {
      recordTypeParametersIn(isArray.getComponentType(), params);
    }

    JWildcardType isWildcard = type.isWildcard();
    if (isWildcard != null) {
      for (JClassType bound : isWildcard.getUpperBounds()) {
View Full Code Here

TOP

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

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.