Package org.eclipse.imp.pdb.facts

Examples of org.eclipse.imp.pdb.facts.INode.arity()


    out.beginArray();
    out.value("node");
    out.beginArray();
    INode n = (INode) value;
    out.value(n.getName());
    out.value(n.arity());
    out.beginArray();
    for (IValue v : n.getChildren()) {
      write(out, v);
    }
    out.endArray();
View Full Code Here


    if (subjectType.isAbstractData()) {
      subjectType = ((IConstructor) this.subject).getConstructorType();
    }

    INode node = ((INode) this.subject);
    if (node.arity() != patternChildren.size()) {
      return; // that can never match
    }

    if (patternType.comparable(subjectType)) {
      hasNext = true;
View Full Code Here

    }
   
    // if the names are not ordered, then we order lexicographically on the arguments:
   
    int leftArity = left.arity();
    int rightArity = right.arity();
   
    if (leftArity < rightArity) {
      return new LessThanOrEqualResult(true, false, ctx);
    }
   
View Full Code Here

  private IValue traverseNodeOnce(IValue subject, CaseBlockList casesOrRules,
      DIRECTION direction, PROGRESS progress, FIXEDPOINT fixedpoint, TraverseResult tr) {
    IValue result;
    INode node = (INode)subject;
    if (node.arity() == 0 && !(node.mayHaveKeywordParameters() && node.asWithKeywordParameters().hasParameters()) ){
      result = subject;
    }
    else {
      IValue args[] = new IValue[node.arity()];
      Map<String, IValue> kwParams = null;
View Full Code Here

    INode node = (INode)subject;
    if (node.arity() == 0 && !(node.mayHaveKeywordParameters() && node.asWithKeywordParameters().hasParameters()) ){
      result = subject;
    }
    else {
      IValue args[] = new IValue[node.arity()];
      Map<String, IValue> kwParams = null;
      if (node.mayHaveKeywordParameters() && node.asWithKeywordParameters().hasParameters()) {
        kwParams = new HashMap<>();
      }
      boolean hasChanged = false;
View Full Code Here

        kwParams = new HashMap<>();
      }
      boolean hasChanged = false;
      boolean hasMatched = false;
     
      for (int i = 0; i < node.arity(); i++){
        IValue child = node.get(i);
        tr.changed = false;
        tr.matched = false;
        args[i] = traverseOnce(child, casesOrRules, direction, progress, fixedpoint, tr);
        hasChanged |= tr.changed;
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.