Package com.sun.codemodel

Examples of com.sun.codemodel.JExpression


  }
 
  @Override
  public JExpression testExpr(JCodeModel codeModel, JVar sexpVariable,
      JvmMethod.Argument formal) {
    JExpression vectorTest = super.testExpr(codeModel, sexpVariable, formal);
    if(formal.isAnnotatedWith(CoerceLanguageToString.class)) {
      return vectorTest
          .cor(sexpVariable._instanceof(codeModel.ref(FunctionCall.class)))
          .cor(sexpVariable._instanceof(codeModel.ref(Symbol.class)));
    } else {
      return vectorTest;
    }
View Full Code Here


  public void afterArgIsEvaluated(ApplyMethodContext context, JExpression functionCall, JExpression arguments,
                                  JBlock parent, JExpression argument, int index) {
    if(index == 0) {

      JBlock ifObject = parent._if(fastIsObject(argument))._then();
      JExpression genericResult = ifObject.decl(codeModel.ref(SEXP.class), "genericResult",
              codeModel.ref(S3.class).staticInvoke("tryDispatchFromPrimitive")
              .arg(context.getContext())
              .arg(context.getEnvironment())
              .arg(functionCall)
              .arg(lit(name))
              .arg(argument)
              .arg(arguments));
      ifObject._if(genericResult.ne(_null()))._then()._return(genericResult);

    }
  }
View Full Code Here

                                                              JExpr._new(f.getRawType()));
                        newVar.javadoc().append(var.javadoc());
                    }
                }

                JExpression dvExpr = null;
                if (null != xmlDefaultValue && null != xmlDefaultValue.value) {
                    dvExpr = getDefaultValueExpression(f, co, outline, xsType, isElement,
                                                       xmlDefaultValue, false);
                }
                
View Full Code Here

        String defaultValue = xmlDefaultValue == null ? null : xmlDefaultValue.value;
        if (defaultValue == null) {
            return null;
        }

        JExpression dv = null;
       
        if ("java.lang.Boolean".equals(typeName) && isElement) {
            dv = JExpr.direct(Boolean.valueOf(defaultValue) ? "Boolean.TRUE" : "Boolean.FALSE");
        } else if ("java.lang.Byte".equals(typeName) && isElement) {
            dv = JExpr._new(type)
View Full Code Here

        method = dc.method(mods, mtype, getterName);
        method.javadoc().append(doc);

        JFieldRef fr = JExpr.ref(fieldName);
        if (dvExpr != null) {
            JExpression test = JOp.eq(JExpr._null(), fr);
            JConditional jc =  method.body()._if(test);
            jc._then()._return(dvExpr);
            jc._else()._return(fr);
        } else {
            method.body()._return(fr);
View Full Code Here

                                                              JExpr._new(f.getRawType()));
                        newVar.javadoc().append(var.javadoc());
                    }
                }

                JExpression dvExpr = null;
                if (null != xmlDefaultValue && null != xmlDefaultValue.value) {
                    dvExpr = getDefaultValueExpression(f, co, outline, xsType, isElement,
                                                       xmlDefaultValue, false);
                }
                
View Full Code Here

        String defaultValue = xmlDefaultValue == null ? null : xmlDefaultValue.value;
        if (defaultValue == null) {
            return null;
        }

        JExpression dv = null;
       
        if ("java.lang.Boolean".equals(typeName) && isElement) {
            dv = JExpr.direct(Boolean.valueOf(defaultValue) ? "Boolean.TRUE" : "Boolean.FALSE");
        } else if ("java.lang.Byte".equals(typeName) && isElement) {
            dv = JExpr._new(type)
View Full Code Here

        method = dc.method(mods, mtype, getterName);
        method.javadoc().append(doc);

        JFieldRef fr = JExpr.ref(fieldName);
        if (dvExpr != null) {
            JExpression test = JOp.eq(JExpr._null(), fr);
            JConditional jc =  method.body()._if(test);
            jc._then()._return(dvExpr);
            jc._else()._return(fr);
        } else {
            method.body()._return(fr);
View Full Code Here

        } else {
          forEach.body().add(copy.ref(jFieldVar).invoke("add").arg(forEach.var().invoke("clone")));
          LOG.info("444b>>>>>>>" + forEach.var().type().fullName()+".clone()");
        }
      } else {
        final JExpression cond = JOp.cond(jFieldVar.eq(JExpr._null()), JExpr._null(), JExpr.cast(jFieldVar.type(), jFieldVar.invoke("clone")));
        clone.body().assign(copy.ref(jFieldVar), cond);
        LOG.info(jFieldVar.type().fullName());
      }
    }
    clone.body()._return(copy);
View Full Code Here

    // ==> final int prime = 31;
    hashCodeMethod.body().assign(JExpr.ref("final int prime"), JExpr.ref("31"));

    // ==> int result = 1; || int result = super.hashCode();
    JExpression initializeResult = null;
    if (isSuperClass) {
      initializeResult = JExpr._super().invoke("hashCode");
    } else {
      initializeResult = JExpr.ref("1");
    }
    hashCodeMethod.body().assign(JExpr.ref("int result"), initializeResult);

    // if class contains double
    // long temp;
    JVar tempVariableForDoubleChecks = null;
    JType doubleClass = null;
    if (containsDouble == true) {
      tempVariableForDoubleChecks = hashCodeMethod.body().decl(implClass.owner().LONG, "temp");
      doubleClass = implClass.owner()._ref(Double.class);
    }

    JExpression tenaryCond;
    for (final JFieldVar jFieldVar : fields) {
      if (jFieldVar.type().isPrimitive()) {
        if (jFieldVar.type().fullName().equals("double")) {
          // temp = Double.doubleToLongBits(altitude);
          // result = prime * result + (int) (temp ^ (temp >>> 32));
          // LOG.info("implClass: " + implClass.name());
          // LOG.info("jFieldVar: " + jFieldVar.name());
          // LOG.info(" is " + jFieldVar.type().fullName());
          // LOG.info(" + " + tempVariableForDoubleChecks.name());
          // LOG.info(" + " + doubleClass.boxify().fullName());
          hashCodeMethod.body().assign(tempVariableForDoubleChecks, doubleClass.boxify().staticInvoke("doubleToLongBits").arg(jFieldVar));
          tenaryCond = JExpr.cast(implClass.owner().INT, tempVariableForDoubleChecks.xor(tempVariableForDoubleChecks.shrz(JExpr
              .direct("32"))));
        } else {
          // if field is primitive:
          // ==> result = prime * result + field;
          tenaryCond = JExpr.ref(jFieldVar.name());
        }
      } else {
        // else:
        // ==> result = prime * result + ((field == null) ? 0 :
        tenaryCond = JOp.cond(JOp.eq(JExpr.ref(jFieldVar.name()), JExpr._null()), JExpr.ref("0"), JExpr.invoke(JExpr.ref(jFieldVar.name()),
            "hashCode"));
      }

      final JExpression hashCodeCollection = JOp.mul(vPrime, vResult);
      final JExpression addition = JOp.plus(hashCodeCollection, tenaryCond);

      // add each value that influence to the method
      hashCodeMethod.body().assign(vResult, addition);
    }

View Full Code Here

TOP

Related Classes of com.sun.codemodel.JExpression

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.