Package org.eclipse.imp.pdb.facts

Examples of org.eclipse.imp.pdb.facts.IConstructor.asWithKeywordParameters()


  private IValue traverseADTOnce(IValue subject, CaseBlockList casesOrRules,
      DIRECTION direction, PROGRESS progress, FIXEDPOINT fixedpoint, TraverseResult tr) {
    IConstructor cons = (IConstructor)subject;
   
    Map<String, IValue> kwParams = null;
    if (cons.mayHaveKeywordParameters() && cons.asWithKeywordParameters().hasParameters()) {
      kwParams = new HashMap<>();
    }
    if (cons.arity() == 0 && kwParams == null) {
      return subject; // constants have no children to traverse into
    }
View Full Code Here


        args[i] = traverseOnce(child, casesOrRules, direction, progress, fixedpoint, tr);
        hasChanged |= tr.changed;
        hasMatched |= tr.matched;
      }
      if (kwParams != null) {
        IWithKeywordParameters<? extends INode> consKw = cons.asWithKeywordParameters();
        for (String kwName : consKw.getParameterNames()) {
          IValue val = consKw.getParameter(kwName);
          tr.changed = false;
          tr.matched = false;
          IValue newVal = traverseOnce(val, casesOrRules, direction, progress, fixedpoint, tr);
View Full Code Here

              node.getKeywordParameterType(label))) {
            throw new UnexpectedType(node.getKeywordParameterType(label),
                __eval.__getValue().getType(), this);
          }

          __eval.__setValue(__eval.newResult(cons.asWithKeywordParameters().getParameter(label), __eval.__getValue()));

          IValue result = cons.asWithKeywordParameters().setParameter(label,  __eval.__getValue().getValue());
          return __eval.recur(this,
              org.rascalmpl.interpreter.result.ResultFactory
              .makeResult(receiver.getType(), result, __eval
View Full Code Here

                __eval.__getValue().getType(), this);
          }

          __eval.__setValue(__eval.newResult(cons.asWithKeywordParameters().getParameter(label), __eval.__getValue()));

          IValue result = cons.asWithKeywordParameters().setParameter(label,  __eval.__getValue().getValue());
          return __eval.recur(this,
              org.rascalmpl.interpreter.result.ResultFactory
              .makeResult(receiver.getType(), result, __eval
                  .__getEval()));
        }
View Full Code Here

              .noSuchField(label, this, __eval.getStackTrace());
        }

        if (node.hasKeywordParameter(label)) {
          return ResultFactory
              .makeResult(node.getKeywordParameterType(label), cons.asWithKeywordParameters().getParameter(label)
                  ,__eval);
        }
        else {
          int index = node.getFieldIndex(label);
          return ResultFactory
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.