Package com.caucho.quercus.env

Examples of com.caucho.quercus.env.Var


      String staticName = _staticName;
     
      if (cls != null)
        staticName = cls.getName() + "::" + staticName;

      Var var = env.getStaticVar(staticName);
     
      env.setValue(_var.getName(), var);

      if (! var.isset() && _initValue != null)
        var.set(_initValue.eval(env));

    }
    catch (RuntimeException e) {
      rethrow(e, RuntimeException.class);
    }
View Full Code Here


    Value obj = env.getThis();

    if (obj.isNull()) {
      cannotUseThisError(env);
     
      return new Var();
    }
   
    return obj.getThisFieldVar(env, _name);
  }
View Full Code Here

   *
   * @return the expression value.
   */
  public Var evalVar(Env env)
  {
    Var value = getExpr().evalVar(env);

    // php/112d
    return value;
    /*
    if (value instanceof Var)
View Full Code Here

    if (_expr != null) {
      // php/0750
      return _expr.evalVar(env);
    }
    else {
      return new Var();
    }
  }
View Full Code Here

      if (_staticName == null)
        _staticName = env.createStaticName();

      StringValue staticName = _staticName;
     
      Var var = env.getStaticVar(staticName);

      env.setRef(_var.getName(), var);

      if (! var.isset() && _initValue != null)
        var.set(_initValue.eval(env));

    }
    catch (RuntimeException e) {
      rethrow(e, RuntimeException.class);
    }
View Full Code Here

      }
      else {
        // php/0d04
        values[i] = args[i].eval(env);

        Var var = values[i].toVar();

        map.put(arg.getName(), new EnvVarImpl(var));

        values[i] = var.toValue();
      }
    }

    for (int i = args.length; i < _args.length; i++) {
      Arg arg = _args[i];

      Expr defaultExpr = arg.getDefault();

      if (defaultExpr == null)
        return env.error("expected default expression");
      else if (arg.isReference())
        map.put(arg.getName(),
                new EnvVarImpl(defaultExpr.evalVar(env).toVar()));
      else {
        map.put(arg.getName(),
                new EnvVarImpl(defaultExpr.eval(env).copy().toVar()));
      }
    }

    Map<StringValue,EnvVar> oldMap = env.pushEnv(map);
    Value []oldArgs = env.setFunctionArgs(values); // php/0476
    Value oldThis;

    if (isStatic()) {
      // php/0967
      oldThis = env.setThis(env.getCallingClass());
    }
    else
      oldThis = env.getThis();

    try {
      Value value = _statement.execute(env);

      if (value != null)
        return value;
      else if (_info.isReturnsReference())
        return new Var();
      else
        return NullValue.NULL;
      /*
      else if (_isReturnsReference && isRef)
        return value;
View Full Code Here

      else if (arg.isReference()) {
        map.put(arg.getName(), new EnvVarImpl(args[i].toLocalVarDeclAsRef()));
      }
      else {
        // XXX: php/1708, toVar() may be doing another copy()
        Var var = args[i].toLocalVar();

        if (arg.getExpectedClass() != null
            && arg.getDefault() instanceof ParamRequiredExpr) {
          env.checkTypeHint(var,
                            arg.getExpectedClass(),
                            arg.getName().toString(),
                            getName());
        }
   
        // quercus/0d04
        map.put(arg.getName(), new EnvVarImpl(var));
      }
    }

    for (int i = args.length; i < _args.length; i++) {
      Arg arg = _args[i];

      Expr defaultExpr = arg.getDefault();

      if (defaultExpr == null)
        return env.error("expected default expression");
      else if (arg.isReference())
        map.put(arg.getName(), new EnvVarImpl(defaultExpr.evalVar(env).toVar()));
      else {
        map.put(arg.getName(), new EnvVarImpl(defaultExpr.eval(env).toLocalVar()));
      }
    }

    Map<StringValue,EnvVar> oldMap = env.pushEnv(map);
    Value []oldArgs = env.setFunctionArgs(args);
    Value oldThis;

    if (_info.isMethod()) {
      oldThis = env.getThis();
    }
    else {
      // php/0967, php/091i
      oldThis = env.setThis(NullThisValue.NULL);
    }

    try {
      Value value = _statement.execute(env);

      if (value == null) {
        if (_isReturnsReference)
          return new Var();
        else
          return NullValue.NULL;
      }
      else if (_isReturnsReference)
        return value;
View Full Code Here

      QuercusClass qClass = qThis.getQuercusClass();
      String className = qClass.getName();
     
      // Var var = qClass.getStaticFieldVar(env, env.createString(staticName));
      // Var var = qClass.getStaticFieldVar(env, staticName);
      Var var = env.getStaticVar(env.createString(className + "::" + staticName));
     
      env.setVar(_var.getName(), var);

      if (! var.isset() && _initValue != null)
        var.set(_initValue.eval(env));

    }
    catch (RuntimeException e) {
      rethrow(e, RuntimeException.class);
    }
View Full Code Here

      }
      else {
        // php/0d04
        values[i] = args[i].eval(env);

        Var var = values[i].toVar();

        map.put(arg.getName(), new EnvVarImpl(var));

        values[i] = var.toValue();
      }
    }

    for (int i = args.length; i < _args.length; i++) {
      Arg arg = _args[i];
View Full Code Here

      }
      else if (arg.isReference()) {
        map.put(arg.getName(), new EnvVarImpl(args[i].toRefVar()));
      }
      else {
        Var var = args[i].copy().toVar();

        if (arg.getExpectedClass() != null
            && arg.getDefault() instanceof RequiredExpr) {
          env.checkTypeHint(var,
                            arg.getExpectedClass(),
View Full Code Here

TOP

Related Classes of com.caucho.quercus.env.Var

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.