Examples of JimpleExpr


Examples of org.renjin.gcc.jimple.JimpleExpr

  }

  @Override
  public JimpleExpr translateToPrimitive(FunctionContext context, ImPrimitiveType type) {
    if(instanceName == null) {
      return new JimpleExpr(fieldSignature());
    } else {
      return new JimpleExpr(instanceName + "." + fieldSignature());
    }
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

  }

  @Override
  public void writeAssignment(FunctionContext context, ImExpr rhs) {

    JimpleExpr rhsExpr = rhs.translateToPrimitive(context, memberType);
    String lhs;
    if(instanceName == null) {
      lhs = fieldSignature();
    } else {
      lhs = instanceName + "." + fieldSignature();
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

  public ImType type() {
    return memberType;
  }

  private JimpleExpr fieldRef() {
    return new JimpleExpr(String.format("<%s: %s %s>",
        declaringClass, memberType.jimpleType().toString(), member));
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

 
  private JimpleExpr memberExpr(JimpleType memberType, String name) {
    String signature = String.format("<%s: %s %s>", declaringClass, memberType, name);

    if(instanceName == null) {
      return new JimpleExpr(signature);
    } else {
      return new JimpleExpr(instanceName + "." + signature);
    }
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

    if(simple) {
      return expr;
    } else {
      String tmp = context.declareTemp(type);
      context.getBuilder().addStatement(tmp + " = " + expr);
      return new JimpleExpr(tmp);
    }
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

  }

  @Override
  public JimpleExpr translateToObjectReference(FunctionContext context, JimpleType className) {
    if(isNull()) {
      return new JimpleExpr("null");
    }
    return super.translateToObjectReference(context, className);
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

      context.getBuilder().addStatement(stringTmp + " = " +
          JimpleExpr.stringLiteral(constant.getValue()));
      context.getBuilder().addStatement(arrayTmp + " = virtualinvoke " +
              stringTmp + ".<java.lang.String: char[] toCharArray()>()");
     
      JimpleExpr indexExpr;
      if(startIndex == null) {
        indexExpr = JimpleExpr.integerConstant(constant.getType().getLbound());       
      } else {
        indexExpr = subtractLowerBound(context, startIndex);
      }

      return new ArrayRef(new JimpleExpr(arrayTmp), indexExpr);
    }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

  @Override
  public ArrayRef translateToArrayRef(FunctionContext context) {
    String arrayExpr = context.declareTemp(type.getArrayType());
    context.getBuilder().addAssignment(arrayExpr,
        new JimpleExpr(String.format("newarray (%s)[%s]", type.baseType().asJimple(), elementCountExpr)));

    return new ArrayRef(arrayExpr, 0);
  }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

    public JimpleExpr invokerReference(FunctionContext context) {
      JimpleType invokerType = context.getTranslationContext().getInvokerType(getMethodRef());
      String ptr = context.declareTemp(invokerType);
      context.getBuilder().addStatement(ptr + " = new " + invokerType);
      context.getBuilder().addStatement("specialinvoke " + ptr + ".<" + invokerType + ": void <init>()>()");
      return new JimpleExpr(ptr);
    }
View Full Code Here

Examples of org.renjin.gcc.jimple.JimpleExpr

    this.arrayExpr = arrayExpr;
    this.indexExpr = indexExpr;
  }

  public ArrayRef(String jimpleName, int offset) {
    this.arrayExpr = new JimpleExpr(jimpleName);
    this.indexExpr = JimpleExpr.integerConstant(offset);
  }
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.