Package railo.runtime.interpreter.ref

Examples of railo.runtime.interpreter.ref.Ref


    if(JSON_STRUCT==null)JSON_STRUCT=fld.getFunction("_jsonStruct");
        isJson=this instanceof JSONExpressionInterpreter;
       
   
        cfml.removeSpace();
        Ref ref = assignOp();
        cfml.removeSpace();
       
        if(cfml.isAfterLast()) {
          //data.put(str+":"+preciseMath,ref);
            return ref.getValue(pc);
        }
        throw new InterpreterException("Syntax Error, invalid Expression ["+cfml.toString()+"]");
    }
View Full Code Here


    * <code>assignOp [":" spaces assignOp];</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref functionArgDeclaration() throws PageException {
        Ref ref = impOp();
        if (cfml.forwardIfCurrent(':') || cfml.forwardIfCurrent('=')) {
            cfml.removeSpace();
            ref=new LFunctionValue(ref,assignOp());
        }
        return ref;
View Full Code Here

    * <code>eqvOp ["=" spaces assignOp];</code>
    * @return CFXD Element
    * @throws PageException
    */
    protected Ref assignOp() throws PageException {
        Ref ref = contOp();

        if (cfml.forwardIfCurrent('=')) {
            cfml.removeSpace();
            if(mode==STATIC || ref instanceof Literal) {
                ref=new DynAssign(ref,assignOp());
View Full Code Here

        return ref;
    }
   

    private Ref contOp() throws PageException {
        Ref ref = impOp();
        while(cfml.forwardIfCurrent('?')) {
            cfml.removeSpace();
            if(cfml.forwardIfCurrent(':')){
              cfml.removeSpace();
              Ref right = assignOp();   
              //if(!(ref instanceof Variable))
            //  throw new InterpreterException("left operant of the Elvis operator has to be a variable declaration "+ref.getClass().getName());
           
            ref=new Elvis(ref,right);
             
            }
            else {
              Ref left = assignOp();           
              if(!cfml.forwardIfCurrent(':'))
                throw new InterpreterException("Syntax Error, invalid conditional operator ["+cfml.toString()+"]");
              cfml.removeSpace();
              Ref right = assignOp();
              ref=new Cont(ref,left,right);
            }
        }
        return ref;
    }
View Full Code Here

    * <code>eqvOp {"imp" spaces eqvOp};</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref impOp() throws PageException {
        Ref ref = eqvOp();
        while(cfml.forwardIfCurrentAndNoWordAfter("imp")) {
            cfml.removeSpace();
            ref=new Imp(ref,eqvOp());
        }
        return ref;
View Full Code Here

    * <code>xorOp {"eqv" spaces xorOp};</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref eqvOp() throws PageException {
        Ref ref = xorOp();
        while(cfml.forwardIfCurrent("eqv")) {
            cfml.removeSpace();
            ref=new EQV(ref,xorOp());
        }
        return ref;
View Full Code Here

    * <code>orOp {"xor" spaces  orOp};</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref xorOp() throws PageException {
        Ref ref = orOp();
        while(cfml.forwardIfCurrent("xor")) {
            cfml.removeSpace();
            ref=new Xor(ref,orOp());
        }
        return ref;
View Full Code Here

    * <code>andOp {("or" | "||") spaces andOp}; (* "||" Existiert in CFMX nicht *)</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref orOp() throws PageException {
        Ref ref = andOp();
        while(cfml.isValidIndex() && (cfml.forwardIfCurrent("||") || cfml.forwardIfCurrent("or"))) {
            cfml.removeSpace();
            ref=new Or(ref,andOp());
        }
        return ref;
View Full Code Here

    * <code>notOp {("and" | "&&") spaces notOp}; (* "&&" Existiert in CFMX nicht *)</code>
    * @return CFXD Element
    * @throws PageException
    */
    private Ref andOp() throws PageException {
        Ref ref = notOp();
        while(cfml.isValidIndex() && (cfml.forwardIfCurrent("&&") || cfml.forwardIfCurrent("and"))) {
            cfml.removeSpace();
            ref=new And(ref,notOp());
        }
        return ref;
View Full Code Here

    * @return CFXD Element
    * @throws PageException
    */
    private Ref decsionOp() throws PageException {

        Ref ref = concatOp();
        boolean hasChanged=false;
        // ct, contains
        if(cfml.isValidIndex()){
            do {
                hasChanged=false;
View Full Code Here

TOP

Related Classes of railo.runtime.interpreter.ref.Ref

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.