Package railo.transformer.bytecode.expression.var

Examples of railo.transformer.bytecode.expression.var.Variable


      if(d==null) throw cacheWithinException();
      return TimeSpanImpl.fromDays(d.doubleValue()).getMillis();
    }
    // createTimespan
    else if(val instanceof Variable) {
      Variable var=(Variable)val;
      if(var.getMembers().size()==1) {
        Member first = var.getFirstMember();
        if(first instanceof BIF) {
          BIF bif=(BIF) first;
          if("createTimeSpan".equalsIgnoreCase(bif.getFlf().getName())) {
            Argument[] args = bif.getArguments();
            int len=ArrayUtil.size(args);
View Full Code Here


    }
    else throw new BytecodeException("type from catch statement is invalid",type.getStart());
   
    // name
    if(name instanceof LitString){
      Variable v = new Variable(Scope.SCOPE_UNDEFINED,name.getStart(),name.getEnd());
      v.addMember(new DataMember(name));
      name=new VariableRef(v);
    }
    else if(name instanceof Variable) name=new VariableRef((Variable) name);
    else throw new BytecodeException("name from catch statement is invalid",name.getStart());
   
View Full Code Here

      expr = OpString.toExprString(expr, new LitString(str.toString(),line,data.cfml.getPosition()));
    }
        comments(data);
       
        if(expr instanceof Variable) {
          Variable var=(Variable) expr;
          var.setFromHash(true);
        }
       
    return expr;
   
  }
View Full Code Here

            comments(data);
            return expr;//subDynamic(expr);
           
    }
     
    Variable var;
        comments(data);
   
    // Boolean constant
    if(id.getString().equalsIgnoreCase("TRUE"))  {// || name.equals("YES"))  {
      comments(data);
      return new LitBoolean(true,line,data.cfml.getPosition());
    }
    else if(id.getString().equalsIgnoreCase("FALSE"))  {// || name.equals("NO"))  {
      comments(data);
      return new LitBoolean(false,line,data.cfml.getPosition());
    }
    else if(NullSupportHelper.full() && id.getString().equalsIgnoreCase("NULL"))  {
      comments(data);
      return new Null(line,data.cfml.getPosition());
    }
   
    // Extract Scope from the Variable
    //int c=data.cfml.getColumn();
    Position l=data.cfml.getPosition();
    var = startElement(data,id,line);
    var.setStart(l);
    var.setEnd(data.cfml.getPosition());
    return var;
  }
View Full Code Here

    comments(data);
     
    if (!data.cfml.forwardIfCurrent(end))
      throw new TemplateException(data.cfml,"Invalid Syntax Closing ["+end+"] not found");
    comments(data);
    Variable var=new Variable(line,data.cfml.getPosition());
    var.addMember(bif);
    return var;
  }
View Full Code Here

    return expr; 
  }
 
  private Expression newOp(ExprData data,Expression expr) throws TemplateException {
    if(!(expr instanceof Variable)) return expr;
    Variable var=(Variable) expr;
    Member m= var.getFirstMember();
    if(!(m instanceof DataMember)) return expr;
   
    ExprString n = ((DataMember)m).getName();
    if(!(n instanceof LitString)) return expr;
   
    LitString ls=(LitString) n;
   
   
    if(!"new".equalsIgnoreCase(ls.getString())) return expr;
   
    int start=data.cfml.getPos();
      String name=null;
     
     
      // first identifier
      name = identifier(data,true);
     
   
    ExprString exprName;
    if(name!=null)  {
      StringBuilder fullName=new StringBuilder();
      fullName.append(name);
      // Loop over addional identifier
      while (data.cfml.isValidIndex()) {
        if (data.cfml.forwardIfCurrent('.')) {
          comments(data);
                  name = identifier(data,true);
          if(name==null) {
            data.cfml.setPos(start);
            return expr;//throw new TemplateException(data.cfml,"invalid Component declaration ");
          }
          fullName.append('.');
          fullName.append(name);
          comments(data);
        }
        else break;
      }
     
      exprName=LitString.toExprString(fullName.toString());
    }
    else {
     
      Expression str=string(data);
      if(str!=null){
        exprName=CastString.toExprString(str);
      }
      else {
        data.cfml.setPos(start);
        return expr;
      }
    }

        comments(data);
       
        if (data.cfml.isCurrent('(')) {
      FunctionMember func = getFunctionMember(data,Identifier.toIdentifier("_createComponent",Identifier.CASE_ORIGNAL,null,null), true);
      func.addArgument(new Argument(exprName,"string"));
      Variable v=new Variable(expr.getStart(),expr.getEnd());
      v.addMember(func);
            comments(data);
      return v;
    }
        data.cfml.setPos(start);
        return expr;//throw new TemplateException(data.cfml,"invalid Component declaration ");
View Full Code Here

   
    // check function
    if (data.cfml.isCurrent('(')) {
      FunctionMember func = getFunctionMember(data,name, true);
     
      Variable var=new Variable(line,data.cfml.getPosition());
      var.addMember(func);
            comments(data);
      return var;
    }
   
    //check scope
    Variable var = scope(data,name,line);
    if(var!=null) return var;
   
    // undefined variable
    var=new Variable(line,data.cfml.getPosition());
    var.addMember(new DataMember(name));

        comments(data);
    return var;
   
  }
