Examples of IListWriter


Examples of org.eclipse.imp.pdb.facts.IListWriter

    }
    visited.put(obj, true);
   
    IConstructor result;
    if (obj instanceof Object[]) {
      IListWriter w = values.listWriter(Node);
      for (Object elt: (Object[])obj) {
        w.append(loadRec(elt, anchors, visited, ctx));
      }
      result = values.constructor(Node_sequence, w.done());
    }
    else if (obj instanceof List) {
      IListWriter w = values.listWriter(Node);
      for (Object elt: (List<Object>)obj) {
        w.append(loadRec(elt, anchors, visited, ctx));
      }
      result = values.constructor(Node_sequence, w.done());
    }
    else if (obj instanceof Map) {
      IMapWriter w = values.mapWriter(Node, Node);
      Map<Object, Object> m = (Map<Object,Object>)obj;
      for (Map.Entry<Object,Object> e: m.entrySet()) {
        w.put(loadRec(e.getKey(), anchors, visited, ctx), loadRec(e.getValue(), anchors, visited, ctx));
      }
      result = values.constructor(Node_mapping, w.done());
    }
    else {
      throw RuntimeExceptionFactory.illegalArgument(
          values.string(obj.toString() + " (class=" + obj.getClass() + ")"),
          ctx.getCurrentAST(), ctx.getStackTrace());
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

    }
    return res;
  }
 
  public void generate(){
    IListWriter w = codeblock.vf.listWriter();
    for(IValue vlabel : labels){
      String label = ((IString) vlabel).getValue();
      w.append(codeblock.vf.integer(codeblock.getLabelPC(label)));
    }
    codeblock.addCode1(opcode.getOpcode(), codeblock.getConstantIndex(w.done()));
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

    }
    return res;
  }
 
  public void generate(){
    IListWriter w = codeblock.vf.listWriter();
    for(IValue vlabel : labels){
      String label = ((IString) vlabel).getValue();
      w.append(codeblock.vf.integer(codeblock.getLabelPC(label)));
    }
    codeblock.addCode1(opcode.getOpcode(), codeblock.getConstantIndex(w.done()));
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

        /*
         * Execute as testsuite
         */
        rvm.executeProgram(uid_module_init, arguments);

        IListWriter w = vf.listWriter();
        for(String uid_testsuite: testsuites){
          IList test_results = (IList)rvm.executeProgram(uid_testsuite, arguments);
          w.insertAll(test_results);
        }
        result = w.done();
      } else {
        /*
         * Standard execution of main function
         */
        if((uid_main == null)) {
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

  public IList colorSteps(IInteger from, IInteger to, IInteger n) {
    int fromColor = from.intValue();
    int toColor = to.intValue();
    int max = n.intValue();
    IListWriter w = vf.listWriter(from.getType());
    for (int i = 0; i < max; i++) {
      // System.err.println("i = " + i + ": " + fromColor + " " + toColor
      // + " " + (1.0f * i)/max);
      w.append(vf.integer(myLerpColor(fromColor, toColor, (1.0f * i)
          / max)));
    }
    return w.done();
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

  /**
   * @return list of built-in color names
   */
  public IList colorNames() {
    TypeFactory types = TypeFactory.getInstance();
    IListWriter w = vf.listWriter(types.stringType());
    String strings[] = new String[colorNames.size()];
    Arrays.sort(colorNames.keySet().toArray(strings));
    for (String s : strings) {
      w.append(vf.string(s));
    }
    return w.done();
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

  public IValue visitInteger(Type type) {
    return vf.integer(stRandom.nextInt());
  }
 
  private IValue genList(Type type){
    IListWriter writer = vf.listWriter(); // type.writer(vf);

    if (maxDepth <= 0 || (stRandom.nextInt(2) == 0)) {
      return writer.done();
    } else {
      RandomValueTypeVisitor visitor = descend();
      IValue element = visitor.generate(type.getElementType());
      if (element != null) {
        writer.append(element);
      }
      writer.appendAll((IList) visitor.generate(type));
      return writer.done();
    }
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

        @Override
        public IConstructor visitTreeAppl(IConstructor tree)  {
          String cons = TreeAdapter.getConstructorName(tree);
          if (cons == null || !cons.equals("$MetaHole") ) {
            IListWriter w = vf.listWriter();
            IList args = TreeAdapter.getArgs(tree);
            for (IValue elem : args) {
              w.append(elem.accept(this));
            }
            args = w.done();

            return TreeAdapter.setArgs(tree, args);
          }

          IConstructor type = retrieveHoleType(tree);
          return antiquotes.get(TreeAdapter.yield(tree)).asAnnotatable().setAnnotation("holeType", type);
        }

        private IConstructor retrieveHoleType(IConstructor tree) {
          IConstructor prod = TreeAdapter.getProduction(tree);
          ISet attrs = ProductionAdapter.getAttributes(prod);

          for (IValue attr : attrs) {
            if (((IConstructor) attr).getConstructorType() == Factory.Attr_Tag) {
              IValue arg = ((IConstructor) attr).get(0);

              if (arg.getType().isNode() && ((INode) arg).getName().equals("holeType")) {
                return (IConstructor) ((INode) arg).get(0);
              }
            }
          }

          throw new CompilerError("expected to find a holeType, but did not: " + tree);
        }

        @Override
        public IConstructor visitTreeAmb(IConstructor arg)  {
          ISetWriter w = vf.setWriter();
          for (IValue elem : TreeAdapter.getAlternatives(arg)) {
            w.insert(elem.accept(this));
          }
          return arg.set("alternatives", w.done());
        }
      });
    }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

    return result;
  }

  private IValue readList(List<?> o, Set<Class<?>> includes, Map<Object, IValue> cache, Stack<Object> stack) {
    IValue result;
    IListWriter w = vf.listWriter();

    for (Object e : o) {
      IValue elem = readObject(e, includes, cache, stack);

      if (elem != null) {
        w.insert(elem);
      }
    }

    result = w.done();
    return result;
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IListWriter

    return result;
  }

  private IValue readArray(Object[] o, Set<Class<?>> includes, Map<Object, IValue> cache, Stack<Object> stack) {
    IValue result;
    IListWriter w = vf.listWriter();
    for (Object e : o) {
      IValue elem = readObject(e, includes, cache, stack);

      if (elem != null) {
        w.insert(elem);
      }
    }

    result = w.done();
    return result;
  }
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.