Examples of ParametricVariable


Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

            this._bodyExpression = (XQExpression) in.readObject();
        }
        final int numParams = in.readInt();
        final ArrayList<ParametricVariable> params = new ArrayList<ParametricVariable>(numParams);
        for(int i = 0; i < numParams; i++) {
            ParametricVariable pv = (ParametricVariable) in.readObject();
            params.add(pv);
        }
        this._parameters = params;
        this._isExternal = in.readBoolean();
        final int numSigns = in.readInt();
View Full Code Here

Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

            // and must care about parameters reference.           
            UserFunction newuf = ObjectUtils.deepCopy(func);
            List<ParametricVariable> newParams = newuf.getParameters();
            final int psize = newParams.size();
            for(int i = 0; i < psize; i++) {
                ParametricVariable p = newParams.get(i);
                Type implicitParamType = p.getType();
                XQExpression arg = argv.get(i);
                Type argType = arg.getType();
                if(implicitParamType != Untyped.UNTYPED && !implicitParamType.accepts(argType)) {
                    // type promotion is required for arguments
                    p.setValue(new TypePromotedExpr(arg, implicitParamType));
                } else {
                    p.setValue(arg);
                }
            }
            XQExpression newbody = newuf.getBodyExpression();
            statEnv.setFunctionManager(funcMgr);
            if(LOG.isDebugEnabled()) {
View Full Code Here

Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

        int paramArity = _params.size();
        int argArity = params.size();
        assert (paramArity == argArity);
        FunctionCallContext recEnv = new FunctionCallContext(dynEnv);
        for(int i = 0; i < paramArity; i++) {
            ParametricVariable paramVar = params.get(i);
            XQExpression argExpr = _params.get(i);
            Sequence argValue = argExpr.eval(contextSeq, dynEnv);
            paramVar.allocateResult(argValue, recEnv);
        }
        Sequence<? extends Item> result = uf.eval(contextSeq, ValueSequence.EMPTY_SEQUENCE, recEnv);
        if(LOG.isDebugEnabled()) {
            LOG.debug("Invoke RecursiveCall: " + QNameUtil.toLexicalForm(getFuncName()));
        }
View Full Code Here

Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

        int paramArity = _params.size();
        int argArity = params.size();
        assert (paramArity == argArity);
        FunctionCallContext recEnv = new FunctionCallContext(dynEnv);
        for(int i = 0; i < paramArity; i++) {
            ParametricVariable paramVar = params.get(i);
            XQExpression argExpr = _params.get(i);
            paramVar.setValue(argExpr); // for the static analzing
            Sequence argValue = argExpr.eval(contextSeq, dynEnv);
            paramVar.allocateResult(argValue, recEnv);
        }
        XQExpression body = udf.getBodyExpression();
        // lazy function may not be analyzed TODO REVIEWME
        XQExpression analyzed = body.staticAnalysis(dynEnv.getStaticContext());
        if(LOG.isDebugEnabled()) {
View Full Code Here

Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

    [110] TypeDeclaration ::= "as" SequenceType
    ************************************************************************/
    final public List<ParametricVariable> parseParamList() throws ParseException, XQueryException {
        final List<ParametricVariable> paramList = new LinkedList<ParametricVariable>();
        QualifiedName paramName;
        ParametricVariable param;
        Type paramType = null;
        currentToken = jj_consume_token(VariableIndicator);
        currentToken = jj_consume_token(VarName);
        paramName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
        param = new ParametricVariable(paramName);
        currentModule.putVariable(paramName, param);
        switch(jj_nt.kind) {
            case As:
                currentToken = jj_consume_token(As);
                paramType = parseSequenceType();
                param.setType(paramType);
                break;
            default:
                jj_la1[27] = jj_gen;
                ;
        }
        paramList.add(param);
        label_5: while(true) {
            switch(jj_nt.kind) {
                case Comma:
                    ;
                    break;
                default:
                    jj_la1[28] = jj_gen;
                    break label_5;
            }
            currentToken = jj_consume_token(Comma);
            currentToken = jj_consume_token(VariableIndicator);
            currentToken = jj_consume_token(VarName);
            paramName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
            param = new ParametricVariable(paramName);
            currentModule.putVariable(paramName, param);
            switch(jj_nt.kind) {
                case As:
                    currentToken = jj_consume_token(As);
                    paramType = parseSequenceType();
                    param.setType(paramType);
                    break;
                default:
                    jj_la1[29] = jj_gen;
                    ;
            }
View Full Code Here

Examples of xbird.xquery.expr.var.BindingVariable.ParametricVariable

     [110] TypeDeclaration ::= "as" SequenceType
     ************************************************************************/
    final public List<ParametricVariable> parseParamList() throws ParseException, XQueryException {
        final List<ParametricVariable> paramList = new LinkedList<ParametricVariable>();
        QualifiedName paramName;
        ParametricVariable param;
        Type paramType = null;
        currentToken = jj_consume_token(VariableIndicator);
        currentToken = jj_consume_token(VarName);
        paramName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
        param = new ParametricVariable(paramName);
        currentModule.putVariable(paramName, param);
        switch(jj_nt.kind) {
            case As:
                currentToken = jj_consume_token(As);
                paramType = parseSequenceType();
                param.setType(paramType);
                break;
            default:
                jj_la1[27] = jj_gen;
                ;
        }
        paramList.add(param);
        label_5: while(true) {
            switch(jj_nt.kind) {
                case Comma:
                    ;
                    break;
                default:
                    jj_la1[28] = jj_gen;
                    break label_5;
            }
            currentToken = jj_consume_token(Comma);
            currentToken = jj_consume_token(VariableIndicator);
            currentToken = jj_consume_token(VarName);
            paramName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
            param = new ParametricVariable(paramName);
            currentModule.putVariable(paramName, param);
            switch(jj_nt.kind) {
                case As:
                    currentToken = jj_consume_token(As);
                    paramType = parseSequenceType();
                    param.setType(paramType);
                    break;
                default:
                    jj_la1[29] = jj_gen;
                    ;
            }
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.