View Full Code Here

   * @throws TemplateException
  */
  private Variable scope(ExprData data,Identifier id, Position line) throws TemplateException {
    String idStr=id.getUpper();
    if(data.ignoreScopes)return null;
    if (idStr.equals("CGI"))         return new Variable(Scope.SCOPE_CGI,line,data.cfml.getPosition());
    else if (idStr.equals("ARGUMENTS"))    return new Variable(Scope.SCOPE_ARGUMENTS,line,data.cfml.getPosition());
    else if (idStr.equals("REQUEST"))    return new Variable(Scope.SCOPE_REQUEST,line,data.cfml.getPosition());
    else if (idStr.equals("SESSION"))    return new Variable(Scope.SCOPE_SESSION,line,data.cfml.getPosition());
    else if (idStr.equals("APPLICATION"))  return new Variable(Scope.SCOPE_APPLICATION,line,data.cfml.getPosition());
    else if (idStr.equals("VARIABLES"))    return new Variable(Scope.SCOPE_VARIABLES,line,data.cfml.getPosition());
    else if (idStr.equals("FORM"))       return new Variable(Scope.SCOPE_FORM,line,data.cfml.getPosition());
    else if (idStr.equals("URL"))      return new Variable(Scope.SCOPE_URL,line,data.cfml.getPosition());
    else if (idStr.equals("SERVER"))     return new Variable(Scope.SCOPE_SERVER,line,data.cfml.getPosition());
    else if (idStr.equals("CLIENT"))    return new Variable(Scope.SCOPE_CLIENT,line,data.cfml.getPosition());
    else if (idStr.equals("COOKIE"))    return new Variable(Scope.SCOPE_COOKIE,line,data.cfml.getPosition());
    else if (idStr.equals("CLUSTER"))    return new Variable(Scope.SCOPE_CLUSTER,line,data.cfml.getPosition());
    else if (idStr.equals("LOCAL"))      return new Variable(Scope.SCOPE_LOCAL,line,data.cfml.getPosition());
    else if (idStr.equals("VAR")) {
      Identifier _id = identifier(data,false,true);
      if(_id!=null){
        comments(data);
        Variable local = new Variable(ScopeSupport.SCOPE_VAR,line,data.cfml.getPosition());
        if(!"LOCAL".equalsIgnoreCase(_id.getString()))local.addMember(new DataMember(_id));
        else {
          local.ignoredFirstMember(true);
        }
        return local;
      }
    }
    return null;
View Full Code Here

  static String variableToString(Tag tag, Attribute attrLabel, String defaultValue) {
    Expression value = attrLabel.getValue();
    while(value instanceof Cast) value=((Cast)value).getExpr();
    if(value instanceof Variable) {
      Variable var=(Variable)value;
      try {
        return VariableString.variableToString(var, true);
      } catch (Throwable t) {}
    }
    return defaultValue;
View Full Code Here

    ASMConstants.NULL(bc.getAdapter());
    return Types.OBJECT;
  }

  public Variable toVariable() {
    Variable v = new Variable(Scope.SCOPE_UNDEFINED,getStart(),getEnd());
    v.addMember(new DataMember(LitString.toExprString("null")));
    return v;
  }
View Full Code Here

TOP

Related Classes of railo.transformer.bytecode.expression.var.Variable

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.