Examples of JavaExpr


Examples of com.google.template.soy.javasrc.restricted.JavaExpr

   * @return The translated expression for the given variable, or null if not found.
   */
  private JavaExpr getLocalVarTranslation(String ident) {

    for (Map<String, JavaExpr> localVarTranslationsFrame : localVarTranslations) {
      JavaExpr translation = localVarTranslationsFrame.get(ident);
      if (translation != null) {
        return translation;
      }
    }

View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

   *   'I\'m feeling lucky!'
   * </pre>
   */
  @Override protected void visitRawTextNode(RawTextNode node) {

    javaExprs.add(new JavaExpr(
        '"' + CharEscapers.javaStringEscaper().escape(node.getRawText()) + '"',
        String.class, Integer.MAX_VALUE));
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

  @Override protected void visitPrintNode(PrintNode node) {

    TranslateToJavaExprVisitor ttjev =
        translateToJavaExprVisitorFactory.create(localVarTranslations);

    JavaExpr javaExpr = ttjev.exec(node.getExprUnion().getExpr());

    // Process directives.
    for (PrintDirectiveNode directiveNode : node.getChildren()) {

      // Get directive.
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

    for (SoyNode child : node.getChildren()) {

      if (child instanceof IfCondNode) {
        IfCondNode icn = (IfCondNode) child;

        JavaExpr condJavaExpr =
            translateToJavaExprVisitorFactory.create(localVarTranslations)
                .exec(icn.getExprUnion().getExpr());
        javaExprTextSb.append('(').append(genCoerceBoolean(condJavaExpr)).append(") ? ");

        List<JavaExpr> condBlockJavaExprs = genJavaExprsVisitor.exec(icn);
        javaExprTextSb.append(
            genMaybeProtect(JavaExprUtils.concatJavaExprs(condBlockJavaExprs),
                            Operator.CONDITIONAL.getPrecedence() + 1));

        javaExprTextSb.append(" : ");

      } else if (child instanceof IfElseNode) {
        hasElse = true;
        IfElseNode ien = (IfElseNode) child;

        List<JavaExpr> elseBlockJavaExprs = genJavaExprsVisitor.exec(ien);
        javaExprTextSb.append(
            genMaybeProtect(JavaExprUtils.concatJavaExprs(elseBlockJavaExprs),
                            Operator.CONDITIONAL.getPrecedence() + 1));

      } else {
        throw new AssertionError();
      }
    }

    if (!hasElse) {
      javaExprTextSb.append("\"\"");
    }

    javaExprs.add(new JavaExpr(
        javaExprTextSb.toString(), String.class, Operator.CONDITIONAL.getPrecedence()));
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

      // Append the result of componentNameExpr and a dash
      TranslateToJavaExprVisitor ttjev =
        translateToJavaExprVisitorFactory.create(localVarTranslations);

      javaExprs.add(ttjev.exec(componentNameExpr));
      javaExprs.add(new JavaExpr("\"-\"", StringData.class, Integer.MAX_VALUE));
    }


    String selectorText = node.getSelectorText();

    // If we can rename at compile time, do so.
    SoyCssRenamingMap cssRenamingHints = javaSrcOptions.getCssRenamingHints();
    String renamedSelectorText = cssRenamingHints.get(selectorText);
    if (renamedSelectorText != null && renamedSelectorText.length() != 0) {
      String javaRenamedSelectorText = (
          '"' + CharEscapers.javaStringEscaper().escape(renamedSelectorText) + '"');
      javaExprs.add(new JavaExpr(javaRenamedSelectorText, StringData.class, Integer.MAX_VALUE));

    } else {
      // We can't rename at compile time, so do it dynamically.
      String javaSelectorText = '"' + CharEscapers.javaStringEscaper().escape(selectorText) + '"';
      javaExprs.add(new JavaExpr(
          "this.$$renameCss(" + javaSelectorText + ")", StringData.class, Integer.MAX_VALUE));
    }
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

    if (! (callNode instanceof CallBasicNode)) {
      throw new UnsupportedOperationException("Delegates are not supported in JavaSrc backend.");
    }

    JavaExpr objToPass = genObjToPass(callNode, localVarTranslations);
    return new JavaExpr(
        ((CallBasicNode) callNode).getCalleeName().replace('.', '$') +
            "(" + objToPass.getText() + ")",
        String.class, Integer.MAX_VALUE);
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

    TranslateToJavaExprVisitor ttjev =
        translateToJavaExprVisitorFactory.create(localVarTranslations);

    // ------ Generate the expression for the original data to pass ------
    JavaExpr dataToPass;
    if (callNode.isPassingAllData()) {
      dataToPass = new JavaExpr("data", SoyMapData.class, Integer.MAX_VALUE);
    } else if (callNode.isPassingData()) {
      dataToPass = new JavaExpr(
          genMaybeCast(ttjev.exec(callNode.getDataExpr()), SoyMapData.class),
          SoyMapData.class, Integer.MAX_VALUE);
    } else {
      dataToPass = new JavaExpr("null", SoyMapData.class, Integer.MAX_VALUE);
    }

    // ------ Case 1: No additional params ------
    if (callNode.numChildren() == 0) {
      return dataToPass;
    }

    // ------ Build an object literal containing the additional params ------
    StringBuilder paramsObjSb = new StringBuilder();
    paramsObjSb.append("new com.google.template.soy.data.SoyMapData(");

    boolean isFirst = true;
    for (CallParamNode child : callNode.getChildren()) {

      if (isFirst) {
        isFirst = false;
      } else {
        paramsObjSb.append(", ");
      }

      String key = child.getKey();
      paramsObjSb.append('\"').append(key).append("\", ");

      if (child instanceof CallParamValueNode) {
        CallParamValueNode cpvn = (CallParamValueNode) child;
        JavaExpr valueJavaExpr = ttjev.exec(cpvn.getValueExprUnion().getExpr());
        paramsObjSb.append(valueJavaExpr.getText());

      } else {
        CallParamContentNode cpcn = (CallParamContentNode) child;

        if (cpcn.getContentKind() != null) {
          throw SoySyntaxExceptionUtils.createWithNode(
              "JavaSrc backend doesn't support param blocks with 'kind' attribute.", cpcn);
        }

        if (isComputableAsJavaExprsVisitor.exec(cpcn)) {
          List<JavaExpr> cpcnJavaExprs =
              genJavaExprsVisitorFactory.create(localVarTranslations).exec(cpcn);
          JavaExpr valueJavaExpr = JavaExprUtils.concatJavaExprs(cpcnJavaExprs);
          paramsObjSb.append(valueJavaExpr.getText());

        } else {
          // This is a param with content that cannot be represented as Java expressions, so we
          // assume that code has been generated to define the temporary variable 'param<n>'.
          if (javaSrcOptions.getCodeStyle() == SoyJavaSrcOptions.CodeStyle.STRINGBUILDER) {
            paramsObjSb.append("param").append(cpcn.getId()).append(".toString()");
          } else {
            paramsObjSb.append("param").append(cpcn.getId());
          }
        }
      }
    }

    paramsObjSb.append(')');

    // ------ Cases 2 and 3: Additional params with and without original data to pass ------
    if (callNode.isPassingData()) {
      return new JavaExpr(
          genFunctionCall(
              UTILS_LIB + ".$$augmentData", dataToPass.getText(), paramsObjSb.toString()),
          SoyMapData.class, Integer.MAX_VALUE);
    } else {
      return new JavaExpr(paramsObjSb.toString(), SoyMapData.class, Integer.MAX_VALUE);
    }
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

                   joinedJavaExprsSb.toString(), ");");
        setOutputVarInited();
      }

    } else // CodeStyle.CONCAT
      JavaExpr concatenatedJavaExprs = JavaExprUtils.concatJavaExprs(javaExprs);

      if (currOutputVarIsInited) {
        // output += AAA + BBB + CCC;
        appendLine(currOutputVarName, " += ", concatenatedJavaExprs.getText(), ";");
      } else {
        // String output = AAA + BBB + CCC;
        appendLine("String ", currOutputVarName, " = ", concatenatedJavaExprs.getText(), ";");
        setOutputVarInited();
      }
    }
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

    return new JsExpr("soy.$$escapeHtml(" + value.getText() + ")", Integer.MAX_VALUE);
  }


  @Override public JavaExpr applyForJavaSrc(JavaExpr value, List<JavaExpr> args) {
    return new JavaExpr(
        JavaCodeUtils.genFunctionCall(JavaCodeUtils.UTILS_LIB + ".$$escapeHtml", value.getText()),
        String.class, Integer.MAX_VALUE);
  }
View Full Code Here

Examples of com.google.template.soy.javasrc.restricted.JavaExpr

    return new JsExpr(callText, Integer.MAX_VALUE);
  }


  @Override public JavaExpr computeForJavaSrc(List<JavaExpr> args) {
    JavaExpr text = args.get(0);
    JavaExpr isHtml = (args.size() == 2) ? args.get(1) : null;

    String bidiFunctionName = BidiUtils.class.getName() + ".estimateDirection";

    return SoyJavaSrcFunctionUtils.toIntegerJavaExpr(
        JavaCodeUtils.genNewIntegerData(
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.